emulator-smev.service/deploy/helm/templates/deployment.yaml

214 lines
8.8 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Values.appName }}-deployment
namespace: {{ .Values.namespace }}
labels:
app: {{ .Values.appName }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: {{ .Values.appName }}
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
minReadySeconds: 60
template:
metadata:
labels:
app: {{ .Values.appName }}
spec:
{{- if .Values.hostAliases }}
hostAliases:
{{- range .Values.hostAliases }}
- ip: "{{ .ip }}"
hostnames:
{{- range .hostnames }}
- "{{ . }}"
{{- end }}
{{- end }}
{{- end }}
terminationGracePeriodSeconds: 30
containers:
- name: {{ .Values.appName }}-dev
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: "{{ .Values.image.pullPolicy }}"
resources:
limits:
cpu: {{ .Values.deployment.container.limits.cpu }}
memory: {{ .Values.deployment.container.limits.memory }}
requests:
cpu: {{ .Values.deployment.container.requests.cpu }}
memory: {{ .Values.deployment.container.requests.memory }}
command:
- java
- "-Xms{{ .Values.jvmOptions.xms }}"
- "-Xmx{{ .Values.jvmOptions.xmx }}"
- "{{ .Values.jvmOptions.gc }}"
- "-Duser.timezone={{ .Values.jvmOptions.timezone }}"
- "-Dfile.encoding={{ .Values.jvmOptions.encoding }}"
- "-Dcom.sun.management.jmxremote"
- "-Dcom.sun.management.jmxremote.port={{ .Values.jvmOptions.portJMX }}"
- "-Dcom.sun.management.jmxremote.authenticate={{ .Values.jvmOptions.authenticateJMX }}"
- "-Dcom.sun.management.jmxremote.ssl={{ .Values.jvmOptions.sslJMX }}"
- "-Djava.rmi.server.hostname={{ .Values.jvmOptions.hostnameJMX }}"
- "-Dcom.sun.management.jmxremote.local.only={{ .Values.jvmOptions.localOnlyJMX }}"
- "-DLOGGING_FILE_PATH={{ .Values.jvmOptions.logFilePath }}"
- "-DLOGGING_FILE_NAME={{ .Values.jvmOptions.logFileName }}"
- "-XX:MinHeapFreeRatio={{ .Values.jvmOptions.minHeapFreeRatio }}"
- "-XX:MaxHeapFreeRatio={{ .Values.jvmOptions.maxHeapFreeRatio }}"
- -jar
- "{{ .Values.jarFile }}"
volumeMounts:
- name: emulator-smev-logs
mountPath: {{ .Values.jvmOptions.logFilePath }}
ports:
- containerPort: {{ .Values.service.port }}
- containerPort: {{ .Values.service.portJMX }}
env:
{{- if .Values.secret.data.APPLICATION_NAME }}
- name: APPLICATION_NAME
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.APPLICATION_NAME }}
{{- end }}
{{- if .Values.secret.data.APPLICATION_VERSION }}
- name: APPLICATION_VERSION
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.APPLICATION_VERSION }}
{{- end }}
{{- if .Values.secret.data.SERVER_PORT }}
- name: SERVER_PORT
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.SERVER_PORT }}
{{- end }}
{{- if .Values.secret.data.SPRING_DATASOURCE_URL }}
- name: SPRING_DATASOURCE_URL
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.SPRING_DATASOURCE_URL }}
{{- end }}
{{- if .Values.secret.data.SPRING_DATASOURCE_USERNAME }}
- name: SPRING_DATASOURCE_USERNAME
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.SPRING_DATASOURCE_USERNAME }}
{{- end }}
{{- if .Values.secret.data.SPRING_DATASOURCE_PASSWORD }}
- name: SPRING_DATASOURCE_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.SPRING_DATASOURCE_PASSWORD }}
{{- end }}
{{- if .Values.secret.data.SWAGGER_URL }}
- name: SWAGGER_URL
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.SWAGGER_URL }}
{{- end }}
{{- if .Values.secret.data.AUDIT_URL }}
- name: AUDIT_URL
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.AUDIT_URL }}
{{- end }}
{{- if .Values.secret.data.WHITE_LIST }}
- name: WHITE_LIST
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.WHITE_LIST }}
{{- end }}
{{- if .Values.secret.data.ACTUATOR_ENDPOINTS }}
- name: ACTUATOR_ENDPOINTS
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.ACTUATOR_ENDPOINTS }}
{{- end }}
{{- if .Values.secret.data.LOG_SERVICE_BASE_URI }}
- name: LOG_SERVICE_BASE_URI
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.LOG_SERVICE_BASE_URI }}
{{- end }}
{{- if .Values.secret.data.ASYNC_REST_EXECUTOR_TARGET_CPU_UTILIZATION }}
- name: ASYNC_REST_EXECUTOR_TARGET_CPU_UTILIZATION
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.ASYNC_REST_EXECUTOR_TARGET_CPU_UTILIZATION }}
{{- end }}
{{- if .Values.secret.data.ASYNC_REST_EXECUTOR_IO_TIME_MS }}
- name: ASYNC_REST_EXECUTOR_IO_TIME_MS
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.ASYNC_REST_EXECUTOR_IO_TIME_MS }}
{{- end }}
{{- if .Values.secret.data.ASYNC_REST_EXECUTOR_CPU_TIME_MS }}
- name: ASYNC_REST_EXECUTOR_CPU_TIME_MS
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.ASYNC_REST_EXECUTOR_CPU_TIME_MS }}
{{- end }}
{{- if .Values.secret.data.ASYNC_REST_QUEUE_CAPACITY }}
- name: ASYNC_REST_QUEUE_CAPACITY
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.ASYNC_REST_QUEUE_CAPACITY }}
{{- end }}
{{- if .Values.secret.data.ASYNC_WS_EXECUTOR_TARGET_CPU_UTILIZATION }}
- name: ASYNC_WS_EXECUTOR_TARGET_CPU_UTILIZATION
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.ASYNC_WS_EXECUTOR_TARGET_CPU_UTILIZATION }}
{{- end }}
{{- if .Values.secret.data.ASYNC_WS_EXECUTOR_IO_TIME_MS }}
- name: ASYNC_WS_EXECUTOR_IO_TIME_MS
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.ASYNC_WS_EXECUTOR_IO_TIME_MS }}
{{- end }}
{{- if .Values.secret.data.ASYNC_WS_EXECUTOR_CPU_TIME_MS }}
- name: ASYNC_WS_EXECUTOR_CPU_TIME_MS
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.ASYNC_WS_EXECUTOR_CPU_TIME_MS }}
{{- end }}
{{- if .Values.secret.data.ASYNC_WS_QUEUE_CAPACITY }}
- name: ASYNC_WS_QUEUE_CAPACITY
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.env.ASYNC_WS_QUEUE_CAPACITY }}
{{- end }}
volumes:
- name: emulator-smev-logs
hostPath:
path: {{ .Values.jvmOptions.logFilePath }}
type: DirectoryOrCreate
imagePullSecrets:
{{- range .Values.imagePullSecrets }}
- name: {{ . }}
{{- end }}