--- apiVersion: apps/v1 kind: ReplicaSet metadata: name: registry namespace: {{ registry_namespace }} labels: k8s-app: registry version: v{{ registry_image_tag }} addonmanager.kubernetes.io/mode: Reconcile spec: {% if registry_storage_class != "" and registry_storage_access_mode == "ReadWriteMany" %} replicas: {{ registry_replica_count }} {% else %} replicas: 1 {% endif %} selector: matchLabels: k8s-app: registry version: v{{ registry_image_tag }} template: metadata: labels: k8s-app: registry version: v{{ registry_image_tag }} spec: priorityClassName: {% if registry_namespace == 'kube-system' %}system-cluster-critical{% else %}k8s-cluster-critical{% endif %}{{''}} serviceAccountName: registry securityContext: fsGroup: 1000 runAsUser: 1000 containers: - name: registry image: {{ registry_image_repo }}:{{ registry_image_tag }} imagePullPolicy: {{ k8s_image_pull_policy }} env: - name: REGISTRY_HTTP_ADDR value: :{{ registry_port }} - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY value: /var/lib/registry volumeMounts: - name: registry-pvc mountPath: /var/lib/registry ports: - containerPort: {{ registry_port }} name: registry protocol: TCP livenessProbe: httpGet: path: / port: {{ registry_port }} readinessProbe: httpGet: path: / port: {{ registry_port }} volumes: - name: registry-pvc {% if registry_storage_class != "" %} persistentVolumeClaim: claimName: registry-pvc {% else %} emptyDir: {} {% endif %}