From b3d4c9c6a2b64dcd02566a12742b0ff47ea3d1aa Mon Sep 17 00:00:00 2001 From: Andrei Kvapil Date: Mon, 19 Aug 2024 10:12:12 +0200 Subject: [PATCH] fix CSI label for tenant Kubernetes clusters (#291) --- .../apps/kubernetes/templates/csi/deploy.yaml | 2 +- scripts/installer.sh | 2 +- scripts/migrations/4 | 15 +++++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100755 scripts/migrations/4 diff --git a/packages/apps/kubernetes/templates/csi/deploy.yaml b/packages/apps/kubernetes/templates/csi/deploy.yaml index cb21208b..225935fa 100644 --- a/packages/apps/kubernetes/templates/csi/deploy.yaml +++ b/packages/apps/kubernetes/templates/csi/deploy.yaml @@ -48,7 +48,7 @@ spec: fieldRef: fieldPath: metadata.namespace - name: INFRACLUSTER_LABELS - value: "csi-driver/cluster=test" + value: "cluster.x-k8s.io/cluster-name={{ .Release.Name }}" - name: INFRA_STORAGE_CLASS_ENFORCEMENT valueFrom: configMapKeyRef: diff --git a/scripts/installer.sh b/scripts/installer.sh index 5a924002..bfdb099f 100755 --- a/scripts/installer.sh +++ b/scripts/installer.sh @@ -3,7 +3,7 @@ set -o pipefail set -e BUNDLE=$(set -x; kubectl get configmap -n cozy-system cozystack -o 'go-template={{index .data "bundle-name"}}') -VERSION=4 +VERSION=5 run_migrations() { if ! kubectl get configmap -n cozy-system cozystack-version; then diff --git a/scripts/migrations/4 b/scripts/migrations/4 new file mode 100755 index 00000000..14603dbb --- /dev/null +++ b/scripts/migrations/4 @@ -0,0 +1,15 @@ +#!/bin/sh +# Migration 4 --> 5 + +# Fix tenant-kubernetes PVCs +kubectl get secret -l kamaji.clastix.io/project=kamaji,kamaji.clastix.io/component=admin-kubeconfig -A --output=go-template='{{ range .items }}{{ printf "%s %s %s %s\n" .metadata.namespace .metadata.name (index .metadata.labels "kamaji.clastix.io/name") (index .data "super-admin.conf") }}{{ end }}' | while read NAMESPACE NAME CLUSTER CONFIGB64; do + config=$(mktemp) + echo "$CONFIGB64" | base64 -d > "$config" + kubectl get pv --kubeconfig="$config" --output=go-template='{{ range .items }}{{ printf "%s\n" .metadata.name }}{{ end }}' | while read PVC; do + (set -x; kubectl label pvc --overwrite -n "$NAMESPACE" "$PVC" "cluster.x-k8s.io/cluster-name=$CLUSTER") + done + rm -f "$config" +done + +# Write version to cozystack-version config +kubectl create configmap -n cozy-system cozystack-version --from-literal=version=5 --dry-run=client -o yaml | kubectl apply -f-