mirror of
https://github.com/dredx/prole.git
synced 2026-09-23 11:03:59 +00:00
- Ensure k3s mode uses the k3s registry endpoint and avoid localhost/k3d image prefixes. - Make ArgoCD repo-server cmp symlink creation idempotent. - Normalize common-core provisioning to knoe-system and add repair-time dedupe of stray default-namespace installs. - Add k3s MariaDB datastore/refresh playbooks and regression tests.
116 lines
3.6 KiB
Django/Jinja
116 lines
3.6 KiB
Django/Jinja
{% set _k3s_server_line_needed = (k3s_role != 'server') or ((k3s_role == 'server') and (not (k3s_cluster_init | bool)) and (k3s_server_url is defined) and k3s_server_url) %}
|
|
{% if k3s_role == 'server' and k3s_cluster_init | bool %}
|
|
cluster-init: true
|
|
{% endif %}
|
|
{% if _k3s_server_line_needed %}
|
|
server: "{{ k3s_server_url }}"
|
|
{% endif %}
|
|
{% set _k3s_effective_token = k3s_token %}
|
|
{% if k3s_role == 'server' and (k3s_server_token is defined) and k3s_server_token %}
|
|
{% set _k3s_effective_token = k3s_server_token %}
|
|
{% endif %}
|
|
{% if _k3s_effective_token %}
|
|
token: "{{ _k3s_effective_token }}"
|
|
{% endif %}
|
|
{% if k3s_role == 'server' and k3s_datastore_endpoint is defined and k3s_datastore_endpoint | length %}
|
|
datastore-endpoint: "{{ k3s_datastore_endpoint }}"
|
|
{% if k3s_datastore_cafile is defined and k3s_datastore_cafile | length %}
|
|
datastore-cafile: "{{ k3s_datastore_cafile }}"
|
|
{% endif %}
|
|
{% if k3s_datastore_certfile is defined and k3s_datastore_certfile | length %}
|
|
datastore-certfile: "{{ k3s_datastore_certfile }}"
|
|
{% endif %}
|
|
{% if k3s_datastore_keyfile is defined and k3s_datastore_keyfile | length %}
|
|
datastore-keyfile: "{{ k3s_datastore_keyfile }}"
|
|
{% endif %}
|
|
{% 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 %}
|
|
|
|
{# --- kube-apiserver tuning (request/etcd timeouts) --- #}
|
|
{% if k3s_kube_apiserver_args is defined and k3s_kube_apiserver_args | length %}
|
|
kube-apiserver-arg:
|
|
{% for item in k3s_kube_apiserver_args %}
|
|
- "{{ 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 %}
|
|
kube-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 %}
|
|
|
|
{# --- kubelet tuning (node housekeeping/heartbeats) --- #}
|
|
{% if k3s_kubelet_args is defined and k3s_kubelet_args | length %}
|
|
kubelet-arg:
|
|
{% for item in k3s_kubelet_args %}
|
|
- "{{ item }}"
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if k3s_node_ip is defined and k3s_node_ip %}
|
|
node-ip: "{{ k3s_node_ip }}"
|
|
{% endif %}
|
|
{% if k3s_flannel_iface is defined and k3s_flannel_iface %}
|
|
flannel-iface: "{{ k3s_flannel_iface }}"
|
|
{% endif %}
|