fix(kubernetes): quote storage values and guard bind-mount commands

Quote diskSize and storageClassName Helm template outputs to prevent
bare numeric or special-char values from causing YAML parse errors.

Also ensure mount-point directories exist before bind-mounting and skip
the mount when the target is already a mountpoint, avoiding failures
on node reboot or re-provisioning.

Signed-off-by: Arsolitt <arsolitt@gmail.com>
This commit is contained in:
Arsolitt committed 2026-04-23 18:40:02 +03:00
1 parent cf98381d48
commit ad3fbc1e55
1 file changed
+5 -5
@@ -32,9 +32,9 @@ spec:
storage:
resources:
requests:
storage: {{ .group.diskSize | default "20Gi" }}
storage: {{ .group.diskSize | default "20Gi" | quote }}
{{- with .group.storageClass }}
storageClassName: {{ . }}
storageClassName: {{ . | quote }}
{{- end }}
template:
metadata:
@@ -263,9 +263,9 @@ spec:
- KUBELET_VERSION={{ include "kubernetes.versionMap" $}} /usr/bin/update-k8s.sh || true
- sed -i 's|root:x:|root::|' /etc/passwd
- systemctl stop containerd.service
- mkdir -p /persistent/kubelet /persistent/containerd
- mount -o bind /persistent/kubelet /var/lib/kubelet
- mount -o bind /persistent/containerd /var/lib/containerd
- mkdir -p /persistent/kubelet /persistent/containerd /var/lib/kubelet /var/lib/containerd
- mountpoint -q /var/lib/kubelet || mount -o bind /persistent/kubelet /var/lib/kubelet
- mountpoint -q /var/lib/containerd || mount -o bind /persistent/containerd /var/lib/containerd
- sudo sed -i '/\[plugins."io.containerd.grpc.v1.cri".registry\]/,/^\[/ s|^\(\s*config_path\s*=\s*\).*|\1"/etc/containerd/certs.d"|' /etc/containerd/config.toml
- systemctl start containerd.service
joinConfiguration: