charts/devlake/templates/deployments.yaml (161 lines of code) (raw):
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
---
# devlake-ui
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "devlake.fullname" . }}-ui
labels:
{{- include "devlake.labels" . | nindent 4 }}
spec:
replicas: 1
selector:
matchLabels:
{{- include "devlake.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
{{- include "devlake.selectorLabels" . | nindent 8 }}
devlakeComponent: ui
{{- with .Values.ui.extraLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .Values.ui.securityContext }}
securityContext:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: config-ui
{{- if .Values.ui.image.tag }}
image: "{{ .Values.ui.image.repository }}:{{ .Values.ui.image.tag }}"
{{- else }}
image: "{{ .Values.ui.image.repository }}:{{ .Values.imageTag }}"
{{- end }}
imagePullPolicy: {{ .Values.ui.image.pullPolicy }}
ports:
- containerPort: 4000
{{- if .Values.ui.basicAuth.enabled }}
envFrom:
- secretRef:
name: {{ include "devlake.ui.auth.secret" . }}
{{- end }}
env:
- name: DEVLAKE_ENDPOINT
value: {{ include "devlake.fullname" . }}-lake.{{ .Release.Namespace }}.svc.cluster.local:8080
{{- if not .Values.grafana.enabled }}
- name: GRAFANA_ENDPOINT
value: {{ .Values.grafana.external.url }}
- name: USE_EXTERNAL_GRAFANA
value: "true"
{{- else }}
- name: GRAFANA_ENDPOINT
value: {{ .Release.Name }}-grafana.{{ .Release.Namespace }}.svc.cluster.local:80
{{- end }}
{{- with .Values.envs }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.ui.resources }}
resources:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.ui.containerSecurityContext }}
securityContext:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.ui.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.ui.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.ui.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
---
# devlake
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "devlake.fullname" . }}-lake
labels:
{{- include "devlake.labels" . | nindent 4 }}
spec:
replicas: 1
selector:
matchLabels:
{{- include "devlake.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
{{- include "devlake.selectorLabels" . | nindent 8 }}
devlakeComponent: lake
{{- with .Values.lake.extraLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .Values.lake.securityContext }}
securityContext:
{{- toYaml . | nindent 8 }}
{{- end }}
initContainers:
{{- include "common.initContainerWaitDatabase" . | nindent 8 }}
{{- with .Values.lake.containerSecurityContext }}
securityContext:
{{- toYaml . | nindent 12 }}
{{- end }}
containers:
- name: lake
{{- if .Values.lake.image.tag }}
image: "{{ .Values.lake.image.repository }}:{{ .Values.lake.image.tag }}"
{{- else }}
image: "{{ .Values.lake.image.repository }}:{{ .Values.imageTag }}"
{{- end }}
imagePullPolicy: {{ .Values.lake.image.pullPolicy }}
ports:
- containerPort: {{ .Values.lake.port }}
livenessProbe:
httpGet:
path: /ping
port: {{ .Values.lake.port }}
scheme: HTTP
initialDelaySeconds: 60
timeoutSeconds: 30
envFrom:
- secretRef:
name: {{ include "devlake.mysql.secret" . }}
- secretRef:
name: {{ include "devlake.lake.encryption.secret" . }}
env:
- name: PORT
value: "{{ .Values.lake.port }}"
{{- with .Values.lake.envs }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.envs }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.lake.resources }}
resources:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.lake.containerSecurityContext }}
securityContext:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- if .Values.lake.hostNetwork }}
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
{{- end }}
{{- with .Values.lake.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.lake.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.lake.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}