Bare-Metal Kubernetes Cluster on Hetzner

Fully set up a single-node vanilla Kubernetes cluster on a Hetzner dedicated server from the ground up — networking, storage, and ingress configured by hand rather than through a managed offering.

Kubernetes Hetzner Linux Networking

Infrastructure as Code with Terraform & Ansible

Automated the entire server and cluster provisioning process — Terraform handles the Hetzner infrastructure, Ansible bootstraps the OS and installs Kubernetes, turning a rebuild from scratch into a single repeatable run.

Terraform Ansible IaC Automation

GitOps CI/CD Pipeline

Built an automated build-and-deploy pipeline with GitHub Actions for application images, paired with a GitOps workflow that reconciles cluster and infrastructure state straight from Git.

GitHub Actions GitOps ArgoCD CI/CD

Full-Stack Cluster Observability

Set up end-to-end monitoring for the cluster with Grafana dashboards and Loki for logs, Alertmanager for routing alerts, and PagerDuty for on-call notification when something breaks.

Grafana Loki Alertmanager PagerDuty Monitoring

More on GitHub →