One of the common tools that PostgreSQL users end up having to work with is psql. It’s a core client product that ships with postgres and for the most part it gets the job done and done well. In th...
Getting a User's Table Privileges in PostgreSQL
When working with postgreSQL (or any database management system, for that matter) oftentimes you want to see which tables a user has access to, and what they can do with those tables. One of the wa...
Troubleshooting the OpenTelemetry Target Allocator
In a recent blog post I talked about how OpenTelemetry uses the target allocator to generate Prometheus config to know what targets to scrape. But… what happens when it doesn’t seem to be working? ...
Ingest Prometheus Metrics with OpenTelemetry
OpenTelemetry has become the gold standard of cloud-native observability. It is the platform that handles the three observability signals: Traces, metrics, and logs. Metrics are an especially inter...
Peeling Back the Layers of the Code Review Onion
Writing code is difficult. But reviewing code can be a whole other level of challenging. 😱 Reading code that you didn’t write is already tough (e.g. being introduced into a new-to-you codebase tha...
12 Tips for Effective Technical Blogging
Technical blogging is something I’ve been doing for a long time. This blog, alone, goes back 7 years but I had a few other blogs on different platforms. In this post, I want to highlight a handful ...
When and How to Use Helm and Kustomize Together
I see this question asked all the time: Should I use Helm or Kustomize? There are definitely times when you will just want to use Helm charts. And likewise, there are times when you will want...
Kubernetes Taints, Tolerations, and Understanding the PreferNoSchedule Effect
Within a Kubernetes cluster, it is common to want to stop pods from being scheduled on a node, or even terminated if they are already scheduled. These are referred to as taints (on the node) and to...
List Prometheus Scraping Targets
When working with Prometheus, oftentimes you’re dealing with dynamic targets. The most common example of that is Kubernetes targets with the kubernetes_sd_config configuration. Even if your Prometh...
Troubleshooting Error 'Jwt issuer is not configured' in Istio and Envoy
Recently I was troubleshooting the following error: Jwt issuer is not configured I had created the following RequestAuthentication resource prior to this: apiVersion: security.istio.io/v1bet...