Enroll, a tool to reverse-engineer servers into Ansible config mgmt
Happy new year folks! This tool was born out of a situation where I had 'inherited' a bunch of servers that were not under any form of config management. Oh, the horror... Enroll 'harvests' system information such as what packages are installed, what services are running, what files have 'differed' from their out-of-the-box defaults, and what other custom snowflake data might exist. The harvest state data can be kept as its own sort of SBOM, but also can be converted in a mere second or two into fully-functional Ansible roles/playbooks/inventory. It can be run remotely over SSH or…
In plain words
Enroll is a tool that reverse-engineers unmanaged servers into Ansible configuration management code. It harvests system information including installed packages, running services, modified files, and custom configurations, then converts this data into functional Ansible roles, playbooks, and inventory files within seconds. The tool supports Debian and Red Hat-like systems, runs remotely over SSH or locally, and includes a diff mode to detect configuration drift over time. It is designed for system administrators who need to bring legacy servers under configuration management.
written from the facts on this page · September 2026
From the sources
In the maker’s words, at launch
Happy new year folks! This tool was born out of a situation where I had 'inherited' a bunch of servers that were not under any form of config management. Oh, the horror... Enroll 'harvests' system information such as what packages are installed, what services are running, what files have 'differed' from their out-of-the-box defaults, and what other custom snowflake data might exist. The harvest state data can be kept as its own sort of SBOM, but also can be converted in a mere second or two into fully-functional Ansible roles/playbooks/inventory. It can be run remotely over SSH or locally on the machine. Debian and Redhat-like systems are supported. There is also a 'diff' mode to detect drift over time. (Years ago I used Puppet instead of Ansible and miss the agent/server model where it would check in and re-align to the expected state, in case people were being silly and side-stepping the config management altogether). For now, diff mode doesn't 'enforce' but is just capable of notification (webhook, email, stdout) if changes occur. Since making the tool, I've found that it's even useful for systems where you already have in Ansible, in that it can detect stuff you forgot to put into Ansible in the first place. I'm now starting to use it as a 'DR strategy' of sorts: still favoring my normal Ansible roles day-to-day (they are more bespoke and easier to read), but running enroll with '--dangerous --sops' in the background periodically as a 'dragnet' catch-all, just in case I ever need it. Bonus: it also can use my other tool JinjaTurtle, which converts native config files into Jinja2 templates / Ansible vars. That one too was born out of frustration, converting a massive TOML file into Ansible :) Anyway, hope it's useful to someone other than me! The website has some demos and more documentation. Have fun every(any)-one.
More commerce this month
the category →

Compare your startup equity grant for free.
Commerce · 26d ago · equitybee.com
Launched alongside, January 2026
the whole month →- IN
Hey HN! I wanted to share something I built over the last few weeks: isometric.nyc is a massive isometric pixel art map of NYC, built with nano banana and coding agents. I didn't write a single line of code. Of course no-code doesn't mean no-engineering. This project took a lot more manual labor than I'd hoped! I wrote a deep dive on the workflow and some thoughts about the future of AI coding and creativity: http://cannoneyed.com/projects/isometric-nyc
AI · Jan 2026 · cannoneyed.com




Automatic AI-powered code reviews the moment you open a PR
Dev tools · Jan 2026 · kilo.ai
