r/ansible • u/ban_rakash • 15d ago
playbooks, roles and collections I built a self-contained Linux patch governance platform with Ansible + AWX
I've been working on a project called PatchOps : a small, reproducible environment for managing Linux patching through Ansible and AWX.
What Ansible/AWX does
- Ansible roles for Aptly, clients, governance DB and notifications
- Ansible playbooks for scanning, patching, promotion and rollback
- AWX handles scheduling, job history, credentials and orchestration
- Docker-based Execution Environment for consistent Ansible execution
There are also Grafana dashboards backed by PostgreSQL for fleet status, package upgrades, snapshots and patch history.
Everything runs on a single machine with Docker Compose, so it's reasonably easy to spin up a lab and experiment with the whole pipeline.
Blog: https://2ssk.medium.com/controlled-linux-patch-management
GitHub: https://github.com/2SSK/patchops
I'd particularly like feedback from people who use Ansible/AWX in production:
- Does this architecture make sense to you?
- What would you change about the AWX/Ansible side?
- Are there better patterns for handling patch promotion and rollback?
- What would you consider essential before calling something like this production-ready?
19
Upvotes
7
u/abix- 15d ago edited 15d ago
This is a nice start. How big is your environment? Do you have Windows?
I use AWX to orchestrate monthly Windows/Linux patching for 1500 VMs. No one IP has connectivity to all systems. With AWX Execution Environments and Inventories I can manage all my VMs regardless of hypervisor, cloud, or physical datacenter.
Essential Needs:
I find that installing the patches is one of the easier parts of patching.