# 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