titan-iac/services/zot/deployment.yaml
2025-08-13 15:58:51 -05:00

58 lines
1.4 KiB
YAML

# services/zot/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: zot
namespace: zot
labels: { app: zot }
spec:
replicas: 1
selector:
matchLabels: { app: zot }
template:
metadata:
labels: { app: zot }
spec:
nodeSelector:
kubernetes.io/arch: arm64
containers:
- name: zot
image: ghcr.io/project-zot/zot-linux-arm64:v2.1.7
args: ["serve", "/etc/zot/config.json"]
ports:
- name: http
containerPort: 5000
volumeMounts:
- name: zot-data
mountPath: /var/lib/registry
- name: cfg
mountPath: /etc/zot
readinessProbe:
tcpSocket: { port: 5000 }
initialDelaySeconds: 5
periodSeconds: 10
resources:
requests:
cpu: "50m"
memory: "64Mi"
limits:
memory: "256Mi"
volumes:
- name: zot-data
persistentVolumeClaim:
claimName: zot-data
- name: cfg
projected:
sources:
- configMap:
name: zot-config
items:
- key: config.json
path: config.json
- secret:
name: zot-htpasswd
items:
- key: htpasswd
path: htpasswd