{{- if .Values.mcJob.enabled }} apiVersion: batch/v1 kind: Job metadata: name: yonote-minio-mc-job labels: app: yonote-minio spec: template: metadata: labels: app: yonote-minio spec: containers: - name: mc-client image: "minio/mc:RELEASE.2025-01-17T23-25-50Z" command: ["/bin/sh", "-c"] args: - | until mc alias set myminio http://yonote-minio:9000 {{ .Values.minio.rootUser }} {{ .Values.minio.rootPassword }}; do echo "Waiting for MinIO to be ready..." sleep 5 done echo "MinIO is ready and alias is set." # Создание бакета if ! mc ls myminio/yonote-bucket; then mc mb myminio/yonote-bucket echo "Bucket yonote-bucket created successfully." else echo "Bucket yonote-bucket already exists." fi # Установка политик для бакета cat < /tmp/minio-bucket-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "*" ] }, "Action": [ "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::yonote-bucket" ] }, { "Effect": "Allow", "Principal": { "AWS": [ "*" ] }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::yonote-bucket/*" ] } ] } EOF echo "Bucket policy JSON file created." mc anonymous set-json /tmp/minio-bucket-policy.json myminio/yonote-bucket echo "Bucket policy applied." resources: requests: memory: "128Mi" cpu: "100m" limits: memory: "256Mi" cpu: "200m" restartPolicy: OnFailure backoffLimit: 5 ttlSecondsAfterFinished: 180 {{- end }}