-
Why I Returned to Amber
Hello Amber, Bye Amber I switched to Amber Electric as one of the early adopters in April, 2021, because I had my PowerWall 2 installed a few months earlier and was eager to see how using more renewable energy could save me some money, and reduce my carbon footprint too – something I seemed to…
-
How to Provision Google Log-Based Metrics with Terraform and YAML
TL; DR: here are my notes on provisioning Google log-based metrics using Terraform and YAML. The metrics are defined in YAML in a clean fashion and they will be created via terraform apply The HCL part for Terraform Ref.1, https://cloud.google.com/logging/docs/logs-based-metrics2, https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/logging_metric 🙂
-
Indexes for Structured Logs in Google Cloud
TL; DR: Google Cloud accepts structured logs ingested from different sources but will not index fields automatically. So by default the ingested jsonPayload will not be optimised for query. Here’s how to add indexes to it using Terraform. 🙂
-
How to Prune Only Selected Fields in Jsonnet
In Jsonnet’s standard libraries, there’s an std.prune function which will recursively go through an object and remove any empty field in the object which is quite handy, usually. In my case I wanted to prune all empty fields in a container object but spare the legit empty emptyDir field so the std.prune may cause some…
-
My New Favourite Editor is Neither VS Code Nor Atom
I used to use Atom as my main editor but it somehow lost its popularity and withered sadly. Then I switched to VS Code which is also Electron based and similar to Atom in some ways. VSC was great until recently I heard about Zed, which I immediately felt excited about it, for a few…
-
How to Do Kubernetes Cronjobs with Sidecars Properly in 2024
TL; DR: Since Kubernetes v1.28, there’s no need to do fancy bash scripts to kill your sidecar when the main container finishes. So using sidecars in Kubernetes Jobs or Cronjobs are now much simpler and more elegant too. For example, I wanted to run a database backup job in a GKE + Cloud SQL environment,…
-
Solved: Google Managed Prometheus Kept Crashing
Context: I use Google Cloud Managed Service for Prometheus(GMP I call it for convenience) as the central piece of my observability stack. In a nut shell it’s Prometheus managed by Google. GMP runs a collector Prometheus pod in each node, as a DaemonSet. The collector Prometheus scrapes metrics within the node and forwards them to…
-
Coloured Diff With Python
TL; DR: my simple Python code to output a result of text comparison in git-diff style Here’s the code snippet in Python. 🙂