I don’t frequent that world much these days, but I personally preferred the agent/pull model when I did. I can’t really articulate why, I think I feel comfortable knowing that the agent will run with the last known config on the machine, potentially correcting any misconfiguration even if the central host is down.
The big debate back in the day was Puppet vs. Chef (before Ansible/SaltStack). Puppet was more declarative, Chef more imperative.
I also admit, I don’t like YAML, other than for simple, mostly flat config and serializing.
I further admit that Ansible just has a bigger community these days, and that’s worth something. When I need to do a bit of CM these days, I use Ansible.
For those who don’t know, Bluesky isn’t really federated. The only way to host a non-Bluesky instance required 1TB of storage in July 2024, and 5 TB of storage in Nov 2024. Could be way more than that now.
You basically have to be a company to federate into the ATProto (Bluesky) ecosystem. You can’t just “stand up an instance”.
Lots of detail: https://dustycloud.org/blog/how-decentralized-is-bluesky/
(I know you’ve already realized that you were conflating Mastodon with Bluesky, I’m putting this here for others who come along so they can get the facts).