diff --git a/templates/_all.tpl b/templates/_all.tpl index 7686a5b..698022c 100644 --- a/templates/_all.tpl +++ b/templates/_all.tpl @@ -14,9 +14,9 @@ Main entrypoint for the common library chart. It will render all underlying temp {{ include "lib.configs" . | nindent 0 }} {{ if .Values.controller.enabled }} {{ if eq .Values.controller.type "statefulset" }} - {{- include "lib.statefulset" . | nindent 0}} + {{- include "lib.statefulset" . | nindent 0 }} + {{ else if eq .Values.controller.type "deployment" }} + {{- include "lib.deployment" . | nindent 0 }} {{- end -}} {{- end -}} {{- end -}} - - diff --git a/templates/_deployment.tpl b/templates/_deployment.tpl new file mode 100644 index 0000000..d7b896e --- /dev/null +++ b/templates/_deployment.tpl @@ -0,0 +1,79 @@ +{{- define "lib.deployment" -}} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "lib.fullname" . }} + labels: + {{- include "lib.labels" . | nindent 4 }} +spec: + {{- if not .Values.autoscaling.enabled }} + replicas: {{ .Values.replicaCount }} + {{- end }} + selector: + matchLabels: + {{- include "lib.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "lib.labels" . | nindent 8 }} + {{- with .Values.podLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "lib.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ .Chart.Name }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + {{- range $name, $values := .Values.service -}} + {{- if $values.enabled -}} + {{- range $k, $v := $values.ports }} + - name: {{ $k }} + containerPort: {{ default $v.port $v.targetPort }} + protocol: {{ default "HTTP" $v.protocol }} + {{- end -}} + {{- end -}} + {{- end }} + env: + {{- include "lib.environmentVariables" . | default "[]" | nindent 12 }} + livenessProbe: + {{- toYaml .Values.livenessProbe | nindent 12 }} + readinessProbe: + {{- toYaml .Values.readinessProbe | nindent 12 }} + resources: + {{- toYaml .Values.resources | nindent 12 }} + {{- with .Values.volumeMounts }} + volumeMounts: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with .Values.volumes }} + volumes: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} +{{- end }} diff --git a/templates/_service.tpl b/templates/_service.tpl index 5f924df..8ea41ae 100644 --- a/templates/_service.tpl +++ b/templates/_service.tpl @@ -14,16 +14,16 @@ metadata: labels: {{- $labels | nindent 4 }} spec: - type: {{ $values.type }} + type: {{ default "ClusterIP" $values.type }} ports: {{- range $k, $v := $values.ports }} - port: {{ $v.port }} - targetPort: {{ default $v.targetPort $v.port }} - protocol: {{ $v.protocol }} + targetPort: {{ default $v.port $v.targetPort }} + protocol: {{ default "HTTP" $v.protocol }} name: {{ $k }} {{- end }} selector: {{- $selectorlabels | nindent 4 }} {{- end -}} {{- end -}} -{{- end -}} \ No newline at end of file +{{- end -}}