start using ansible for configuring machines. it has a lot of capacities, while a learning curve to do things in ansible way.<p>say, you have some commands to install/configure some tools via ssh. when put the commands into a playbook, it may not run the same way. say environment difference, etc... or may need to rewrite/convert some commands to do the ansible way...
some suggestions how you adopt ansible, or some other better alternatives ? thanks...
There are two things i don't want to miss with ansible: mitogen and the netbox inventory plugin.<p>Mitogen vastly improves ansible by using various techniques to improve the speed. With small runs it doesn't save much, but in bigger playbooks it it can improve it by factor 10 or more<p>Netbox is an inventory for hardware. It stores all the data that would require a ton of yaml/toml/ini files. you want a new server in the virt cluster? Save it in netbox and once ansible is done it can even update netbox so that its displayed as fully operational instead of planed.
For most things ansible is nice, but it has shortcomings.
Most collections just are a collection of roles, but some things are better solved in your own modules.
I made for myself an collection that manages systemd unit files, so that i can deploy an systemd unit in an ansible way with proper type information.
I even automated the documentation, so that i don't need to write information about the argumentspec in two different places.
The agentless aspect of Ansible is great. So is the idempotency if used correctly. Once you get used to the Ansible way of working, I think it's hard to beat.