freeleaps-ops/operators/freeleaps-gitops-initializer/internal/helm/templates/deployment/deployment.yaml.tpl
zhenyus 0e256f8708 chore(git): code staging
Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-02-17 14:02:49 +08:00

101 lines
5.3 KiB
Smarty

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/name: [[ .Name | quote ]]
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }}
name: [[ .Name | quote ]]
namespace: {{ .Release.Namespace | quote }}
spec:
selector:
matchLabels:
app.kubernetes.io/name: [[ .Name | quote ]]
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
replicas: {{ .Values.[[ .Name ]].replicas }}
template:
metadata:
labels:
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/name: [[ .Name | quote ]]
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
containers:
- name: [[ .Name | quote]]
image: "{{ coalesce .Values.[[ .Name ]].image.registry .Values.global.registry "docker.io"}}/{{ coalesce .Values.[[ .Name ]].image.repository .Values.global.repository }}/{{ .Values.[[ .Name ]].image.name }}:{{ .Values.[[ .Name ]].image.tag | default "latest" }}"
imagePullPolicy: {{ .Values.[[ .Name ]].image.imagePullPolicy | default "IfNotPresent" }}
ports:
{{- range $port := .Values.[[ .Name ]].ports }}
- containerPort: {{ $port.containerPort }}
name: {{ $port.name }}
protocol: {{ $port.protocol }}
{{- end }}
{{- if .Values.[[ .Name ]].resources }}
resources:
{{- toYaml .Values.[[ .Name ]].resources | nindent 12 }}
{{- end }}
{{- if .Values.[[ .Name ]].probes }}
{{- if and (.Values.[[ .Name ]].probes.liveness) (eq .Values.[[ .Name ]].probes.liveness.type "httpGet") }}
livenessProbe:
httpGet:
path: {{ .Values.[[ .Name ]].probes.liveness.config.path }}
port: {{ .Values.[[ .Name ]].probes.liveness.config.port }}
{{- if .Values.[[ .Name ]].probes.liveness.config.initialDelaySeconds }}
initialDelaySeconds: {{ .Values.[[ .Name ]].probes.liveness.config.initialDelaySeconds }}
{{- end }}
{{- if .Values.[[ .Name ]].probes.liveness.config.periodSeconds }}
periodSeconds: {{ .Values.[[ .Name ]].probes.liveness.config.periodSeconds }}
{{- end }}
{{- if .Values.[[ .Name ]].probes.liveness.config.timeoutSeconds }}
timeoutSeconds: {{ .Values.[[ .Name ]].probes.liveness.config.timeoutSeconds }}
{{- end }}
{{- if .Values.[[ .Name ]].probes.liveness.config.successThreshold }}
successThreshold: {{ .Values.[[ .Name ]].probes.liveness.config.successThreshold }}
{{- end }}
{{- if .Values.[[ .Name ]].probes.liveness.config.failureThreshold }}
failureThreshold: {{ .Values.[[ .Name ]].probes.liveness.config.failureThreshold }}
{{- end }}
{{- if .Values.[[ .Name ]].probes.liveness.config.terminationGracePeriodSeconds }}
terminationGracePeriodSeconds: {{ .Values.[[ .Name ]].probes.liveness.config.terminationGracePeriodSeconds }}
{{- end }}
{{- end }}
{{- if and (.Values.[[ .Name ]].probes.readiness) (eq .Values.[[ .Name ]].probes.readiness.type "httpGet") }}
readinessProbe:
httpGet:
path: {{ .Values.[[ .Name ]].probes.readiness.config.path }}
port: {{ .Values.[[ .Name ]].probes.readiness.config.port }}
{{- if .Values.[[ .Name ]].probes.readiness.config.initialDelaySeconds }}
initialDelaySeconds: {{ .Values.[[ .Name ]].probes.readiness.config.initialDelaySeconds }}
{{- end }}
{{- if .Values.[[ .Name ]].probes.readiness.config.periodSeconds }}
periodSeconds: {{ .Values.[[ .Name ]].probes.readiness.config.periodSeconds }}
{{- end }}
{{- if .Values.[[ .Name ]].probes.readiness.config.timeoutSeconds }}
timeoutSeconds: {{ .Values.[[ .Name ]].probes.readiness.config.timeoutSeconds }}
{{- end }}
{{- if .Values.[[ .Name ]].probes.readiness.config.successThreshold }}
successThreshold: {{ .Values.[[ .Name ]].probes.readiness.config.successThreshold }}
{{- end }}
{{- if .Values.[[ .Name ]].probes.readiness.config.failureThreshold }}
failureThreshold: {{ .Values.[[ .Name ]].probes.readiness.config.failureThreshold }}
{{- end }}
{{- if .Values.[[ .Name ]].probes.readiness.config.terminationGracePeriodSeconds }}
terminationGracePeriodSeconds: {{ .Values.[[ .Name ]].probes.readiness.config.terminationGracePeriodSeconds }}
{{- end }}
{{- end }}
{{- end}}
env:
[[- $componentName := .Name ]]
[[- range $config := .Configs ]]
{{- range $key, $value := .Values.[[ $componentName ]].configs }}
- name: {{ $key | snakecase | upper }}
valueFrom:
secretKeyRef:
name: [[ $config.Name ]]
key: {{ $key | snakecase | upper }}
{{- end }}
[[- end ]]