frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Enroll, a tool to reverse-engineer servers into Ansible config mgmt

https://enroll.sh
38•_mig5•1d ago
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.

Comments

Imustaskforhelp•1h ago
Bravo, I will play with it. I haven't played with ansible till now but I know that its related to automation.

If something can make ansible easier for me to try out like this tool while being pragmatic, I will give this a try someday thank you!

How accurate does this tool end up becoming though? Like can I just run some bunch of commands to setup a server and then use this with ansible?

Would this end up being a good use for it or would I just re-invent something similar to cloud-init on wrong abstraction. (On all fairness, one thing troubling me about cloud-init is that I would need to probably have a list of all commands that I want to run and all changes which sometimes if history command might have some issues or you do end up writing files etc. ends up being a little messy)

I haven't played that much with both cloud-init and ansible either but I am super interested to know more about enroll and others as well as I found it really cool!

nightshift1•1h ago
This makes me think of the now defunct https://github.com/SUSE/machinery
smoyer•1h ago
I have quite a few machines that were constructed using Ansible ... When I get a chance, I'll reverse then and compare the results to the IaC that created them
proxysna•55m ago
Genuenly the thing i've been dreaming about for a while. Nice work.
bcye•42m ago
This looks like a great way to learn Ansible too. Instead of learning alongside random examples, you can setup your server and see how it would look like in Ansible.

Awesome stuff!

barbazoo•13m ago
This is a fantastic idea. I can imagine using this to pull in any manual changes I might have made to the server because I’m not the most disciplined person.

A website to destroy all websites

https://henry.codes/writing/a-website-to-destroy-all-websites/
321•g0xA52A2A•5h ago•184 comments

Can Bundler be as fast as uv?

https://tenderlovemaking.com/2025/12/29/can-bundler-be-as-fast-as-uv/
145•ibobev•4h ago•53 comments

Finland detains ship and its crew after critical undersea cable damaged

https://www.cnn.com/2025/12/31/europe/finland-estonia-undersea-cable-ship-detained-intl
267•wslh•7h ago•219 comments

Cameras and Lenses (2020)

https://ciechanow.ski/cameras-and-lenses/
349•sebg•8h ago•42 comments

Linux is good now

https://www.pcgamer.com/software/linux/im-brave-enough-to-say-it-linux-is-good-now-and-if-you-wan...
459•Vinnl•5h ago•393 comments

Show HN: Enroll, a tool to reverse-engineer servers into Ansible config mgmt

https://enroll.sh
40•_mig5•1d ago•6 comments

WebAssembly as a Python Extension Platform

https://nullprogram.com/blog/2026/01/01/
27•ArmageddonIt•3h ago•0 comments

Show HN: OpenWorkers – Self-hosted Cloudflare workers in Rust

https://openworkers.com/introducing-openworkers
367•max_lt•10h ago•114 comments

BYD Sells 4.6M Vehicles in 2025, Meets Revised Sales Goal

https://www.bloomberg.com/news/articles/2026-01-01/byd-sells-4-6-million-vehicles-in-2025-meets-r...
170•toomuchtodo•10h ago•251 comments

Dell's version of the DGX Spark fixes pain points

https://www.jeffgeerling.com/blog/2025/dells-version-dgx-spark-fixes-pain-points
94•thomasjb•6h ago•41 comments

Python numbers every programmer should know

https://mkennedy.codes/posts/python-numbers-every-programmer-should-know/
277•WoodenChair•11h ago•125 comments

2025 Letter

https://danwang.co/2025-letter/
250•Amorymeltzer•11h ago•155 comments

Why Prefer Textfiles? (2010)

http://textfiles.com/uploads/textfiles.txt
13•kmstout•2h ago•5 comments

Bluetooth Headphone Jacking: A Key to Your Phone [video]

https://media.ccc.de/v/39c3-bluetooth-headphone-jacking-a-key-to-your-phone
428•AndrewDucker•14h ago•145 comments

Straussian Memes

https://www.lesswrong.com/posts/CAwnnKoFdcQucq4hG/straussian-memes-a-lens-on-techniques-for-mass-...
18•kp1197•4h ago•24 comments

Moving Images Related to the Apollo Missions, 1967–1969

https://catalog.archives.gov/id/133360601
30•handfuloflight•6d ago•2 comments

50% of U.S. vinyl buyers don't own a record player

https://lightcapai.medium.com/the-great-return-from-digital-abundance-to-analog-meaning-cfda9e428752
115•ResisBey•10h ago•139 comments

Quickemu: Quickly create and run optimised Windows, macOS and Linux VMs

https://github.com/quickemu-project/quickemu
110•teekert•2d ago•21 comments

I rebooted my social life

https://takes.jamesomalley.co.uk/p/this-might-be-oversharing
339•edent•14h ago•278 comments

Bypassing a Clever CD-Check

https://www.davidschlachter.com/misc/no-cd-patch
9•dddddaviddddd•4d ago•2 comments

C-events, yet another event loop, simpler, smaller, faster, safer

https://zelang-dev.github.io/c-events/
57•thetechstech•6d ago•11 comments

All my Deutschlandtickets gone: Fraud at an industrial scale [video]

https://media.ccc.de/v/39c3-all-my-deutschlandtickets-gone-fraud-at-an-industrial-scale
96•Kyro38•4d ago•41 comments

iOS allows alternative browser engines in Japan

https://developer.apple.com/support/alternative-browser-engines-jp/
357•eklavya•12h ago•306 comments

Show HN: Feather – a fresh Tcl reimplementation (WASM, Go)

https://www.feather-lang.dev
9•dhamidi•5d ago•2 comments

Build a Deep Learning Library

https://zekcrates.quarto.pub/deep-learning-library/
97•butanyways•10h ago•13 comments

Building an internal agent: Code-driven vs. LLM-driven workflows

https://lethain.com/agents-coordinators/
48•pavel_lishin•7h ago•22 comments

Common Lisp SDK for the Datastar Hypermedia Framework

https://github.com/fsmunoz/datastar-cl
70•fsmunoz•10h ago•8 comments

If you care about security you might want to move the iPhone Camera app

https://blog.jgc.org/2025/12/if-you-care-about-security-you-might.html
154•jgrahamc•4d ago•65 comments

Love your customers

https://bcantrill.dtrace.org/2025/12/31/love-your-customers/
95•chmaynard•1d ago•28 comments

Street-Fighting Mathematics (2008)

https://ocw.mit.edu/courses/18-098-street-fighting-mathematics-january-iap-2008/pages/readings/
23•mpweiher•7h ago•8 comments