<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cloudflare on heezy.blog</title><link>https://heezy.blog/tags/cloudflare/</link><description>Recent content in Cloudflare on heezy.blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 14 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://heezy.blog/tags/cloudflare/index.xml" rel="self" type="application/rss+xml"/><item><title>Getting Cloudflare on IaC</title><link>https://heezy.blog/posts/cloudflare-iac/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><guid>https://heezy.blog/posts/cloudflare-iac/</guid><description>&lt;p&gt;Everything in the lab is managed as code. FortiGate firewall rules, Proxmox VMs, Kubernetes manifests. Cloudflare was the last holdout. DNS records, tunnel config, and zone settings all lived in the dashboard, clicked into existence and never tracked anywhere. Time to fix that.&lt;/p&gt;</description></item><item><title>Hosting a Blog on Kubernetes Through Cloudflare with Zero Exposed Ports</title><link>https://heezy.blog/posts/swag-cloudflare-blog-hosting/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://heezy.blog/posts/swag-cloudflare-blog-hosting/</guid><description>&lt;p&gt;I wanted a blog. Not a WordPress instance, not a hosted platform, not something I pay monthly for. A static site built with Hugo, baked into a container image, served by nginx, tunneled through Cloudflare, running on my Kubernetes cluster at home. No ports exposed to the internet. No public IP pointing at my house. Just a Cloudflare Tunnel and a reverse proxy.&lt;/p&gt;</description></item></channel></rss>