--- - name: Configure K3s Infrastructure hosts: localhost connection: local become: true vars: node_role: >- {{ lookup('file', '/etc/node-role', errors='ignore') | default('undefined') }} pre_tasks: - name: Display node information debug: msg: "Configuring node {{ ansible_hostname }} with role {{ node_role }}" - name: Validate node role assert: that: - node_role in ['server', 'witness'] fail_msg: >- Invalid node role: {{ node_role }}. Expected 'server' or 'witness' - name: Update apt cache apt: update_cache: true cache_valid_time: 3600 roles: - role: common - role: k3s-server when: node_role == 'server' - role: etcd-witness when: node_role == 'witness' post_tasks: - name: Display completion message debug: msg: >- Configuration complete for {{ ansible_hostname }} ({{ node_role }})