48 lines
1.7 KiB
YAML
48 lines
1.7 KiB
YAML
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: minio-init
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "rcoder.labels" . | nindent 4 }}
|
|
annotations:
|
|
# 每次 helm upgrade 强制重新运行 (确保 bucket 一定存在, 即使 Job 已清理)
|
|
helm.sh/hook: post-install,post-upgrade
|
|
helm.sh/hook-weight: "5"
|
|
helm.sh/hook-delete-policy: before-hook-creation
|
|
spec:
|
|
ttlSecondsAfterFinished: 300
|
|
template:
|
|
spec:
|
|
restartPolicy: OnFailure
|
|
{{- include "rcoder.imagePullSecrets" . | nindent 6 }}
|
|
containers:
|
|
- name: mc
|
|
image: {{ include "rcoder.thirdPartyImage" (dict "repository" .Values.minio.initImage.repository "tag" .Values.minio.initImage.tag "ctx" .) }}
|
|
imagePullPolicy: {{ .Values.global.imagePullPolicy }}
|
|
command:
|
|
- /bin/sh
|
|
- -c
|
|
- |
|
|
echo "Waiting for MinIO to be ready..."
|
|
until mc alias set myminio http://minio:{{ .Values.minio.service.apiPort }} ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD}; do
|
|
echo "MinIO not ready, retrying..."
|
|
sleep 2
|
|
done
|
|
|
|
echo "MinIO is ready, creating bucket..."
|
|
mc mb myminio/{{ .Values.minio.bucket }} --ignore-existing
|
|
mc ls myminio/
|
|
echo "MinIO initialization completed!"
|
|
env:
|
|
- name: MINIO_ROOT_USER
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: rcoder-credentials
|
|
key: MINIO_ROOT_USER
|
|
- name: MINIO_ROOT_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: rcoder-credentials
|
|
key: MINIO_ROOT_PASSWORD
|