From cbbd7fc20f9d4778e27d3bdec3829ac94cb732b9 Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Thu, 8 Jan 2026 17:09:45 +0900 Subject: [PATCH] FEAT(zot): migrate storage from local PVC to S3 (MinIO) - Change from StatefulSet to Deployment (no PVC needed) - Add S3 storageDriver configuration for MinIO backend - Use minio-s3-credentials secret for AWS credentials - Remove 50Gi local-path PVC - Increase memory limit to 256Mi --- zot/helm-values.yaml | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/zot/helm-values.yaml b/zot/helm-values.yaml index 4d3a2d4..3e8a09e 100644 --- a/zot/helm-values.yaml +++ b/zot/helm-values.yaml @@ -1,9 +1,10 @@ # Zot Registry using bjw-s/app-template -# ARM64 container registry for on-premise CI/CD +# ARM64 container registry with S3 (MinIO) storage backend controllers: zot: - type: statefulset + type: deployment + replicas: 1 strategy: RollingUpdate containers: zot: @@ -11,6 +12,9 @@ controllers: repository: ghcr.io/project-zot/zot-linux-arm64 tag: v2.1.13 pullPolicy: IfNotPresent + envFrom: + - secretRef: + name: minio-s3-credentials probes: liveness: enabled: true @@ -33,7 +37,7 @@ controllers: cpu: 15m memory: 128Mi limits: - memory: 192Mi + memory: 256Mi pod: tolerations: - key: "node-role.kubernetes.io/master" @@ -66,13 +70,6 @@ ingress: - zot0213.kro.kr persistence: - data: - type: persistentVolumeClaim - accessMode: ReadWriteOnce - size: 50Gi - storageClass: local-path - globalMounts: - - path: /var/lib/registry config: type: configMap name: zot-config @@ -94,10 +91,19 @@ configMaps: config.json: | { "storage": { - "rootDirectory": "/var/lib/registry", + "rootDirectory": "/tmp/zot", + "dedupe": false, "gc": true, "gcDelay": "1h", - "gcInterval": "24h" + "gcInterval": "24h", + "storageDriver": { + "name": "s3", + "regionendpoint": "http://minio.minio.svc.cluster.local:9000", + "region": "us-east-1", + "bucket": "zot", + "secure": false, + "skipverify": true + } }, "http": { "address": "0.0.0.0",