helm/timebase/templates/server-statefulset.yaml (124 lines of code) (raw):

apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ template "chart.fullname" . }} namespace: {{ .Release.Namespace }} labels: app.kubernetes.io/component: server {{- include "chart.labels" $ | nindent 4 }} spec: serviceName: {{ template "chart.fullname" . }} selector: matchLabels: app.kubernetes.io/component: server {{- include "chart.matchLabels" $ | nindent 6 }} template: metadata: labels: app.kubernetes.io/component: server {{- include "chart.labels" . | nindent 8 }} {{- if .Values.server.podLabels }} {{- toYaml .Values.server.podLabels | nindent 8 }} {{- end }} {{- if .Values.server.podAnnotations }} annotations: {{- toYaml .Values.server.podAnnotations | nindent 8 }} {{- end }} spec: {{- if .Values.global.imagePullSecrets }} imagePullSecrets: {{ include "chart.imagePullSecrets" . | trim | nindent 6 }} {{- end }} {{- if .Values.affinity }} affinity: {{- toYaml .Values.affinity | nindent 8 }} {{- end }} {{- if .Values.server.initContainers }} initContainers: {{- toYaml .Values.server.initContainers | nindent 8 }} {{- end }} {{- if .Values.server.securityContext }} securityContext: {{- toYaml .Values.server.securityContext | nindent 8 }} {{- end }} containers: - name: timebase image: {{ .Values.server.image }} imagePullPolicy: {{ .Values.server.imagePullPolicy }} resources: {{- toYaml .Values.server.resources | nindent 10 }} envFrom: - secretRef: name: {{ template "chart.fullname" . }}-server - secretRef: name: {{ template "chart.fullname" . }}-custom-user env: - name: JAVA_OPTS value: | -XX:+ExitOnOutOfMemoryError -Dnetworkaddress.cache.ttl=60s -XX:+AlwaysActAsServerClassMachine -Dgflog.app={{ .Values.server.logs.app }} -Dgflog.config=/timebase-home/config/gflog.xml -Dgflog.logLevel={{ .Values.server.logs.logLevel }} -Dgflog.maxEntriesPerSecond={{ .Values.server.logs.maxEntriesPerSecond }} {{- if .Values.server.debug }} -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError -XX:HeapDumpPath=/timebase-home/java.hprof -XX:OnOutOfMemoryError="mv /timebase-home/java.hprof /timebase-home/heapdump.hprof" {{- end }} {{- if .Values.server.heapSize -}} {{ printf " -Xms%s -Xmx%s" .Values.server.heapSize .Values.server.heapSize }} {{- else }} -XX:InitialRAMPercentage=40.0 -XX:MaxRAMPercentage=75.0 {{- end }} -Dgflog.app={{ .Values.server.logs.app }} -Dgflog.config=/timebase-home/config/gflog.xml -Dgflog.logLevel={{ .Values.server.logs.logLevel }} -Dgflog.maxEntriesPerSecond={{ .Values.server.logs.maxEntriesPerSecond }} {{- if .Values.server.serviceMonitor.enabled }} -DTimeBase.metrics.enable=true -DTimeBase.metrics.gatherJvmMetrics=true {{- end }} command: ["/bin/sh"] args: ["-c","/timebase-server/bin/tdbserver.sh ${JAVA_OPTS} -tb -home /timebase-home"] volumeMounts: - mountPath: /timebase-home name: {{ template "chart.fullname" . }}-vol - mountPath: /timebase-home/config/admin.properties name: config subPath: admin.properties {{- if or .Values.server.user .Values.server.password }} - mountPath: /timebase-home/config/uac-file-security.xml name: config subPath: uac-file-security.xml - mountPath: /timebase-home/config/uac-access-rules.xml name: config subPath: uac-access-rules.xml {{- end }} - name: gflog mountPath: /timebase-home/config/gflog.xml subPath: gflog.xml ports: - containerPort: 8011 terminationGracePeriodSeconds: {{ .Values.server.gracefulShutdownTime }} volumes: - name: config configMap: name: {{ template "chart.fullname" . }}-server items: - key: admin.properties path: admin.properties mode: 292 # 0444 {{- if or .Values.server.user .Values.server.password }} - key: uac-file-security.xml path: uac-file-security.xml mode: 292 # 0444 - key: uac-access-rules.xml path: uac-access-rules.xml mode: 292 # 0444 {{- end }} - name: gflog configMap: name: {{ template "chart.fullname" . }}-gflog-config volumeClaimTemplates: - metadata: name: {{ template "chart.fullname" . }}-vol spec: accessModes: - {{ .Values.server.persistence.accessModes | quote }} resources: requests: storage: {{ .Values.server.persistence.size | quote }} {{- if .Values.server.persistence.storageClass }} {{- if (eq "-" .Values.server.persistence.storageClass) }} storageClassName: "" {{- else }} storageClassName: "{{ .Values.server.persistence.storageClass }}" {{- end }} {{- end }}