{{- include "nplus.init" $ -}} apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ .component.fullName }} {{- if .this.utils.includeNamespace }} namespace: {{ .Release.Namespace }} {{- end }} labels: {{- include "nplus.instanceLabels" . | nindent 4 }} annotations: {{- include "nplus.argoWave" . | nindent 4 }} {{- include "nplus.annotations" . | nindent 4 }} {{- include "nplus.securityAnnotations" . | nindent 4 }} spec: serviceName: {{ .component.fullName }} selector: matchLabels: {{- include "nplus.selectorLabels" . | nindent 6 }} replicas: {{ .Values.replicaCount }} podManagementPolicy: OrderedReady updateStrategy: type: {{ .Values.updateStrategy | default "OnDelete" }} minReadySeconds: 5 template: metadata: labels: {{- include "nplus.templateLabels" . | nindent 8 }} annotations: {{- include "nplus.templateAnnotations" . | nindent 8 }} {{- include "nplus.securityAnnotations" . | nindent 8 }} spec: {{- include "nplus.imagePullSecrets" . | nindent 6 }} {{- include "nplus.podSecurityContext" . | nindent 6 }} {{- include "nplus.securityIllumioReadinessGates" . | nindent 6 }} {{- include "nplus.terminationGracePeriodSeconds" . | nindent 6 }} initContainers: {{- include "nplus.waitFor" . | nindent 6 }} {{- include "nplus.copyConfig" . | nindent 6 }} containers: - name: monitoring-console image: {{ include "nplus.image" (dict "global" .Values.global "image" .Values.image) }} imagePullPolicy: {{ include "nplus.imagePullPolicy" .Values.image }} {{- include "nplus.containerSecurityContext" . | nindent 8 }} env: # -- MC Configuration Settings {{- include "nplus.env" (dict "RMI_ACTIVE" (.this.activateRmi | default "false") "SSL_ACTIVE" (.this.activateSsl | default "true") ) | nindent 10 }} # -- undocumented MC Configuration Settings, found in github #TODO: pls. see "ITSMSD-8923 ENV Variablen nscale MC" for current status {{- include "nplus.env" (dict "MC_APPENDER" "Console" "INITIALIZE_COMPOSE" "true" "MC_PASSWORD" "admin" ) | nindent 10 }} {{- include "nplus.environment" . | nindent 8 }} {{- if .this.utils.maintenance }} {{- include "nplus.idle" . | nindent 8 }} {{- else }} startupProbe: httpGet: path: /nscalemc/ port: {{ include "nplus.backendPort" . }} scheme: {{ include "nplus.backendProtocol" . | upper }} initialDelaySeconds: 10 failureThreshold: 12 periodSeconds: 10 timeoutSeconds: 5 readinessProbe: httpGet: path: /nscalemc/ port: {{ include "nplus.backendPort" . }} scheme: {{ include "nplus.backendProtocol" . | upper }} # -- Ceyoniq does currently not define an *official* livenessProbe, so we use # one that quickly checks the main socket on Layer 4. livenessProbe: tcpSocket: port: {{ include "nplus.backendPort" . }} # initialDelaySeconds: 20 periodSeconds: 10 {{- end }} ports: {{- include "nplus.defaultContainerPorts" . | nindent 8 }} {{- include "nplus.resources" . | nindent 8 }} volumeMounts: {{- include "nplus.defaultMounts" . | nindent 8 }} volumes: {{- include "nplus.defaultVolumes" . | nindent 6 }}