apiVersion: apps/v1 kind: StatefulSet metadata: name: "{{ template "harbor.fullname" . }}-adminserver" labels: {{ include "harbor.labels" . | indent 4 }} app: harbor-adminserver version: {{ .Values.adminserver.image.tag }} spec: replicas: 1 serviceName: "{{ template "harbor.fullname" . }}-adminserver" selector: matchLabels: {{ include "harbor.matchLabels" . | indent 6 }} app: harbor-adminserver template: metadata: labels: {{ include "harbor.labels" . | indent 8 }} app: harbor-adminserver version: {{ .Values.adminserver.image.tag }} spec: containers: - name: adminserver image: "{{ .Values.adminserver.image.repository }}:{{ .Values.adminserver.image.tag }}" imagePullPolicy: "{{ .Values.adminserver.image.pullPolicy }}" resources: {{ toYaml .Values.adminserver.resources | indent 10 }} envFrom: - configMapRef: name: "{{ template "harbor.fullname" . }}-adminserver" - secretRef: name: "{{ template "harbor.fullname" . }}-adminserver" env: - name: PORT value: "8080" - name: JSON_CFG_STORE_PATH value: /etc/adminserver/config/config.json - name: KEY_PATH value: /etc/adminserver/key ports: - containerPort: 8080 volumeMounts: - name: data mountPath: /etc/adminserver/config - name: adminserver-key mountPath: /etc/adminserver/key subPath: key - name: etc-localtime mountPath: /etc/localtime volumes: - name: etc-localtime hostPath: path: /etc/localtime {{- if not .Values.persistence.enabled }} - name: data hostPath: path: /data/{{ .Release.Namespace }}/{{ .Release.Name }}/adminserver {{- end }} - name: adminserver-key secret: secretName: "{{ template "harbor.fullname" . }}-adminserver" items: - key: secretKey path: key {{- with .Values.adminserver.nodeSelector }} nodeSelector: {{ toYaml . | indent 8 }} {{- end }} {{- with .Values.adminserver.affinity }} affinity: {{ toYaml . | indent 8 }} {{- end }} {{- with .Values.adminserver.tolerations }} tolerations: {{ toYaml . | indent 8 }} {{- end }} {{- if .Values.persistence.enabled }} volumeClaimTemplates: - metadata: name: data spec: accessModes: [{{ .Values.adminserver.volumes.config.accessMode | quote }}] {{- if .Values.adminserver.volumes.config.storageClass }} {{- if (eq "-" .Values.adminserver.volumes.config.storageClass) }} storageClassName: "" {{- else }} storageClassName: "{{ .Values.adminserver.volumes.config.storageClass }}" {{- end }} {{- end }} resources: requests: storage: {{ .Values.adminserver.volumes.config.size | quote }} {{- end -}}