Learn 104
104: Best practices
Going into IaC
Use git to track your tree
D.R.Y.
Things are quite easily moving
Code structure
Profile and Class
Role and profiles key lookup
Hierarchies
Foreman
Use environnements, site, locatation …
Common keys vs dedicated keys
The profile key, default placeholder
The resource modele
It’s like a puppet resource, a catalog of items to apply
It’s possible to use this model with ansible, and it change radically the way Ansible can be used then. See integration.
Debugging
Use the explain mode
And trace mode
Use GNU tools
tree
grep -Rw
. git status -sb
With ansible.
Use a strict naming scheme, apply your Ansible usual name schema into Kheops
You can put some jinja variable into Kheops, Ansible will be able to replace and understand them during the runtime
Dynamic inventories and ENC
Apply products
Apply roles/profiles pattern
Use resource based roles => See my collection, it just works