--- - name: Validate reconcile mode input ansible.builtin.assert: that: - cluster_mode in ['validate', 'join', 'auto'] fail_msg: "cluster_mode must be one of: validate, join, auto" - name: Build output paths and run context ansible.builtin.set_fact: proxmox_cluster_reconcile_v2_timestamp: "{{ lookup('pipe', 'date +%Y%m%dT%H%M%S') }}" proxmox_cluster_reconcile_v2_output_dir: "{{ cluster_reconcile_output_root }}/{{ cluster_project_name | regex_replace('[^a-zA-Z0-9_-]', '_') }}-{{ lookup('pipe', 'date +%Y%m%dT%H%M%S') }}" - name: Include preflight checks ansible.builtin.include_tasks: preflight.yml - name: Include root SSH trust tasks for join path ansible.builtin.include_tasks: root_ssh_trust.yml when: cluster_mode in ['join', 'auto'] - name: Include guarded join tasks ansible.builtin.include_tasks: join_node.yml when: cluster_mode in ['join', 'auto'] - name: Include post-check validation tasks ansible.builtin.include_tasks: validate.yml