fix(chart): shorten names with variables + improved secrets support

This commit is contained in:
Grraahaam
2023-03-13 19:51:16 +01:00
parent 10dd747899
commit 00feee6903
3 changed files with 56 additions and 34 deletions
@@ -1,3 +1,4 @@
{{- $backend := .Values.backend }}
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
@@ -9,7 +10,7 @@ metadata:
labels: labels:
{{- include "infisical.backend.labels" . | nindent 4 }} {{- include "infisical.backend.labels" . | nindent 4 }}
spec: spec:
replicas: {{ .Values.backend.replicaCount }} replicas: {{ $backend.replicaCount }}
selector: selector:
matchLabels: matchLabels:
{{- include "infisical.backend.matchLabels" . | nindent 6 }} {{- include "infisical.backend.matchLabels" . | nindent 6 }}
@@ -17,15 +18,15 @@ spec:
metadata: metadata:
labels: labels:
{{- include "infisical.backend.matchLabels" . | nindent 8 }} {{- include "infisical.backend.matchLabels" . | nindent 8 }}
{{- with .Values.backend.podAnnotations }} {{- with $backend.podAnnotations }}
annotations: annotations:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
spec: spec:
containers: containers:
- name: {{ template "infisical.name" . }}-{{ .Values.backend.name }} - name: {{ template "infisical.name" . }}-{{ $backend.name }}
image: "{{ .Values.backend.image.repository }}:{{ .Values.backend.image.tag | default .Chart.AppVersion }}" image: "{{ $backend.image.repository }}:{{ $backend.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.backend.image.pullPolicy }} imagePullPolicy: {{ $backend.image.pullPolicy }}
readinessProbe: readinessProbe:
httpGet: httpGet:
path: /api/status path: /api/status
@@ -34,32 +35,24 @@ spec:
periodSeconds: 10 periodSeconds: 10
ports: ports:
- containerPort: 4000 - containerPort: 4000
{{- if .Values.backend.kubeSecretRef }} {{- if $backend.kubeSecretRef }}
envFrom: envFrom:
- secretRef: - secretRef:
name: {{ .Values.backend.kubeSecretRef }} name: {{ $backend.kubeSecretRef }}
{{- end }} {{- end }}
env: env:
- name: MONGO_URL - name: MONGO_URL
value: {{ include "infisical.mongodb.connectionString" . | quote }} value: {{ include "infisical.mongodb.connectionString" . | quote }}
{{- if .Values.backendEnvironmentVariables }}
{{- range $key, $value := .Values.backendEnvironmentVariables }}
{{- if $value | quote | eq "MUST_REPLACE" }}
{{ fail "Environment variables are not set. Please set all environment variables to continue." }}
{{ end }}
- name: {{ $key }}
value: {{ quote $value }}
{{- end }}
{{- end }}
--- ---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ include "infisical.backend.fullname" . }} name: {{ include "infisical.backend.fullname" . }}
labels: labels:
{{- include "infisical.backend.labels" . | nindent 4 }} {{- include "infisical.backend.labels" . | nindent 4 }}
{{- with .Values.backend.service.annotations }} {{- with $backend.service.annotations }}
annotations: annotations:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
@@ -74,3 +67,15 @@ spec:
{{- if eq .Values.backend.service.type "NodePort" }} {{- if eq .Values.backend.service.type "NodePort" }}
nodePort: {{ .Values.backend.service.nodePort }} nodePort: {{ .Values.backend.service.nodePort }}
{{- end }} {{- end }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ $backend.kubeSecretRef | default "infisical-backend" }}
type: Opaque
data:
{{- range $key, $value := $backend.secrets }}
{{ $key }}: {{ $value | b64enc }}
{{- end }}
@@ -1,3 +1,4 @@
{{- $frontend := .Values.frontend }}
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
@@ -9,7 +10,7 @@ metadata:
labels: labels:
{{- include "infisical.frontend.labels" . | nindent 4 }} {{- include "infisical.frontend.labels" . | nindent 4 }}
spec: spec:
replicas: {{ .Values.frontend.replicaCount }} replicas: {{ $frontend.replicaCount }}
selector: selector:
matchLabels: matchLabels:
{{- include "infisical.frontend.matchLabels" . | nindent 6 }} {{- include "infisical.frontend.matchLabels" . | nindent 6 }}
@@ -17,26 +18,27 @@ spec:
metadata: metadata:
labels: labels:
{{- include "infisical.frontend.matchLabels" . | nindent 8 }} {{- include "infisical.frontend.matchLabels" . | nindent 8 }}
{{- with .Values.frontend.podAnnotations }} {{- with $frontend.podAnnotations }}
annotations: annotations:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
spec: spec:
containers: containers:
- name: {{ template "infisical.name" . }}-{{ .Values.frontend.name }} - name: {{ template "infisical.name" . }}-{{ $frontend.name }}
image: "{{ .Values.frontend.image.repository }}:{{ .Values.frontend.image.tag | default .Chart.AppVersion }}" image: "{{ $frontend.image.repository }}:{{ $frontend.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.frontend.image.pullPolicy }} imagePullPolicy: {{ $frontend.image.pullPolicy }}
readinessProbe: readinessProbe:
httpGet: httpGet:
path: / path: /
port: 3000 port: 3000
initialDelaySeconds: 10 initialDelaySeconds: 10
periodSeconds: 10 periodSeconds: 10
{{- if .Values.frontend.kubeSecretRef }} {{- if $frontend.kubeSecretRef }}
envFrom: envFrom:
- secretRef: - secretRef:
name: {{ .Values.frontend.kubeSecretRef }} name: {{ $frontend.kubeSecretRef }}
{{- end }} {{- end }}
# Below variables should be defined available through the above secretRef secret
{{- if .Values.frontendEnvironmentVariables }} {{- if .Values.frontendEnvironmentVariables }}
env: env:
{{- range $key, $value := .Values.frontendEnvironmentVariables }} {{- range $key, $value := .Values.frontendEnvironmentVariables }}
@@ -49,25 +51,39 @@ spec:
{{- end }} {{- end }}
ports: ports:
- containerPort: 3000 - containerPort: 3000
--- ---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ include "infisical.frontend.fullname" . }} name: {{ include "infisical.frontend.fullname" . }}
labels: labels:
{{- include "infisical.frontend.labels" . | nindent 4 }} {{- include "infisical.frontend.labels" . | nindent 4 }}
{{- with .Values.frontend.service.annotations }} {{- with $frontend.service.annotations }}
annotations: annotations:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
spec: spec:
type: {{ .Values.frontend.service.type }} type: {{ $frontend.service.type }}
selector: selector:
{{- include "infisical.frontend.matchLabels" . | nindent 8 }} {{- include "infisical.frontend.matchLabels" . | nindent 8 }}
ports: ports:
- protocol: TCP - protocol: TCP
port: 3000 # service port: 3000 # service
targetPort: 3000 # container port targetPort: 3000 # container port
{{- if eq .Values.frontend.service.type "NodePort" }} {{- if eq $frontend.service.type "NodePort" }}
nodePort: {{ .Values.frontend.service.nodePort }} nodePort: {{ $frontend.service.nodePort }}
{{- end }} {{- end }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ $frontend.kubeSecretRef | default "infisical-frontend" }}
type: Opaque
data:
{{- range $key, $value := $frontend.secrets }}
{{ $key }}: {{ $value | b64enc }}
{{- end }}
@@ -1,3 +1,4 @@
{{- $ctrlManager := .Values.controllerManager }}
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
@@ -19,7 +20,7 @@ metadata:
control-plane: controller-manager control-plane: controller-manager
{{- include "secrets-operator.labels" . | nindent 4 }} {{- include "secrets-operator.labels" . | nindent 4 }}
spec: spec:
replicas: {{ .Values.controllerManager.replicas }} replicas: {{ $ctrlManager.replicas }}
selector: selector:
matchLabels: matchLabels:
control-plane: controller-manager control-plane: controller-manager
@@ -57,14 +58,14 @@ spec:
env: env:
- name: KUBERNETES_CLUSTER_DOMAIN - name: KUBERNETES_CLUSTER_DOMAIN
value: {{ .Values.kubernetesClusterDomain }} value: {{ .Values.kubernetesClusterDomain }}
image: {{ .Values.controllerManager.kubeRbacProxy.image.repository }}:{{ .Values.controllerManager.kubeRbacProxy.image.tag image: {{ $ctrlManager.kubeRbacProxy.image.repository }}:{{ $ctrlManager.kubeRbacProxy.image.tag
| default .Chart.AppVersion }} | default .Chart.AppVersion }}
name: kube-rbac-proxy name: kube-rbac-proxy
ports: ports:
- containerPort: 8443 - containerPort: 8443
name: https name: https
protocol: TCP protocol: TCP
resources: {{- toYaml .Values.controllerManager.kubeRbacProxy.resources | nindent resources: {{- toYaml $ctrlManager.kubeRbacProxy.resources | nindent
10 }} 10 }}
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
@@ -80,7 +81,7 @@ spec:
env: env:
- name: KUBERNETES_CLUSTER_DOMAIN - name: KUBERNETES_CLUSTER_DOMAIN
value: {{ .Values.kubernetesClusterDomain }} value: {{ .Values.kubernetesClusterDomain }}
image: {{ .Values.controllerManager.manager.image.repository }}:{{ .Values.controllerManager.manager.image.tag image: {{ $ctrlManager.manager.image.repository }}:{{ $ctrlManager.manager.image.tag
| default .Chart.AppVersion }} | default .Chart.AppVersion }}
livenessProbe: livenessProbe:
httpGet: httpGet:
@@ -95,7 +96,7 @@ spec:
port: 8081 port: 8081
initialDelaySeconds: 5 initialDelaySeconds: 5
periodSeconds: 10 periodSeconds: 10
resources: {{- toYaml .Values.controllerManager.manager.resources | nindent 10 resources: {{- toYaml $ctrlManager.manager.resources | nindent 10
}} }}
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false