<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ansible on heezy.blog</title><link>https://heezy.blog/tags/ansible/</link><description>Recent content in Ansible on heezy.blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 22 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://heezy.blog/tags/ansible/index.xml" rel="self" type="application/rss+xml"/><item><title>The LGTM Stack: Monitoring a Homelab Like It's Production</title><link>https://heezy.blog/posts/lgtm-monitoring-stack/</link><pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate><guid>https://heezy.blog/posts/lgtm-monitoring-stack/</guid><description>&lt;p&gt;The monitoring stack runs on a dedicated VM at 10.x.x.x (shared-lgtm), deliberately separate from the Kubernetes cluster it watches. If the cluster goes down, the thing watching it needs to still be running. Seven containers in a single Docker Compose stack handle metrics collection, log aggregation, long-term storage, tracing, and dashboards with alerting. The whole thing is deployed and configured by a single Ansible role (&lt;code&gt;roles/lgtm/&lt;/code&gt;) with Jinja2 templates for every config file. Push a change, GitHub Actions runs the playbook, Ansible templates the configs and restarts the stack. This post covers what each component does, what gets scraped, and how alerting works.&lt;/p&gt;</description></item><item><title>Terraform, Ansible, and the Automation That Runs Everything</title><link>https://heezy.blog/posts/terraform-ansible-automation/</link><pubDate>Sat, 20 Dec 2025 00:00:00 +0000</pubDate><guid>https://heezy.blog/posts/terraform-ansible-automation/</guid><description>&lt;p&gt;This is the story of taking a homelab that was 100% manually configured and turning it into something where every change is a git commit, every deployment is a GitHub Actions run, and I never SSH into a box to make a &amp;ldquo;quick fix&amp;rdquo; again. It took a lot of hours, a lot of broken credential chains, and one memorable incident where I leaked secrets because of echo output. But it works now, and it works well.&lt;/p&gt;</description></item><item><title>Lab Modernization: From Manual Configs to Full Automation</title><link>https://heezy.blog/posts/lab-modernization-journal/</link><pubDate>Thu, 18 Sep 2025 00:00:00 +0000</pubDate><guid>https://heezy.blog/posts/lab-modernization-journal/</guid><description>&lt;p&gt;This is the journal of taking a homelab that was held together with SSH sessions and good intentions and turning it into something that manages itself. It took months of evenings and weekends, a lot of broken things, and more hours than I want to admit. But the lab went from &amp;ldquo;I hope nobody touches that server&amp;rdquo; to &amp;ldquo;push to main and walk away.&amp;rdquo;&lt;/p&gt;</description></item></channel></rss>