Good for Puppet. A lot of people still use it. Sucks that Puppet and Chef got acquired by stuffy oldco's. Only Ansible got the upper hand in the Great Config Management Contraction (Red Hat).
I do hope a community fork works out - I wouldn't even know where to migrate to for managing full VMs in such a nice way(puppetserver/puppetdb/bolt)...
My go-to tool for this is CFEngine Enterprise + Ansible. CFEngine Enterprise includes a data warehouse component to support reporting/querying, and Ansible is handy for ad-hoc tasks on a smaller scale. With federated reporting[1] your infrastructure can scale to hundreds of thousands of hosts.
Ansible also has a server backend option with AWX (and it’s Red Hat downstream). Although speaking as a user and lover of Ansible, reporting on the data in its database is not a strong suit.
Sure. Reporting with CFEngine is incredibly powerful. Forgive my enthusiasm, my team (at Vertical Sysadmin) developed an ETL pipeline to aggregate data from CFEngine hubs into a "superhub" which later inspired Federated Reporting in CFEngine Enterprise. It's actually incredibly useful. We'd drop into the Postgres database (CFEngine Enterprise uses Postgres under the hood) and use raw SQL to slice and dice the data. We supported tens of thousands of servers across multiple divisions and organizational silos.
I was answering the OP, "I wouldn't even know where to migrate to for managing full VMs in such a nice way(puppetserver/puppetdb/bolt)", and offering a potential solution for managing full VMs.
Sad to watch this play out. I worked at Puppet for a number of years. The technology was really cool! But the slow decline has been really predictable. After the Perforce acquisition, it basically disappeared off the radar. The company itself had great people, but they cared way too much about social justice and not enough about staying relevant for Puppet to remain competitive.
Still use. I have experience with both and enjoy Puppet more. Ansible's YAML make it too labor intensive for me. I don't mind YAML for puppet hiera data but as a (domain specific) programming language YAML is inconvenient at best. Loops/conditions/dependencies are much easier to express in puppet DSL and even trivial things like write a config and restart a service (if needed) for me easier to write in puppet.
I feel you on the YAML, the configurations I have in Neovim that I load (as a separate config from my default) just for contending with YAML are a bit gnarly. And, the linting tools for YAML, or the particular dialect of a specific thing in YAML are not uniform at all.
Some tell me that Ansible is supposed to be better, I still prefer doing these things in Salt, in the yet rarer and rarer occasion something is not being run in some form or another of "distroless" container.
Puppet and Chef are still broadly used, but much less so in younger companies, and they're Boring Technology now -- so they'll be underrepresented in the kind of companies that HN likes, that give conference talks, and so on.
Overall I think the declarative nature of Puppet and Chef lend themselves more to still automated, but longer-lived, nodes. Not quite pets, but things that stick around for more than one deploy.