#!/usr/bin/env bash set -euo pipefail KUBECONFIG=/Users/chrisfu/dev/knoe/knoe-k3s.kubeconfig export KUBECONFIG KB="kubectl" echo "==> Uninstalling stuck Redis release..." helm -n knoe-system uninstall redis 2>/dev/null || true $KB -n knoe-system delete pvc redis-data-redis-master-0 --ignore-not-found echo "==> Redeploying Redis without persistence..." cd /Users/chrisfu/dev/knoe bash etc/init_redis.sh -c conf/service/knoe.cfg start echo "==> Redis deployed. Checking gitaly/minio PVC sizes..." $KB -n gitlab get pvc repo-data-gitlab-gitaly-0 gitlab-minio -o custom-columns='NAME:.metadata.name,SIZE:.spec.resources.requests.storage,SC:.spec.storageClassName' 2>&1 || true echo "==> Preparing synology dirs for gitaly and minio on gandalf..." $KB -n knoe-system run gitlab-dirprep --image=alpine --restart=Never \ --overrides='{"spec":{"nodeName":"gandalf.knoe.org"}}' \ --command -- sh -c "mkdir -p /synology/d005/gitlab/gitaly /synology/d005/gitlab/minio && chmod 777 /synology/d005/gitlab/gitaly /synology/d005/gitlab/minio && echo done" \ --attach --rm 2>&1 || true echo "==> Creating static PVs for gitaly and minio..." GITALY_SIZE=$($KB -n gitlab get pvc repo-data-gitlab-gitaly-0 -o jsonpath='{.spec.resources.requests.storage}' 2>/dev/null || echo "50Gi") MINIO_SIZE=$($KB -n gitlab get pvc gitlab-minio -o jsonpath='{.spec.resources.requests.storage}' 2>/dev/null || echo "10Gi") echo "Gitaly PVC size: $GITALY_SIZE | Minio PVC size: $MINIO_SIZE" $KB apply -f - < Deleting stuck PVCs so they rebind to new PVs..." $KB -n gitlab delete pvc repo-data-gitlab-gitaly-0 gitlab-minio --ignore-not-found echo "==> Done. Waiting 20s for PVCs to rebind..." sleep 20 $KB -n gitlab get pvc,pods 2>&1