DNS as Code with Cloudflare, Terraform, and GitHub Actions
Managing all Cloudflare DNS from a single YAML file with a Python script, Terraform, and a GitHub Actions pipeline that applies changes on every merge to main.
Managing all Cloudflare DNS from a single YAML file with a Python script, Terraform, and a GitHub Actions pipeline that applies changes on every merge to main.
Replacing GitHub Actions secrets with HashiCorp Vault using JWT/OIDC auth so runners never hold static tokens, with the whole setup managed as code in Terraform.
Recovering a Proxmox Backup Server datastore that would not mount after a disk expand: diagnosing the missing filesystem and restoring a corrupted ext4 superblock.
Expanding a Proxmox Backup Server datastore after growing its virtual disk: fixing the GPT table, recreating the partition, and resizing the ext4 filesystem safely.
Growing an Ubuntu VM disk end to end: resizing the partition, extending the LVM physical and logical volumes, then the ext4 filesystem so the new space is usable.
Why I chose a static site over a CMS like Ghost or WordPress for my personal blog, and the thinking behind keeping day-to-day maintenance to a minimum.