prole/tmp/fix_gitaly_pv_and_exporter.sh

38 lines
1.4 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
export KUBECONFIG=/Users/chrisfu/dev/knoe/knoe-k3s.kubeconfig
echo "==> PV claimRef detail (namespace check):"
kubectl get pv gitlab-gitaly-synology \
-o jsonpath='{.spec.claimRef}' 2>&1 && echo
echo "==> Releasing PV claimRef and rebinding to gitea namespace..."
kubectl patch pv gitlab-gitaly-synology --type=merge \
-p '{"spec":{"claimRef":{"namespace":"gitea","name":"repo-data-gitlab-gitaly-0"}}}'
echo "==> Waiting 20s for PVC to bind..."
sleep 20
kubectl -n gitea get pvc repo-data-gitlab-gitaly-0
echo "==> Patching CR to add jemalloc volumes to gitlab-exporter..."
kubectl -n gitea patch gitlab gitlab --type=merge -p '{
"spec":{"chart":{"values":{
"gitlab":{
"gitlab-exporter":{
"extraEnv":{"LD_PRELOAD":"/opt/gitlab-jemalloc/libjemalloc.so.2"},
"extraVolumes":"- name: jemalloc-16k\n hostPath:\n path: /opt/gitlab-jemalloc\n type: Directory\n",
"extraVolumeMounts":"- name: jemalloc-16k\n mountPath: /opt/gitlab-jemalloc\n readOnly: true\n"
}
}
}}}}'
echo "==> Restarting exporter pod..."
kubectl -n gitea delete pod -l app=gitlab-exporter --ignore-not-found
echo "==> Checking minio-create-buckets job..."
kubectl -n gitea get jobs -l app=minio-create-buckets 2>&1 || true
echo "==> Done. Watching gitaly pod (30s)..."
sleep 30
kubectl -n gitea get pods --no-headers | grep -v jemalloc-builder