worklog

Project log

A living record of infrastructure work, projects, and things I built or figured out.

Bootstrapping a GKE platform for shared GitLab CI runners

2025-05-01

How I set up a GKE cluster from scratch in europe-west3 to host shared GitLab CI/CD runners for the organization, including Workload Identity, Node Auto Provisioning, and IAP-based jump host access.

GKETerraformGCPWorkload IdentityGitLab CI

Migrating from managed node groups to Karpenter on EKS

2025-03-10

Replaced managed node groups with Karpenter for cost-driven autoscaling. Consolidation mode cut idle compute by ~30%.

AWS EKSKarpenterTerraformKubernetes

External Secrets Operator with GCP Secret Manager

2025-01-20

Wired External Secrets Operator to GCP Secret Manager using Workload Identity — no static keys, secrets sync on schedule.

External SecretsGCPWorkload IdentityKubernetes

Multi-tenant GitOps with FluxCD across shared clusters

2024-12-01

Structured Flux tenancy so each team owns their namespace resources while platform team retains cluster-scope control.

FluxCDGitOpsKubernetesGitLab CI

Long-term metrics storage with Thanos Sidecar

2024-09-15

Extended Prometheus retention from 2 weeks to 13 months by adding Thanos Sidecar, remote object storage, and a Thanos Query layer.

PrometheusThanosGCSGrafanaKubernetes

Internal Terraform module for opinionated EKS clusters

2024-06-01

Wrapped the upstream EKS module with org defaults — VPC layout, IRSA, Karpenter, add-ons — so teams provision clusters via a single module call.

TerraformAWS EKSKarpenterGitLab CI

Platform migration to GitOps with ArgoCD on AWS

2023-06-01

Moved a Kotlin microservices platform from script-driven deployments to ArgoCD, with Datadog for observability.

AWSArgoCDKotlinDatadog

Stabilizing Jenkins, then replacing it with GitLab CI

2022-10-01

Jenkins was flaky and nobody trusted it. I was one of the people who made it reliable again — and that foundation made it possible to migrate to GitLab CI without losing ground.

JenkinsGitLab CICI/CDAzureDocker

Azure infrastructure as code with Terraform and Ansible

2022-03-01

Provisioned Azure infrastructure for a connected vehicle data pipeline — AKS, Event Hubs, and VM-based workers managed via Terraform and Ansible.

AzureTerraformAnsibleJenkins

Observability stack rollout with kube-prometheus-stack

2021-06-01

Deployed kube-prometheus-stack across AKS clusters, built custom Grafana dashboards for application SLOs, and set up PagerDuty alerting.

PrometheusGrafanaKubernetesAzure

CI/CD pipeline for Java services on AWS

2019-01-15

Built the CI/CD pipeline for our microservices suite — Jenkins pipelines, Docker image builds, ECR push, and ECS blue/green deploys.

JavaSpring BootAWSDockerJenkins

Spring Boot microservices on AWS ECS

2018-08-01

Built and deployed Spring Boot microservices for a retail client on AWS ECS, moving from a monolith to domain-separated services.

JavaSpring BootAWSDocker

Real-time operations dashboard in React

2017-06-01

Built an internal ops dashboard for a logistics client — real-time fleet status, delivery metrics, and alert management in React backed by a Spring Boot API.

ReactJavaAWSDocker