provisioning-catalog/components/kubernetes/nickel/defaults.ncl

75 lines
3.3 KiB
Text

let _presets = (import "schemas/lib/concerns_presets.ncl").presets in
{
kubernetes | default = {
name | default = "kubernetes",
cmd_task | default = "install",
version | default = "1.35.3",
major_version | default = "1.35",
cri | default = "crio",
runtime_default | default = "crun",
runtimes | default = "crun,runc",
cni | default = "cilium",
cni_version | default = "",
bind_port | default = 6443,
timeout_cp | default = "4m0s",
certs_dir | default = "/etc/kubernetes/pki",
auth_mode | default = "Node,RBAC",
taints_effect | default = "PreferNoSchedule",
pull_policy | default = "IfNotPresent",
addons | default = "",
tpl | default = "kubeadm-config.yaml.j2",
repo | default = "registry.k8s.io",
dns_domain | default = "cluster.local",
pod_net | default = "10.244.0.0/16",
service_net | default = "10.96.0.0/12",
cert_sans | default = ["{{hostname}}", "{{cluster_name}}", "127.0.0.1"],
external_ips | default = [],
cluster_name | default = "k8s-cluster",
hostname | default = "k8s-node",
cp_ip | default = null,
cp_name | default = "controlplane",
ip | default = "10.0.0.1",
mode | default = "controlplane",
admin_user | default = "root",
target_path | default = "/opt/kubernetes",
taint_node | default = true,
etcd_mode | default = "stacked",
etcd_prefix | default = "",
etcd_endpoints | default = [],
etcd_ca_path | default = "/etc/kubernetes/pki/etcd/ca.crt",
etcd_cert_path | default = "/etc/kubernetes/pki/apiserver-etcd-client.crt",
etcd_key_path | default = "/etc/kubernetes/pki/apiserver-etcd-client.key",
etcd_cluster_name | default = "",
etcd_peers | default = "",
prov_etcd_path | default = "etcdcerts",
etcd_certs_path | default = "etcd_certs",
install_log_path | default = "/tmp/k8s.log",
work_path | default = "/opt/kubernetes/$cluster_name",
skip_phases | default = [],
node_roles | default = [],
sysctl | default = {
disable_ipv6 | default = false,
},
operations | default = {
install = true,
reinstall = true,
delete = true,
health = true,
},
# Default live_check is for control-plane profile (k8s_api).
# Worker profile overrides this in the workspace NCL:
# live_check = { strategy = 'k8s_nodes, scope = 'workers_only }
live_check | default = {
strategy = 'k8s_api,
scope = 'cp_only,
},
# ServiceConcerns default — Kubernetes; stateless preset with custom tls/certs/backup reasons.
concerns | default = _presets.stateless & {
tls | force = { kind = 'disabled, reason = "kubelet/apiserver TLS managed by kubeadm; PKI captured by SystemBackupDef.k8s_certs" },
certs | force = { kind = 'disabled, reason = "ACME issuance handled by cert-manager component, not kubeadm" },
backup | force = { kind = 'disabled, reason = "stateless at component level: cluster state in etcd (SystemBackupDef.etcd), PKI files in SystemBackupDef.k8s_certs" },
},
},
}