cw-infra-apps/charts/backend/charts/call-app-k8s/templates/deployment.yaml
2025-06-26 21:54:57 +03:00

132 lines
5.1 KiB
YAML
Executable File

apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "call-app-k8s.fullname" . }}
labels:
{{- include "call-app-k8s.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "call-app-k8s.selectorLabels" . | nindent 6 }}
template:
metadata:
annotations:
{{- toYaml .Values.podAnnotations | nindent 8 }}
labels:
{{- include "call-app-k8s.selectorLabels" . | nindent 8 }}
{{- toYaml .Values.podLabels | nindent 8 }}
spec:
volumes:
- name: ca-cert
configMap:
name: auth-app-ca-cert
items:
- key: RootCA_{{ .Values.env.cert_alias }}.crt
path: RootCA_{{ .Values.env.cert_alias }}.crt
- name: cacerts-volume
emptyDir: {}
initContainers:
- name: import-ca
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
env:
- name: CERT_ALIAS
value: {{ .Values.env.cert_alias | quote }}
volumeMounts:
- name: ca-cert
mountPath: /app/resources
- name: cacerts-volume
mountPath: /tmp/cacerts
command:
- sh
- -c
- |
cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts &&
keytool -import -trustcacerts -storepass changeit -noprompt \
-alias gemcert \
-file /app/resources/RootCA_${CERT_ALIAS}.crt \
-keystore /tmp/cacerts/cacerts
containers:
- name: call-app
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- containerPort: 5005
protocol: TCP
targetPort: 5005
- containerPort: 9090
protocol: TCP
targetPort: 9090
env:
- name: TENANT_ID
value: {{ .Values.env.TENANT_ID | quote }}
- name: CASSANDRA_CONTACTPOINT
value: {{ .Values.env.cassandra.contactPoint | quote }}
- name: CASSANDRA_DATACENTER
value: {{ .Values.env.cassandra.datacenter | quote }}
- name: CASSANDRA_USERNAME
valueFrom:
secretKeyRef:
name: {{ .Values.secrets.cassandra.name }}
key: {{ .Values.secrets.cassandra.usernameKey }}
- name: CASSANDRA_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.secrets.cassandra.name }}
key: {{ .Values.secrets.cassandra.passwordKey }}
- name: KAFKA
value: {{ .Values.env.kafka.brokers | quote }}
- name: KAFKA_USERNAME
valueFrom:
secretKeyRef:
name: {{ .Values.secrets.kafka.name }}
key: {{ .Values.secrets.kafka.usernameKey }}
- name: KAFKA_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.secrets.kafka.name }}
key: {{ .Values.secrets.kafka.passwordKey }}
- name: KEYCLOAK_URL
value: {{ .Values.env.keycloak.url | quote }}
- name: LIVEKIT_API_KEY
valueFrom:
secretKeyRef:
name: {{ .Values.secrets.livekit.name }}
key: {{ .Values.secrets.livekit.apiKeyKey }}
- name: LIVEKIT_SECRET
valueFrom:
secretKeyRef:
name: {{ .Values.secrets.livekit.name }}
key: {{ .Values.secrets.livekit.secretKey }}
- name: RECORDING_ACCESS_KEY
valueFrom:
secretKeyRef:
name: {{ .Values.secrets.recording.name }}
key: {{ .Values.secrets.recording.accessKeyKey }}
- name: RECORDING_API_HOST
value: {{ .Values.env.livekit.apiHost | quote }}
- name: RECORDING_BUCKET
value: {{ .Values.env.recording.bucket | quote }}
- name: RECORDING_ENDPOINT
value: {{ .Values.env.recording.endpoint | quote }}
- name: RECORDING_REGION
value: {{ .Values.env.recording.region | quote }}
- name: RECORDING_SECRET
valueFrom:
secretKeyRef:
name: {{ .Values.secrets.recording.name }}
key: {{ .Values.secrets.recording.secretKeyKey }}
- name: REDIS_HOST
value: {{ .Values.env.redis.host | quote }}
- name: REDIS_PORT
value: {{ .Values.env.redis.port | quote }}
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.secrets.redis.name }}
key: {{ .Values.secrets.redis.passwordKey }}
volumeMounts:
- name: cacerts-volume
mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts
subPath: cacerts