I have a few servers, and there’s some common configs between them. For example, my SSH authorized_keys, core Nginx config, PHP config, Tinc host configs, etc. There’s a few options I’ve thought of to keep these in sync:
Manual copy and paste
Chef
Ansible
Git repository
Script to rsync the configs from one particular server to all the other servers (one way syncing)
Syncing system like Dropbox/Seafile (edit on any system, sync to all of them)
I was wondering what people on this forum do!
At work we use Chef for everything (both dev servers and and production servers) but there’s a devops team that deal with that, so I don’t have any experience with it. Seems to work well, but I’ve never had to edit its configs.
One example from recently was that I wanted to enable TLS 1.3 in the Nginx config on every server. I manually SSH’d to every server and edited the Nginx config. Would have been easier if I had some way of pushing the change out across all servers.
Did anyone say Ansible yet?
'cause I’d say Ansible
Albeit there’s some impermanent config files & some dreadfully untidy stuff I tend to backup to a borg repo and rsync whenever I have to deploy a new server
Thanks! Sounds like Ansible is worth looking at. Anyone willing to share some examples of how they’re using Ansible (eg. example playbooks you use, etc)?