apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - cluster-template.yaml patchesStrategicMerge: - |- apiVersion: controlplane.cluster.x-k8s.io/v1beta1 kind: KubeadmControlPlane metadata: name: '${CLUSTER_NAME}' namespace: '${NAMESPACE}' spec: kubeadmConfigSpec: clusterConfiguration: imageRepository: registry.{{ _template.fqdn }}/kubeadm - |- apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 kind: KubeadmConfigTemplate metadata: name: '${CLUSTER_NAME}-md-0' namespace: '${NAMESPACE}' spec: template: spec: clusterConfiguration: imageRepository: registry.{{ _template.fqdn }}/kubeadm - |- apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 kind: KubeadmConfigTemplate metadata: name: '${CLUSTER_NAME}-md-0' namespace: '${NAMESPACE}' spec: template: spec: files: - encoding: base64 content: | {{ _template.script.encoded }} permissions: '0744' owner: root:root path: /root/network.sh - content: | network: {config: disabled} owner: root:root path: /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg - content: | {{ _template.rootca | indent(width=14, first=False) | trim }} owner: root:root path: /usr/local/share/ca-certificates/root_ca.crt patchesJson6902: - target: group: controlplane.cluster.x-k8s.io version: v1beta1 kind: KubeadmControlPlane name: .* patch: |- - op: add path: /spec/kubeadmConfigSpec/files/- value: encoding: base64 content: | {{ _template.script.encoded }} owner: root:root path: /root/network.sh permissions: '0744' - op: add path: /spec/kubeadmConfigSpec/files/- value: content: | network: {config: disabled} owner: root:root path: /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg - op: add path: /spec/kubeadmConfigSpec/files/- value: content: | {{ _template.rootca | indent(width=12, first=False) | trim }} owner: root:root path: /usr/local/share/ca-certificates/root_ca.crt - target: group: bootstrap.cluster.x-k8s.io version: v1beta1 kind: KubeadmConfigTemplate name: .* patch: |- {% for cmd in _template.runcmds %} - op: add path: /spec/template/spec/preKubeadmCommands/- value: {{ cmd }} {% endfor %} - target: group: controlplane.cluster.x-k8s.io version: v1beta1 kind: KubeadmControlPlane name: .* patch: |- {% for cmd in _template.runcmds %} - op: add path: /spec/kubeadmConfigSpec/preKubeadmCommands/- value: {{ cmd }} {% endfor %}