Files
computer-playbook/playbook.yml
T
kevinveenbirkenbachandClaude Opus 5 3ef32aa551 fix(deploy): drop the environment override that overrides nothing
87beaced7b put environment: {} on the interpreter bootstrap to isolate it
from the play's environment block. It does not. Ansible declares
environment as FieldAttribute(isa='list', extend=True, prepend=True), so
the task's value is combined with the play's rather than replacing it, and
the action plugin skips an empty dict when exporting. The task has been
running with the full CA_TRUST block all along.

Removing it changes no behaviour and removes a line that claims the
opposite of what it does. The real constraint it was reaching for: nothing
in the play's environment may require facts, because the first task now
runs before they are gathered. Everything there is literal today —
DOMAIN_PRIMARY, DIR_BIN, and the CA_TRUST members that resolve through
them — and DOCKER_IN_CONTAINER, the one fact-dependent variable in
group_vars, is not in that block.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-17 21:53:20 +02:00

39 lines
1.5 KiB
YAML

---
- name: "Execute Infinito.Nexus Play"
hosts: all
any_errors_fatal: true
environment:
CA_TRUST_CERT_HOST: "{{ CA_TRUST.cert_host }}"
CA_TRUST_WRAPPER_HOST: "{{ CA_TRUST.wrapper_host }}"
CA_TRUST_NAME: "{{ CA_TRUST.trust_name }}"
CA_TRUST_CERT_CONTAINER: "{{ CA_TRUST.inject_cert_container }}"
CA_TRUST_WRAPPER_CONTAINER: "{{ CA_TRUST.inject_wrapper_container }}"
CA_CONTAINER_ENABLED: "{{ CA_CONTAINER_ENABLED | int }}"
COMPOSE_HTTP_TIMEOUT: "600"
DOCKER_CLIENT_TIMEOUT: "600"
DOCKER_BUILDKIT: "{{ BUILDKIT_ENABLED | int }}"
COMPOSE_DOCKER_CLI_BUILD: "{{ BUILDKIT_ENABLED | int }}"
INFINITO_RESCUE_DIAGNOSTICS_DIR: "{{ DIR_RESCUE_DIAGNOSTICS }}"
CONTAINER_EXEC_TIMEOUT: "{{ SYS_TIMEOUT_CONTAINER_EXEC }}"
gather_facts: false
pre_tasks:
- name: "🐍 Link the managed Python interpreter before any module needs it"
ansible.builtin.script: scripts/system/python/managed_interpreter.sh
register: managed_interpreter
changed_when: "'linked' in managed_interpreter.stdout"
- name: "🔍 Gather facts"
ansible.builtin.setup:
tasks:
- name: "Load 'constructor' tasks"
include_tasks: "tasks/stages/01_constructor.yml"
- name: Load host-type stages
ansible.builtin.include_tasks: "tasks/stages/02_{{ item }}.yml"
loop: "{{ group_names | get_deployment_types_from_groups }}"
- name: "Load 'destructor' tasks"
include_tasks: "tasks/stages/03_destructor.yml"
become: true