{% if k3s_role == 'server' %} {% if k3s_cluster_init | bool %} cluster-init: true {% elif k3s_server_url %} server: "{{ k3s_server_url }}" {% endif %} {% else %} server: "{{ k3s_server_url }}" {% endif %} {% if k3s_token %} token: "{{ k3s_token }}" {% endif %} {% if k3s_role == 'server' and k3s_write_kubeconfig_mode %} write-kubeconfig-mode: "{{ k3s_write_kubeconfig_mode }}" {% endif %} {% if k3s_role == 'server' and k3s_kubeconfig_group %} write-kubeconfig-group: "{{ k3s_kubeconfig_group }}" {% endif %} {% if k3s_tls_sans | length %} tls-san: {% for item in k3s_tls_sans %} - "{{ item }}" {% endfor %} {% endif %} {% if k3s_role == 'server' and k3s_disable | length %} disable: {% for item in k3s_disable %} - "{{ item }}" {% endfor %} {% endif %} {% if k3s_disable_agent | bool %} disable-agent: true {% endif %} {% if k3s_data_dir is defined and k3s_data_dir %} data-dir: "{{ k3s_data_dir }}" {% endif %} {% if k3s_node_labels | length %} node-label: {% for item in k3s_node_labels %} - "{{ item }}" {% endfor %} {% endif %} {% if k3s_node_taints | length %} node-taint: {% for item in k3s_node_taints %} - "{{ item }}" {% endfor %} {% endif %} {# --- Control-plane leader election tuning (forgiving leases) --- #} {% if k3s_kube_controller_manager_args is defined and k3s_kube_controller_manager_args | length %} kube-controller-manager-arg: {% for item in k3s_kube_controller_manager_args %} - "{{ item }}" {% endfor %} {% endif %} {% if k3s_kube_scheduler_args is defined and k3s_kube_scheduler_args | length %} kube-scheduler-arg: {% for item in k3s_kube_scheduler_args %} - "{{ item }}" {% endfor %} {% endif %} {% if k3s_cloud_controller_manager_args is defined and k3s_cloud_controller_manager_args | length %} k3s-cloud-controller-manager-arg: {% for item in k3s_cloud_controller_manager_args %} - "{{ item }}" {% endfor %} {% endif %} {# --- Embedded etcd tuning (optional) --- #} {% if k3s_etcd_args is defined and k3s_etcd_args | length %} etcd-arg: {% for item in k3s_etcd_args %} - "{{ item }}" {% endfor %} {% endif %}