Current Build: Homelab/Proxmox/KubeCraft Built a 3-node high-availability Kubernetes cluster on a self-assembled Proxmox homelab — from bare-metal hardware and VLAN-segmented networking up through orchestration and GitOps. The cluster runs k3s with an embedded etcd datastore across three control planes for quorum-based resilience, Cilium as the CNI for pod networking and network policy, and sits behind an OPNsense firewall on an isolated, segmented network. Application delivery is fully GitOps-driven with Flux — the cluster's desired state lives in Git and reconciles automatically. Using Flux's Helm controller, I deployed the kube-prometheus stack as a HelmRelease, giving the environment real observability through Prometheus and Grafana. Getting here meant hands-on work across the full stack: hardware installation and 2.5GbE networking, Proxmox virtualization, Docker, and deep Linux administration — including building an Arch Linux system from scratch with full-disk encryption and manually configured services. The build is part of KubeCraft, a Kubernetes-focused DevOps and cloud-engineering program. Next up: MetalLB for bare-metal load balancing and Longhorn for distributed, replicated storage.
BackEnd FrontEnd Created a serverless resume website hosted on Azure Blob Storage, secured with custom domains for HTTPS. The site features a real-time visitor counter powered by an Azure Function App and CosmosDB Table, with infrastructure managed through Terraform. CI/CD pipelines using GitHub Actions automate deployments, and Azure Monitor and Application Insights provide observability for troubleshooting and performance tracking. Front end: JavaScript, Back End: Python
Creating this website has been a fulfilling journey of learning. It began with enhancing my Python skills, adopting Flask for its suitability for simple, static sites, and polishing my CSS and HTML knowledge for better visual appeal. I managed the code across Linux and Windows devices and host the site on Azure Web Apps in a Docker container. A CI/CD pipeline, triggered on push to the main branch, pushes the new image to Docker Registry, and then deploys to Azure.