github.com/Racer159/jackal@v0.32.7-0.20240401174413-0bd2339e4f2e/packages/jackal-registry/chart/templates/deployment.yaml (about) 1 apiVersion: apps/v1 2 kind: Deployment 3 metadata: 4 name: {{ template "docker-registry.fullname" . }} 5 namespace: {{ .Values.namespace | default .Release.Namespace }} 6 labels: 7 app: {{ template "docker-registry.name" . }} 8 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} 9 release: {{ .Release.Name }} 10 heritage: {{ .Release.Service }} 11 spec: 12 selector: 13 matchLabels: 14 app: {{ template "docker-registry.name" . }} 15 release: {{ .Release.Name }} 16 replicas: {{ .Values.replicaCount }} 17 minReadySeconds: 5 18 template: 19 metadata: 20 labels: 21 app: {{ template "docker-registry.name" . }} 22 release: {{ .Release.Name }} 23 {{- if .Values.podLabels }} 24 {{ toYaml .Values.podLabels | indent 8 }} 25 {{- end }} 26 annotations: 27 checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }} 28 spec: 29 {{- if .Values.imagePullSecrets }} 30 imagePullSecrets: 31 {{ toYaml .Values.imagePullSecrets | indent 8 }} 32 {{- end }} 33 priorityClassName: system-node-critical 34 securityContext: 35 fsGroup: 1000 36 runAsUser: 1000 37 containers: 38 - name: {{ .Chart.Name }} 39 image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" 40 imagePullPolicy: IfNotPresent 41 command: 42 - /bin/registry 43 - serve 44 - /etc/docker/registry/config.yml 45 ports: 46 - containerPort: 5000 47 livenessProbe: 48 httpGet: 49 path: / 50 port: 5000 51 readinessProbe: 52 httpGet: 53 path: / 54 port: 5000 55 resources: 56 {{ toYaml .Values.resources | indent 12 }} 57 env: 58 - name: REGISTRY_AUTH 59 value: "htpasswd" 60 - name: REGISTRY_AUTH_HTPASSWD_REALM 61 value: "Registry Realm" 62 - name: REGISTRY_AUTH_HTPASSWD_PATH 63 value: "/etc/docker/registry/htpasswd" 64 {{- if .Values.persistence.enabled }} 65 - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY 66 value: "/var/lib/registry" 67 {{- end }} 68 {{- if .Values.persistence.deleteEnabled }} 69 - name: REGISTRY_STORAGE_DELETE_ENABLED 70 value: "true" 71 {{- end }} 72 {{- with .Values.extraEnvVars }} 73 {{ toYaml . | indent 12 }} 74 {{- end }} 75 volumeMounts: 76 - name: data 77 mountPath: /var/lib/registry/ 78 - name: config 79 mountPath: "/etc/docker/registry" 80 {{- if .Values.caBundle }} 81 - mountPath: /etc/ssl/certs/ca-certificates.crt 82 name: {{ template "docker-registry.fullname" . }}-ca-bundle 83 subPath: ca-certificates.crt 84 readOnly: true 85 {{- end }} 86 affinity: 87 {{- if (eq "ReadWriteMany" .Values.persistence.accessMode) }} 88 podAntiAffinity: 89 {{- else }} 90 podAffinity: 91 {{- end }} 92 preferredDuringSchedulingIgnoredDuringExecution: 93 - weight: 100 94 podAffinityTerm: 95 labelSelector: 96 matchExpressions: 97 - key: app 98 operator: In 99 values: 100 - {{ template "docker-registry.name" . }} 101 topologyKey: kubernetes.io/hostname 102 volumes: 103 - name: config 104 secret: 105 secretName: {{ template "docker-registry.fullname" . }}-secret 106 items: 107 - key: configData 108 path: config.yml 109 - key: htpasswd 110 path: htpasswd 111 {{- if .Values.persistence.enabled }} 112 - name: data 113 persistentVolumeClaim: 114 claimName: {{ if .Values.persistence.existingClaim }}{{ .Values.persistence.existingClaim }}{{- else }}{{ template "docker-registry.fullname" . }}{{- end }} 115 {{- else }} 116 - name: data 117 emptyDir: 118 sizeLimit: {{ .Values.persistence.size }} 119 {{- end }} 120 {{- if .Values.caBundle }} 121 - name: {{ template "docker-registry.fullname" . }}-ca-bundle 122 configMap: 123 name: {{ template "docker-registry.fullname" . }}-ca-bundle 124 {{- end }}