Files

72 lines
1.7 KiB
YAML

replicaCount: 1
image:
repository: ghcr.io/project-zot/zot
pullPolicy: IfNotPresent
# multi-arch image, no override needed for arm64
service:
type: ClusterIP
port: 5000
ingress:
enabled: true
className: traefik
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
traefik.ingress.kubernetes.io/router.entrypoints: websecure
pathtype: Prefix
hosts:
- host: zot.immich-ad.ovh
paths:
- path: /
tls:
- secretName: zot-tls
hosts:
- zot.immich-ad.ovh
# Mount the config.json into /etc/zot
mountConfig: true
configFiles:
config.json: |-
{
"storage": { "rootDirectory": "/var/lib/registry" },
"log": { "level": "info" },
"extensions": {"search": {"enable": true}, "ui": {"enable": true}},
"http": {
"address": "0.0.0.0",
"port": "5000",
"auth": {
"htpasswd": {
"path": "/secret/htpasswd"
}
},
"accessControl": {
"repositories": {
"**": {
"anonymousPolicy": [],
"defaultPolicy": []
}
},
"adminPolicy": {
"users": ["admin"],
"actions": ["read", "create", "update", "delete"]
}
}
}
}
mountSecret: true
secretFiles:
htpasswd: |
admin:$2y$10$1w7mXxSIKGV7dAyqy9TgAeZINEizxuA9ln.Pi6esu7olUV7Kw9ffO
persistence: true
pvc:
create: true
name: data # PVC will be named: data-zot-zot-0
accessModes: ["ReadWriteOnce"]
storage: 20Gi
storageClassName: local-storage
# local-storage does not support live migration — Recreate avoids attach conflicts
strategy:
type: Recreate