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 }}