prole/tmp/fix_minio_v2.sh

44 lines
1.7 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
export KUBECONFIG=/Users/chrisfu/dev/knoe/knoe-k3s.kubeconfig
echo "==> Previous minio crash log:"
kubectl -n gitlab logs gitlab-minio-65b8ddcd4d-5xlgc --previous 2>&1 | \
grep -v "LD_PRELOAD" | head -30 || true
echo "==> Switching to 2022 quay.io minio (supports MINIO_ACCESS_KEY + ARM64)..."
# Also remove the MINIO_ROOT_USER/PASSWORD extraEnv — the 2022 image reads MINIO_ACCESS_KEY
kubectl -n gitlab patch gitlab gitlab --type=json -p '[
{"op":"remove","path":"/spec/chart/values/minio/extraEnv"}
]' 2>/dev/null || true
kubectl -n gitlab patch gitlab gitlab --type=merge -p '{
"spec":{"chart":{"values":{
"minio":{
"image":"quay.io/minio/minio",
"imageTag":"RELEASE.2022-10-08T20-11-00Z"
}
}}}}'
echo "==> Wiping stale minio export data and restarting pod..."
kubectl -n gitlab run minio-wipe \
--image=alpine:latest --restart=Never --rm \
--overrides='{
"spec":{"nodeName":"gandalf.knoe.org","tolerations":[{"operator":"Exists"}],
"volumes":[{"name":"e","hostPath":{"path":"/synology/d005/gitlab/minio","type":"Directory"}}],
"containers":[{"name":"minio-wipe","image":"alpine:latest",
"command":["sh","-c","rm -rf /e/.minio.sys /e/registry && echo wiped"],
"volumeMounts":[{"name":"e","mountPath":"/e"}]}]}}' 2>&1 || true
kubectl -n gitlab delete pod -l app=minio --ignore-not-found
kubectl -n gitlab delete jobs -l app=minio-create-buckets --ignore-not-found
echo "==> Waiting 90s..."
sleep 90
echo "==> Pod status:"
kubectl -n gitlab get pods --sort-by=.metadata.creationTimestamp | grep -v jemalloc-builder
echo "==> Minio logs:"
kubectl -n gitlab logs -l app=minio --tail=10 2>&1 | grep -v "LD_PRELOAD" || true