prole/infrastructure/roles/k3s/defaults/main.yml
chrisfu 436c6214df checkpoint: k3s agent config + node labels + registry optimizations
- k3s: render server-only config keys only for servers; add regression test; make guardrail test non-sudo

- k3s/site: add post-provision node labeling tasks + playbook tier; extend inventory node label mapping

- registry: default namespace to common-services and skip redundant image pushes by probing registry manifests (installer + init scripts)
2026-03-07 03:14:26 -08:00

63 lines
2.0 KiB
YAML

---
k3s_enabled: true
k3s_state: present
k3s_version: ""
k3s_guard_token_drift: true
# Destructive repair/refresh workflow (server only)
# A refresh wipes the k3s installation/state to a blank slate but preserves the
# join token and CA material so existing agents can rejoin without changing the token.
k3s_refresh_backup_root: /root/k3s-refresh-backups
k3s_refresh_confirm: ""
k3s_refresh_run_configure: true
# CloudNative-PG
# Pin operator/plugin version by default to avoid unanticipated upgrades and load spikes.
# Upgrades must be explicitly enabled via `k3s_cnpg_upgrade: true`.
k3s_cnpg_version_default: "1.28.1"
k3s_cnpg_upgrade: false
k3s_role: agent
k3s_cluster_init: false
k3s_server_url: ""
k3s_token: "{{ vault_k3s_token | default('') }}"
# Optional: if `k3s_token` is a full node-token (`K10...::server:...`), set this
# to the raw secret (`...` after `::server:`) for the server config.
k3s_server_token: ""
k3s_disable: []
k3s_tls_sans: []
k3s_service_node_labels: []
k3s_node_taints: []
k3s_disable_agent: false
k3s_write_kubeconfig_mode: "0640"
k3s_kubeconfig_group: kubeadm
k3s_kubeconfig_users: []
k3s_registry_config_enabled: true
k3s_registry_config_path: /etc/rancher/k3s/registries.yaml
k3s_registry_host: ""
k3s_registry_namespace: ""
k3s_registry_port: 5000
# Pulling large images on every run can cause major load spikes; keep this opt-in.
k3s_prestage_images: false
k3s_prestage_images_platform: "linux/arm64"
k3s_prestage_images_list:
- docker.io/library/registry:2
- docker.io/prom/prometheus:v2.55.1
- docker.io/prom/alertmanager:v0.27.0
- quay.io/prometheus/node-exporter:v1.8.2
- quay.io/prometheus-operator/prometheus-operator:v0.71.2
- ghcr.io/openbao/openbao:2.0.0
- ghcr.io/opentofu/opentofu:1.8.2
- docker.io/library/kong:3.8
k3s_cert_manager_version: "v1.14.6"
k3s_svc_check_domain: "svc.prole.org"
k3s_svc_check_namespace: "svc-check"
k3s_svc_check_kong_namespace: "${SERVICE_NAMESPACE}"
k3s_svc_check_kong_configmap_name: "prole-svc-kong-config"
k3s_kong_namespace: "${SERVICE_NAMESPACE}"
k3s_kong_deployment: "prole-svc-kong"