Files

146 lines
5.9 KiB
YAML

{{- include "openwork-ee.customCa.validate" . }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "openwork-ee.denApiServiceName" . }}
labels:
{{- include "openwork-ee.componentLabels" (dict "root" . "component" "den-api") | nindent 4 }}
{{- with .Values.denApi.service.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.denApi.service.type }}
{{- with .Values.denApi.service.loadBalancerClass }}
loadBalancerClass: {{ . | quote }}
{{- end }}
{{- with .Values.denApi.service.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{- toYaml . | nindent 4 }}
{{- end }}
ports:
- name: http
port: {{ .Values.denApi.service.port }}
targetPort: http
selector:
{{- include "openwork-ee.componentSelectorLabels" (dict "root" . "component" "den-api") | nindent 4 }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "openwork-ee.fullname" . }}-den-api
labels:
{{- include "openwork-ee.componentLabels" (dict "root" . "component" "den-api") | nindent 4 }}
spec:
replicas: {{ .Values.denApi.replicaCount }}
selector:
matchLabels:
{{- include "openwork-ee.componentSelectorLabels" (dict "root" . "component" "den-api") | nindent 6 }}
template:
metadata:
labels:
{{- include "openwork-ee.componentSelectorLabels" (dict "root" . "component" "den-api") | nindent 8 }}
{{- with .Values.denApi.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
{{- with .Values.denApi.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if .Values.installerArtifacts.enabled }}
{{- if and .Values.installerArtifacts.existingClaim .Values.installerArtifacts.hostPath }}
{{- fail "installerArtifacts.existingClaim and installerArtifacts.hostPath are mutually exclusive" }}
{{- end }}
{{- if not (or .Values.installerArtifacts.existingClaim .Values.installerArtifacts.hostPath) }}
{{- fail "installerArtifacts.existingClaim or installerArtifacts.hostPath is required when installerArtifacts.enabled=true" }}
{{- end }}
{{- end }}
{{- if or .Values.installerArtifacts.enabled .Values.customCa.enabled }}
volumes:
{{- if .Values.installerArtifacts.enabled }}
- name: installer-artifacts
{{- if .Values.installerArtifacts.existingClaim }}
persistentVolumeClaim:
claimName: {{ .Values.installerArtifacts.existingClaim | quote }}
{{- else }}
hostPath:
path: {{ .Values.installerArtifacts.hostPath | quote }}
type: Directory
{{- end }}
{{- end }}
{{- if .Values.customCa.enabled }}
{{- include "openwork-ee.customCa.volume" . | nindent 8 }}
{{- end }}
{{- end }}
containers:
- name: den-api
image: "{{ .Values.denApi.image.repository }}:{{ default .Values.image.tag .Values.denApi.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: {{ .Values.denApi.containerPort }}
{{- if or .Values.installerArtifacts.enabled .Values.customCa.enabled }}
volumeMounts:
{{- if .Values.installerArtifacts.enabled }}
- name: installer-artifacts
mountPath: {{ .Values.installerArtifacts.mountPath | quote }}
readOnly: true
{{- end }}
{{- if .Values.customCa.enabled }}
{{- include "openwork-ee.customCa.volumeMount" . | nindent 12 }}
{{- end }}
{{- end }}
envFrom:
- configMapRef:
name: {{ include "openwork-ee.configName" . }}
- secretRef:
name: {{ include "openwork-ee.secretName" . }}
env:
- name: PORT
value: {{ .Values.denApi.containerPort | quote }}
{{- if not (hasKey .Values.denApi.env "NODE_OPTIONS") }}
# Keep this as a direct value so upgrades from legacy denApi.env.NODE_OPTIONS
# do not leave both value and valueFrom in Kubernetes' strategic merge patch.
- name: NODE_OPTIONS
value: {{ .Values.config.denApiNodeOptions | quote }}
# Explicitly clear the valueFrom emitted by chart 0.17.24 during upgrades.
valueFrom: null
{{- end }}
{{- if .Values.installerArtifacts.enabled }}
- name: OPENWORK_INSTALLER_ARTIFACTS_DIR
value: {{ .Values.installerArtifacts.mountPath | quote }}
{{- end }}
{{- if .Values.customCa.enabled }}
{{- include "openwork-ee.customCa.env" . | nindent 12 }}
{{- end }}
{{- if eq (include "openwork-ee.allowPrivateMcpUrls" .) "1" }}
- name: DEN_ALLOW_PRIVATE_MCP_URLS
value: "1"
{{- end }}
{{- include "openwork-ee.observabilityEnv" (dict "root" . "serviceName" .Values.observability.serviceNames.denApi) | nindent 12 }}
{{- range $key, $value := .Values.denApi.env }}
- name: {{ $key }}
value: {{ $value | quote }}
{{- end }}
livenessProbe:
httpGet:
path: /health
port: http
{{- toYaml .Values.denApi.probes.liveness | nindent 12 }}
readinessProbe:
httpGet:
path: /ready
port: http
{{- toYaml .Values.denApi.probes.readiness | nindent 12 }}
{{- with .Values.denApi.resources }}
resources:
{{- toYaml . | nindent 12 }}
{{- end }}