[defaults] # inventory: none by default — `unoverse deploy` generates a temp inventory from # .env.production (multi-VM inventory retired to _legacy/ansible 2026-07-28) roles_path = roles host_key_checking = False retry_files_enabled = False # Silence the noisy ansible-core module deprecation warnings (to_text/to_bytes imports in # the synchronize module) — they're upstream, not our playbooks. Keeps the deploy log clean. deprecation_warnings = False gathering = smart fact_caching = jsonfile fact_caching_connection = /tmp/ansible_facts fact_caching_timeout = 3600 [privilege_escalation] become = True become_method = sudo become_user = root become_ask_pass = False [ssh_connection] # A transient TCP timeout must not kill a deploy: a single dropped SYN to a busy # or far-away VM read as UNREACHABLE on the very first task. Retry the connect # (ConnectionAttempts) and the connection (retries) before declaring the host gone. # The -C/ControlMaster/ControlPersist flags are ansible's defaults, restated # because ssh_args REPLACES them rather than appending. ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s -o ConnectionAttempts=5 -o ConnectTimeout=15 -o ServerAliveInterval=15 -o ServerAliveCountMax=4 retries = 3