let _presets = (import "schemas/lib/concerns_presets.ncl").presets in { k8s_nodejoin | default = { mode | default = 'taskserv, name | default = "k8s-nodejoin", cp_hostname | default = "controlplane", cluster | default = "kubernetes", target_path | default = "/tmp/k8s_join.sh", source_path | default = "/tmp/k8s_join.sh", admin_host | default = null, admin_port | default = null, admin_user | default = null, ssh_key_path | default = null, source_cmd | default = "kubeadm token create --print-join-command > /tmp/k8s_join.sh", target_cmd | default = "sudo bash /tmp/k8s_join.sh", operations | default = { install = true, health = true, }, # ServiceConcerns default — one-shot join operation; stateless preset with custom backup reason. concerns | default = _presets.stateless & { backup | force = { kind = 'disabled, reason = "stateless: one-shot join operation, nothing to back up" }, }, }, }