apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }} kind: StatefulSet metadata: labels: app: {{ template "fastdfs-nginx.name" . }} chart: {{ template "fastdfs-nginx.chart" . }} heritage: {{ .Release.Service }} release: {{ .Release.Name }} name: {{ template "fastdfs-nginx.fullname" . }}-tracker spec: selector: matchLabels: app: {{ template "fastdfs-nginx.name" . }}-tracker release: {{ .Release.Name }} serviceName: {{ template "fastdfs-nginx.fullname" . }}-tracker-headless replicas: {{ .Values.fastdfs.tracker.replica }} template: metadata: labels: app: {{ template "fastdfs-nginx.name" . }}-tracker release: {{ .Release.Name }} annotations: {{- if .Values.podAnnotations }} {{ toYaml .Values.podAnnotations | indent 8 }} {{- end }} spec: containers: - name: {{ template "fastdfs-nginx.name" . }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} env: - name: TRACKER_SERVER value: {{ template "fastdfs-nginx.fullname" . }}-tracker-headless:{{ $.Values.trackerPorts.tracker.containerPort }} ports: - name: tracker containerPort: {{ .Values.trackerPorts.tracker.containerPort }} - name: tracker-nginx containerPort: {{ .Values.trackerPorts.trackernginx.containerPort }} resources: {{ toYaml .Values.resources.tracker | indent 12 }} volumeMounts: - name: data-tracker mountPath: /var/fdfs - name: config-map mountPath: /usr/local/nginx/conf/conf.d readinessProbe: exec: command: - bash - "-c" - | set -x curl --connect-timeout 1 -s 127.0.0.1:{{ $.Values.trackerPorts.trackernginx.containerPort }} \ && /usr/local/nginx/sbin/nginx -s reload || { {{- $root := . -}} {{- range $skey, $svalue := .Values.fastdfs.storage }} echo 127.0.0.1 {{ template "fastdfs-nginx.fullname" $root }}-storage-{{ $svalue.name }}-headless >> /etc/hosts {{- end }} /usr/local/nginx/sbin/nginx cat /etc/hosts > /tmp/hosts.tmp {{- $root := . -}} {{- range $skey, $svalue := .Values.fastdfs.storage }} sed -i "/{{ template "fastdfs-nginx.fullname" $root }}-storage-{{ $svalue.name }}-headless/d" /tmp/hosts.tmp {{- end }} cat /tmp/hosts.tmp > /etc/hosts } initialDelaySeconds: 5 periodSeconds: 60 livenessProbe: exec: command: - bash - "-c" - | set -ex ps aux |grep 'fdfs_trackerd /etc/fdfs/tracker.conf start'|grep -v grep initialDelaySeconds: 5 periodSeconds: 20 volumes: - name: config-map configMap: name: {{ template "fastdfs-nginx.fullname" . }} {{- with .Values.nodeSelector }} nodeSelector: {{ toYaml . | indent 8 }} {{- end }} {{- with .Values.affinity }} affinity: {{ toYaml . | indent 8 }} {{- end }} {{- with .Values.tolerations }} tolerations: {{ toYaml . | indent 8 }} {{- end }} {{- if .Values.persistentVolume.enabled }} volumeClaimTemplates: - metadata: name: data-tracker labels: app: {{ template "fastdfs-nginx.name" . }} chart: {{ template "fastdfs-nginx.chart" . }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} spec: accessModes: - {{ .Values.persistentVolume.accessMode | quote }} annotations: {{- range $key, $value := .Values.persistentVolume.annotations }} {{ $key }}: {{ $value }} {{- end }} resources: requests: storage: {{ .Values.fastdfs.tracker.size | quote }} {{- if .Values.persistentVolume.storageClass }} {{- if (eq "-" .Values.persistentVolume.storageClass) }} storageClassName: "" {{- else }} storageClassName: "{{ .Values.persistentVolume.storageClass }}" {{- end }} {{- end }} {{- else }} - name: data-tracker emptyDir: {} {{- end -}}