--- - name: Fetch k3s kubeconfig from primary node hosts: myrddin.prole.org gather_facts: false vars: k3s_kubeconfig_src: /etc/rancher/k3s/k3s.yaml k3s_api_server: "https://{{ inventory_hostname }}:6443" local_kubeconfig_path: "{{ playbook_dir }}/../../prole-k3s.kubeconfig" tasks: - name: Read k3s kubeconfig from primary node ansible.builtin.slurp: src: "{{ k3s_kubeconfig_src }}" register: k3s_kubeconfig_raw become: true - name: Rewrite kubeconfig server to primary endpoint ansible.builtin.set_fact: k3s_kubeconfig_rendered: "{{ k3s_kubeconfig_raw.content | b64decode | regex_replace('server: https://[^\\s]+', 'server: ' ~ k3s_api_server) }}" - name: Save kubeconfig locally for etc/init scripts ansible.builtin.copy: content: "{{ k3s_kubeconfig_rendered }}" dest: "{{ local_kubeconfig_path }}" mode: "0600" delegate_to: localhost run_once: true