72 lines
1.7 KiB
YAML
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 |