Document the settings in ansible.cfg
[noc.git] / ansible / ansible.cfg
index 9621dfc..5a05b61 100644 (file)
@@ -1,14 +1,32 @@
 [defaults]
-inventory = ./hosts
+# Setup paths for crucial files (inventory, roles, logs, vault key)
+inventory = ./hosts.ini
+roles_path = ./roles:../roles
 log_path = ./log
-nocows=1
 vault_password_file = ./gpg/get-vault-pass.sh
 
+# Disable an annoying easter-egg
+nocows = 1
+
+# Error-out when encountering an undefined variable
+# See https://docs.ansible.com/ansible/latest/intro_configuration.html#error-on-undefined-vars
+error_on_undefined_vars = True
+
+# Run more tasks in parallel
+forks = 50
+
+# Cache host facts for 2h
 gathering = smart
+fact_caching = jsonfile
+fact_caching_connection = ./.cache/facts
+fact_caching_timeout = 7200
 var_compression_level = 9
 
-timeout=30
+# Increase the timeout, to deal with going through jump hosts
+timeout = 30
 
+# Use SSH pipelining and multiplexing to minimize the number of extra
+# connections and round-trips.
 [ssh_connection]
 pipelining = True
 ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s