From d2a7fafb33737cfbaf43307bc7047b60cb47430a Mon Sep 17 00:00:00 2001 From: Amarpreet Minhas Date: Tue, 3 Jan 2023 16:19:01 +0000 Subject: [PATCH 1/2] First pass --- library/common/.helmignore | 23 ++++++ library/common/Chart.yaml | 5 ++ library/common/common-0.1.0.tgz | Bin 0 -> 14269 bytes library/common/templates/_NOTES.txt | 7 ++ library/common/templates/_deployment.yaml | 64 +++++++++++++++++ library/common/templates/_helpers.tpl.bak | 62 ++++++++++++++++ library/common/templates/_hpa.yaml | 30 ++++++++ library/common/templates/_service.yaml | 13 ++++ sudoscientist-go-backend/Chart.lock | 8 +-- sudoscientist-go-backend/Chart.yaml | 4 +- .../charts/common-1.2.0.tgz | Bin 27879 -> 0 bytes sudoscientist-go-backend/templates/NOTES.txt | 22 ------ .../templates/_helpers.tpl | 63 +---------------- .../templates/deployment.yaml | 66 +----------------- .../templates/ingress.yaml | 61 ---------------- .../templates/service.yaml | 16 +---- .../templates/serviceaccount.yaml | 12 ---- .../templates/tests/test-connection.yaml | 15 ---- sudoscientist-go-backend/values.yaml | 23 ------ 19 files changed, 213 insertions(+), 281 deletions(-) create mode 100644 library/common/.helmignore create mode 100644 library/common/Chart.yaml create mode 100644 library/common/common-0.1.0.tgz create mode 100644 library/common/templates/_NOTES.txt create mode 100644 library/common/templates/_deployment.yaml create mode 100644 library/common/templates/_helpers.tpl.bak create mode 100644 library/common/templates/_hpa.yaml create mode 100644 library/common/templates/_service.yaml delete mode 100644 sudoscientist-go-backend/charts/common-1.2.0.tgz delete mode 100644 sudoscientist-go-backend/templates/ingress.yaml delete mode 100644 sudoscientist-go-backend/templates/serviceaccount.yaml delete mode 100644 sudoscientist-go-backend/templates/tests/test-connection.yaml delete mode 100644 sudoscientist-go-backend/values.yaml diff --git a/library/common/.helmignore b/library/common/.helmignore new file mode 100644 index 0000000..0e8a0eb --- /dev/null +++ b/library/common/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/library/common/Chart.yaml b/library/common/Chart.yaml new file mode 100644 index 0000000..b591dc9 --- /dev/null +++ b/library/common/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v2 +name: common +description: Asara's common library chart +type: library +version: 0.1.0 diff --git a/library/common/common-0.1.0.tgz b/library/common/common-0.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..1591017194e949354e19c1eeab7b8348ce62577f GIT binary patch literal 14269 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 literal 0 HcmV?d00001 diff --git a/library/common/templates/_NOTES.txt b/library/common/templates/_NOTES.txt new file mode 100644 index 0000000..084e08c --- /dev/null +++ b/library/common/templates/_NOTES.txt @@ -0,0 +1,7 @@ +1. Get the application URL by running these commands: +{{- if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "common.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT +{{- end }} diff --git a/library/common/templates/_deployment.yaml b/library/common/templates/_deployment.yaml new file mode 100644 index 0000000..1910db9 --- /dev/null +++ b/library/common/templates/_deployment.yaml @@ -0,0 +1,64 @@ +{{ define "common.deployment" }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Values.common.fullname }} +spec: + {{- if not .Values.autoscaling.enabled }} + replicas: {{ .Values.replicaCount }} + {{- end }} + selector: + matchLabels: + app.kubernetes.io/name: {{ .Values.common.fullname }} + app.kubernetes.io/instance: {{ .Values.common.fullname }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ .Values.common.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 }} + env: + {{- if .Values.env }} + {{- toYaml .Values.env | nindent 12 }} + {{- end }} + ports: + - name: http + containerPort: {{ .Values.service.port }} + protocol: TCP + livenessProbe: + httpGet: + path: / + port: http + readinessProbe: + httpGet: + path: / + port: http + resources: + {{- toYaml .Values.resources | nindent 12 }} + {{- 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/library/common/templates/_helpers.tpl.bak b/library/common/templates/_helpers.tpl.bak new file mode 100644 index 0000000..5c3f420 --- /dev/null +++ b/library/common/templates/_helpers.tpl.bak @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "common.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "common.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "common.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "common.labels" -}} +helm.sh/chart: {{ include "common.chart" . }} +{{ include "common.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "common.selectorLabels" -}} +app.kubernetes.io/name: {{ include "common.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "common.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "common.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/library/common/templates/_hpa.yaml b/library/common/templates/_hpa.yaml new file mode 100644 index 0000000..e992187 --- /dev/null +++ b/library/common/templates/_hpa.yaml @@ -0,0 +1,30 @@ +{{ define "common.hpa" }} +{{- if .Values.autoscaling.enabled }} +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + name: {{ include "common.fullname" . }} + labels: + {{- include "common.labels" . | nindent 4 }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ include "common.fullname" . }} + minReplicas: {{ .Values.autoscaling.minReplicas }} + maxReplicas: {{ .Values.autoscaling.maxReplicas }} + metrics: + {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} +{{- end }} +{{- end }} diff --git a/library/common/templates/_service.yaml b/library/common/templates/_service.yaml new file mode 100644 index 0000000..e52a750 --- /dev/null +++ b/library/common/templates/_service.yaml @@ -0,0 +1,13 @@ +{{ define "common.service" }} +apiVersion: v1 +kind: Service +metadata: + name: {{ .Values.common.fullname }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: http + protocol: TCP + name: http +{{- end }} diff --git a/sudoscientist-go-backend/Chart.lock b/sudoscientist-go-backend/Chart.lock index acbdb3c..c4e1487 100644 --- a/sudoscientist-go-backend/Chart.lock +++ b/sudoscientist-go-backend/Chart.lock @@ -1,6 +1,6 @@ dependencies: - name: common - repository: https://bjw-s.github.io/helm-charts/ - version: 1.2.0 -digest: sha256:4a59834889563e94dab9d298b62e8a095be18c459593c42307f99d5f1ea51027 -generated: "2022-12-31T18:26:05.702450278Z" + repository: https://charts.minhas.io + version: 0.1.0 +digest: sha256:406bfea256905aa3e1ea4e4af7420db7a78a674d3e967316970e52077012bb5d +generated: "2023-01-03T04:06:37.22850766Z" diff --git a/sudoscientist-go-backend/Chart.yaml b/sudoscientist-go-backend/Chart.yaml index 1a4c534..cbfb26c 100644 --- a/sudoscientist-go-backend/Chart.yaml +++ b/sudoscientist-go-backend/Chart.yaml @@ -7,5 +7,5 @@ appVersion: "1.16.0" # bjw-s common chart dependencies: - name: common - version: 1.2.0 - repository: https://bjw-s.github.io/helm-charts/ + version: 0.1.0 + repository: https://charts.minhas.io diff --git a/sudoscientist-go-backend/charts/common-1.2.0.tgz b/sudoscientist-go-backend/charts/common-1.2.0.tgz deleted file mode 100644 index 33e54e556459286fe21492686e5da4ba09424535..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27879 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

(7~6rB?Ik$hTI_KrP)G)K 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ℜkLGZi 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 W`}X%tfBy>r0RR8K_x*MNtO5Wkv!~+# diff --git a/sudoscientist-go-backend/templates/NOTES.txt b/sudoscientist-go-backend/templates/NOTES.txt index 62573e8..e69de29 100644 --- a/sudoscientist-go-backend/templates/NOTES.txt +++ b/sudoscientist-go-backend/templates/NOTES.txt @@ -1,22 +0,0 @@ -1. Get the application URL by running these commands: -{{- if .Values.ingress.enabled }} -{{- range $host := .Values.ingress.hosts }} - {{- range .paths }} - http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }} - {{- end }} -{{- end }} -{{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "sudoscientist-go-backend.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT -{{- else if contains "LoadBalancer" .Values.service.type }} - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "sudoscientist-go-backend.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "sudoscientist-go-backend.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") - echo http://$SERVICE_IP:{{ .Values.service.port }} -{{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "sudoscientist-go-backend.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") - echo "Visit http://127.0.0.1:8080 to use your application" - kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT -{{- end }} diff --git a/sudoscientist-go-backend/templates/_helpers.tpl b/sudoscientist-go-backend/templates/_helpers.tpl index 084e2b2..6e4f3a0 100644 --- a/sudoscientist-go-backend/templates/_helpers.tpl +++ b/sudoscientist-go-backend/templates/_helpers.tpl @@ -1,62 +1 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "sudoscientist-go-backend.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "sudoscientist-go-backend.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "sudoscientist-go-backend.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "sudoscientist-go-backend.labels" -}} -helm.sh/chart: {{ include "sudoscientist-go-backend.chart" . }} -{{ include "sudoscientist-go-backend.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "sudoscientist-go-backend.selectorLabels" -}} -app.kubernetes.io/name: {{ include "sudoscientist-go-backend.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "sudoscientist-go-backend.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "sudoscientist-go-backend.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} +{{ include "common.helpers" . }} diff --git a/sudoscientist-go-backend/templates/deployment.yaml b/sudoscientist-go-backend/templates/deployment.yaml index bf0dc5a..4508e33 100644 --- a/sudoscientist-go-backend/templates/deployment.yaml +++ b/sudoscientist-go-backend/templates/deployment.yaml @@ -1,65 +1 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "sudoscientist-go-backend.fullname" . }} - labels: - {{- include "sudoscientist-go-backend.labels" . | nindent 4 }} -spec: - {{- if not .Values.autoscaling.enabled }} - replicas: {{ .Values.replicaCount }} - {{- end }} - selector: - matchLabels: - {{- include "sudoscientist-go-backend.selectorLabels" . | nindent 6 }} - template: - metadata: - {{- with .Values.podAnnotations }} - annotations: - {{- toYaml . | nindent 8 }} - {{- end }} - labels: - {{- include "sudoscientist-go-backend.selectorLabels" . | nindent 8 }} - spec: - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - serviceAccountName: {{ include "sudoscientist-go-backend.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 }} - env: - {{- if .Values.env }} - {{- toYaml .Values.env | nindent 12 }} - {{- end }} - ports: - - name: http - containerPort: {{ .Values.service.port }} - protocol: TCP - #livenessProbe: - # httpGet: - # path: / - # port: http - #readinessProbe: - # httpGet: - # path: / - # port: http - resources: - {{- toYaml .Values.resources | nindent 12 }} - {{- with .Values.nodeSelector }} - nodeSelector: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.affinity }} - affinity: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: - {{- toYaml . | nindent 8 }} - {{- end }} +{{ include "common.deployment" . }} diff --git a/sudoscientist-go-backend/templates/ingress.yaml b/sudoscientist-go-backend/templates/ingress.yaml deleted file mode 100644 index cde0fcc..0000000 --- a/sudoscientist-go-backend/templates/ingress.yaml +++ /dev/null @@ -1,61 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "sudoscientist-go-backend.fullname" . -}} -{{- $svcPort := .Values.service.port -}} -{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} - {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} - {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} - {{- end }} -{{- end }} -{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1 -{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1beta1 -{{- else -}} -apiVersion: extensions/v1beta1 -{{- end }} -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - {{- include "sudoscientist-go-backend.labels" . | nindent 4 }} - {{- with .Values.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} - ingressClassName: {{ .Values.ingress.className }} - {{- end }} - {{- if .Values.ingress.tls }} - tls: - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . | quote }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} - {{- end }} - rules: - {{- range .Values.ingress.hosts }} - - host: {{ .host | quote }} - http: - paths: - {{- range .paths }} - - path: {{ .path }} - {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} - pathType: {{ .pathType }} - {{- end }} - backend: - {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} - service: - name: {{ $fullName }} - port: - number: {{ $svcPort }} - {{- else }} - serviceName: {{ $fullName }} - servicePort: {{ $svcPort }} - {{- end }} - {{- end }} - {{- end }} -{{- end }} diff --git a/sudoscientist-go-backend/templates/service.yaml b/sudoscientist-go-backend/templates/service.yaml index dfcedf2..f024c64 100644 --- a/sudoscientist-go-backend/templates/service.yaml +++ b/sudoscientist-go-backend/templates/service.yaml @@ -1,15 +1 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "sudoscientist-go-backend.fullname" . }} - labels: - {{- include "sudoscientist-go-backend.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: http - protocol: TCP - name: http - selector: - {{- include "sudoscientist-go-backend.selectorLabels" . | nindent 4 }} +{{ include "common.service" . }} diff --git a/sudoscientist-go-backend/templates/serviceaccount.yaml b/sudoscientist-go-backend/templates/serviceaccount.yaml deleted file mode 100644 index 0f71f72..0000000 --- a/sudoscientist-go-backend/templates/serviceaccount.yaml +++ /dev/null @@ -1,12 +0,0 @@ -{{- if .Values.serviceAccount.create -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "sudoscientist-go-backend.serviceAccountName" . }} - labels: - {{- include "sudoscientist-go-backend.labels" . | nindent 4 }} - {{- with .Values.serviceAccount.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -{{- end }} diff --git a/sudoscientist-go-backend/templates/tests/test-connection.yaml b/sudoscientist-go-backend/templates/tests/test-connection.yaml deleted file mode 100644 index 3f4468e..0000000 --- a/sudoscientist-go-backend/templates/tests/test-connection.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: "{{ include "sudoscientist-go-backend.fullname" . }}-test-connection" - labels: - {{- include "sudoscientist-go-backend.labels" . | nindent 4 }} - annotations: - "helm.sh/hook": test -spec: - containers: - - name: wget - image: busybox - command: ['wget'] - args: ['{{ include "sudoscientist-go-backend.fullname" . }}:{{ .Values.service.port }}'] - restartPolicy: Never diff --git a/sudoscientist-go-backend/values.yaml b/sudoscientist-go-backend/values.yaml deleted file mode 100644 index e983743..0000000 --- a/sudoscientist-go-backend/values.yaml +++ /dev/null @@ -1,23 +0,0 @@ -image: - # -- image repository - repository: docker-repo.service.masked.name:5000/sudoscientist-go-backend - # -- image pull policy - pullPolicy: IfNotPresent - # -- image tag - # this example is not automatically updated, so be sure to use the latest image - tag: latest - -service: - type: ClusterIP - port: 80 - -ingress: - enabled: false - -serviceAccount: - create: false - -serviceAccountName: sudoscientist - -autoscaling: - enable: false -- 2.45.2 From 23a95e5f939e5efea231f4423ac0b098ee370c1c Mon Sep 17 00:00:00 2001 From: Amarpreet Minhas Date: Sun, 8 Jan 2023 00:16:53 +0000 Subject: [PATCH 2/2] ghetto common chart --- .../sudoscientist-go-backend}/.helmignore | 0 .../sudoscientist-go-backend}/Chart.lock | 0 .../sudoscientist-go-backend}/Chart.yaml | 0 .../charts/common-0.1.0.tgz | Bin 0 -> 5643 bytes .../templates/NOTES.txt | 0 .../templates/_helpers.tpl | 0 .../templates/deployment.yaml | 0 .../templates/external-secrets.yaml | 1 + .../templates/istio.yaml | 1 + .../templates/service.yaml | 0 library/common/common-0.1.0.tgz | Bin 14269 -> 0 bytes library/common/templates/_deployment.yaml | 21 ++--- .../common/templates/_external-secrets.yaml | 83 ++++++++++++++++++ .../{_helpers.tpl.bak => _helpers.tpl} | 0 library/common/templates/_istio.yaml | 63 +++++++++++++ library/common/templates/_service.yaml | 2 + 16 files changed, 161 insertions(+), 10 deletions(-) rename {sudoscientist-go-backend => apps/sudoscientist-go-backend}/.helmignore (100%) rename {sudoscientist-go-backend => apps/sudoscientist-go-backend}/Chart.lock (100%) rename {sudoscientist-go-backend => apps/sudoscientist-go-backend}/Chart.yaml (100%) create mode 100644 apps/sudoscientist-go-backend/charts/common-0.1.0.tgz rename {sudoscientist-go-backend => apps/sudoscientist-go-backend}/templates/NOTES.txt (100%) rename {sudoscientist-go-backend => apps/sudoscientist-go-backend}/templates/_helpers.tpl (100%) rename {sudoscientist-go-backend => apps/sudoscientist-go-backend}/templates/deployment.yaml (100%) create mode 100644 apps/sudoscientist-go-backend/templates/external-secrets.yaml create mode 100644 apps/sudoscientist-go-backend/templates/istio.yaml rename {sudoscientist-go-backend => apps/sudoscientist-go-backend}/templates/service.yaml (100%) delete mode 100644 library/common/common-0.1.0.tgz create mode 100644 library/common/templates/_external-secrets.yaml rename library/common/templates/{_helpers.tpl.bak => _helpers.tpl} (100%) create mode 100644 library/common/templates/_istio.yaml diff --git a/sudoscientist-go-backend/.helmignore b/apps/sudoscientist-go-backend/.helmignore similarity index 100% rename from sudoscientist-go-backend/.helmignore rename to apps/sudoscientist-go-backend/.helmignore diff --git a/sudoscientist-go-backend/Chart.lock b/apps/sudoscientist-go-backend/Chart.lock similarity index 100% rename from sudoscientist-go-backend/Chart.lock rename to apps/sudoscientist-go-backend/Chart.lock diff --git a/sudoscientist-go-backend/Chart.yaml b/apps/sudoscientist-go-backend/Chart.yaml similarity index 100% rename from sudoscientist-go-backend/Chart.yaml rename to apps/sudoscientist-go-backend/Chart.yaml diff --git a/apps/sudoscientist-go-backend/charts/common-0.1.0.tgz b/apps/sudoscientist-go-backend/charts/common-0.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..215ce2f91046417db4b46e005e0f7a40a4dc7211 GIT binary patch literal 5643 zcmV+m7WC;KiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PKA0bKAJG=X};*!S&3oJ!ke>=EHJgSIvh=A|=x%Wr74KacgS| zB4Cjs_%I1QGuglW7AeYlSdNoPZf>1A!3SHyqtV>}8jZ#e^3ym@lZ#G(bKYFxnEmqo zlPHSf)#YXNUlhgT|DtrM{32Z{t*cA1rHJo-5heNZ>gpFk{BPjpMVb{H=f8;G+}E*i z{~`%zA)_nquRBTEw5}GpSzxoW>c$oE8^i84G<}u6+T5dttm1@>!CE$)qeUXtmgJLW-Nl$B*Yi_$c^k!f}`s z!dZvS3QqIehclsxFq_e$S zFri$?Qc?)#=cQdKGVD{~<42(hD5JQbP4hYT(LVnq})ep_~@YFuf=n{_*jn z5GFpG5h|Q*rgpQ;KNFh5r%(U+vQd~694CI&@Sro{)2B1xJQb!znq-&cf_xww$zcTKS=Hl>^Q;(JlxsW2<3uu5n7{`j9Y1Yyhh z7jay2asHU*3!IZZ_RBtQemhi3HF;=4$~o~rJ^O#Am-e5~jHRoXCg05;e8c`LSFL0J zul25_{Ivf+B7OWQ5c(Jewv%z(AbC7 zPqVq(ba&*=_vZTM0DZ{EXL)&rpW;9kXrSu!&Y)>~;R=Fn9BIIel5>IuDIscLgk* z(}WhqL!OT5&3=hc_1~lXC|3|l5AQ~}c#&PPR586*l2c5=@883I2Sqx|eOkOZU!QBf zGDdH+w6m3Q)y|MyP3l79MsKO(*K|BlDM@&eD#&ksDoXD84;*oVK! z5j?$hmwsPdW*ky<(ugKE!Xst{Z8V$B&v8<+TZbYKPx*C^=XgW&oR>sT@LJcat8HqX z@X|g@ytyHD_JwkvofIk`W54u-gESAQ%1goMfD?<;?!ketp# zx;P)#)bf;3Kp#tDI177uI?F!8SVItA@U_$Hs^B!fDchYB%IF01G;b8M@s#@IMtv@v zoJ?Okg*Nr8n8c|@$zH(XwALvJF!$4}x%srwH)dIYw_4vgI^QtOzlO)HH(u(ECcKW# zZ06u*H;>*I=bYj!O>jjU=v|E*-NoXPn{E&y2`P3jm^zX4WDUs! zP$S7fAg55e0z)>$J#*j;vo={|W!ZXL2FtQY8#+h_L_~=TfeVqQf*}!!#zsz}V*^-Hp}j={Q)oBa)N69dMZ)?yqyzC>p4&}tw@UpeR2yCQxUseIHKNhA?jHy zy2Q+1dl7Ka@WUNKx@ZjBE8LS*$IWsSv)mJ<&Ojw?1EI(s65v9qGlJSt+ctuUwex(R6%B9NWEJ z15MMc$W##2+NR1n7Sh^C(yq*&wT8n?>oEV)iAdXUJPdmpA8Vd8imnZ7id3RyS4N_( zprX$V5im#A4I2Unt89j*=8|Z70s51ct+6{t16|AUC0jQdL`9EABWwxEv34HcCup%c3}NuOEmE zfWNw)L(MbnRk0XHXwhN147%;WQM@@;nPI!?++dk#%jOk{gU-FUSbOn%$?y3sFr3T{ zHB+q^sJ6~?b+NiA&7~r-q{IUSqf;4LOwGPfUqCfK$R~2wLS&0 z-Zovf^21_fA^pzl22VsK&fQvz=`fgka`u2EV+q-RoO3H7BwrmWXVmvYrjiHd0|_^Y5*6^B?LO5ZT~XH8se94kFgI5YRU5#XAQw z9dz4Qr7iRmlvqQeTalL72$`m%OIQmW4}mUr#iiequ83>$d)b`XE*bdU;Dw#Fkfu2w zveM2fAkH)drH&1&HK19;z;t^05F}Y(FfVs{qJ(?;5Dm#~W&ho*O~h-}c94mByyYZW zn@A)bi7gW|q;#UP3~b9xB9SL+2u!G$iY;j#&^!Pk&?wAA7X<^KWkWbb;TU?N%gl}) z>oXWHr(;Je+=vvo2l~kM?;r|Xqo?%;Ll(H&tyJp7irA9{TOCj4OWflbSTn^?^)@Wm zKGYs8Q3C^2Gi}H^mQ3!;?*OWoP9OEhE8g}OnQlpJ=&9M06`7vVH)kNc9^J`V&lrMe zr09S~tqew7gCYt|7py^#wFZvg8kOT9>jl&_71}&85$XFV7@7U{Q-`6J%QDT7G6k#G zk{2;&tde`9cdZz%X5vJ1?v!?Ktf`kK&oD8;mKoYt0?km+!?} z1-iwZ*HvXRL3dbeUBVSNfs}Qzqd&MPU}KrdD=gh`Y1Lelvrylnl_64 z)wq`#P}0(|s7H6}iDbdRgp=&aL;8~&Nz8@F15^DLX`bT8z6kny_g=YO7^>tF6-=E( zTbm&_O^M-qMZX#+kz$BM_M&X)F*3KNTG#BiGdEr)o!FC+YdSz(NVck_IA)URnvMsV zZHfRABgEtU44YQWMszH!d&YSoT9d?zP}qY(sQ(S zFoNW+90xokI#4xWL497?Q3$$LcnvLh-SNbhYisIdwLhq+V?n8FAnqCz+qNQrUIG!)u^hNA)B}6Xx+BFKfpySx9R10bJZw1L+>JEF z?vrwU+eRfwY9MzMA2FwYrldf$);Cy;o~kUc;~?xCnD2x*=Tx#E`o z4??%)8ZG@qD*`5fsBekp8i*P|aCB!SS=*9>Clp^twx%nN99@zaa4^+EThk=hxo!C} z7#c1MkcgxaBRv|cD-?5M?4WeS2r|ocIwYpGj#dsbT4a$0M!bwive+Uq=nmY>L#lpj z#bkh@z#gaw09DN$2wI+ay|f&VVwTN4HL!_zoelb4G=`()C<*{U(P}U>Bed4CPOJ^V z5S{Qfq3no2C!*9HIJybfOc^TP@N-8wF@@8n=X zd^t0r zgkq|C5cac67`Fzlre(J1U70S2Ms%IQwKntJ$>j)MPbq>e7aA>N8Z5BPVkgSnPQ>R} zL8>>*?m#3e*oAAa!?ls9=LQt96Y!boK40;$nBk zerEq`;}e4L^1LnxTfRPiJQs4DOsMeNT)6q;CDFaB!RHwHZ}m;jdClM*tuK6d- zP+FJA_z&@&_%r_hBhtr@7r!^uWrh<{fdDInM*3KNu7JMH#_t#PJ=D=f!3J1&zAN0n zP_FFB^PL}#>0nOtJS0^3OW^q|@r5g;`WVLc?C~*N3TNkMM;Bg=in&fsF{c84?%{F9 z*h+YsVHQ4yln6M>Dz=*qmu_fR^?BJtDMBHPsgGv`6^b;b!rk+JvJv(%q>K~-&Z)q{ zIOLQFJQa8l7Q#Qqt4a}F(=O|V$)rL^{Il7(eH8Ky4sJu_83|eGY?BvqVG%MWjHxgy zND4MPIJ@Y7l4iSX7UNdN#i9l_c{8$L)Yvz`Ac}3rJNqg`;tnG6Fi~hd|Z19 z+Zj{eG@aDfGdkf7jU5Ylev*S{_v>|B@`+YkT=LBe$nEFm>#+f^T|A-oRco~GX9PO- z2v3@z!)i@`)A!Lf@Q-70cUG z!QOiRadq|b{l{hNr~mgO(o6hDkl{1o<*I)LmwNyY-c`An%lil2ewv5t(mP-eDfv)W zqxtC*?`JH>=1jK_cRdAlWhWr6mj}n>vUdmPlf6^^DV+1}FuaF#J~&gq$!i=Y;1qCq zU!8k(>PC3^cB5ULx)J4h=!iTd+t&d)b4b$$p&qd5;B!}8$$ zwQoVrOQMIcsEUE}4QT8rwE5a|fD;5aCC?2W!@S_f%}5$o2i9uck)){JwCyZt9q1${ z0-XmfOH1FSZTotj)a`a7w2$AeI=d0VWRlaO*w)>mvnnN@Z@}kU2>2`>)BHxb zyi^+dR<}ZN?ZUn_0`LO z5iV+A<81rbsx(&x50gDCq_BO)uy=gd;}w;rbb+uaeo-2b;Y$?xX@ys`g_ zEm=H{|I6}E{QnP0FVBDV_`i7kc?|jg+mAjE_ldvz0<&`5PrTLI{oKIbE3kT}dHZeG z#zlWPeiL>0)a!V6`d79X_4;oHl*QpBNpt%B`*?HxE3M<-|9L0=^#6ZI`c-(qoYOoh z1fB|;86YeInh4`r$Viw>gbe!;p3tJ%_*HO%un>w_R;?|e2q6H4s(F_U27n|yN lI&C!Pg`X07@h@i#ex{%4XZp8F{}liL|Nl?N6zTv_0069r9jpKV literal 0 HcmV?d00001 diff --git a/sudoscientist-go-backend/templates/NOTES.txt b/apps/sudoscientist-go-backend/templates/NOTES.txt similarity index 100% rename from sudoscientist-go-backend/templates/NOTES.txt rename to apps/sudoscientist-go-backend/templates/NOTES.txt diff --git a/sudoscientist-go-backend/templates/_helpers.tpl b/apps/sudoscientist-go-backend/templates/_helpers.tpl similarity index 100% rename from sudoscientist-go-backend/templates/_helpers.tpl rename to apps/sudoscientist-go-backend/templates/_helpers.tpl diff --git a/sudoscientist-go-backend/templates/deployment.yaml b/apps/sudoscientist-go-backend/templates/deployment.yaml similarity index 100% rename from sudoscientist-go-backend/templates/deployment.yaml rename to apps/sudoscientist-go-backend/templates/deployment.yaml diff --git a/apps/sudoscientist-go-backend/templates/external-secrets.yaml b/apps/sudoscientist-go-backend/templates/external-secrets.yaml new file mode 100644 index 0000000..c0cfb91 --- /dev/null +++ b/apps/sudoscientist-go-backend/templates/external-secrets.yaml @@ -0,0 +1 @@ +{{ include "common.external-secrets" . }} diff --git a/apps/sudoscientist-go-backend/templates/istio.yaml b/apps/sudoscientist-go-backend/templates/istio.yaml new file mode 100644 index 0000000..7e551d3 --- /dev/null +++ b/apps/sudoscientist-go-backend/templates/istio.yaml @@ -0,0 +1 @@ +{{ include "common.istio" . }} diff --git a/sudoscientist-go-backend/templates/service.yaml b/apps/sudoscientist-go-backend/templates/service.yaml similarity index 100% rename from sudoscientist-go-backend/templates/service.yaml rename to apps/sudoscientist-go-backend/templates/service.yaml diff --git a/library/common/common-0.1.0.tgz b/library/common/common-0.1.0.tgz deleted file mode 100644 index 1591017194e949354e19c1eeab7b8348ce62577f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14269 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 diff --git a/library/common/templates/_deployment.yaml b/library/common/templates/_deployment.yaml index 1910db9..05c453b 100644 --- a/library/common/templates/_deployment.yaml +++ b/library/common/templates/_deployment.yaml @@ -9,14 +9,15 @@ spec: {{- end }} selector: matchLabels: - app.kubernetes.io/name: {{ .Values.common.fullname }} - app.kubernetes.io/instance: {{ .Values.common.fullname }} + {{- include "common.selectorLabels" . | nindent 6 }} template: metadata: {{- with .Values.podAnnotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} + labels: + {{- include "common.selectorLabels" . | nindent 8 }} spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: @@ -39,14 +40,14 @@ spec: - name: http containerPort: {{ .Values.service.port }} protocol: TCP - livenessProbe: - httpGet: - path: / - port: http - readinessProbe: - httpGet: - path: / - port: http +# livenessProbe: +# httpGet: +# path: / +# port: http +# readinessProbe: +# httpGet: +# path: / +# port: http resources: {{- toYaml .Values.resources | nindent 12 }} {{- with .Values.nodeSelector }} diff --git a/library/common/templates/_external-secrets.yaml b/library/common/templates/_external-secrets.yaml new file mode 100644 index 0000000..db562b8 --- /dev/null +++ b/library/common/templates/_external-secrets.yaml @@ -0,0 +1,83 @@ +{{ define "common.external-secrets" }} +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.common.serviceAccountName }} +automountServiceAccountToken: false +... +--- +apiVersion: v1 +kind: Secret +type: kubernetes.io/service-account-token +metadata: + name: serviceaccounttoken + annotations: + kubernetes.io/service-account.name: "{{ .Values.common.serviceAccountName }}" +... +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Values.common.serviceAccountName }}-tokenreview-binding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:auth-delegator +subjects: +- kind: ServiceAccount + name: {{ .Values.common.serviceAccountName }} + namespace: {{ .Values.common.namespace }} +... +--- +apiVersion: redhatcop.redhat.io/v1alpha1 +kind: Policy +metadata: + name: {{ .Values.common.serviceAccountName }} + namespace: {{ .Values.common.namespace }} +spec: + authentication: + path: k8s-teapot + role: {{ .Values.common.serviceAccountName }} + policy: |- +{{ .Values.common.vaultPolicy | indent 4 }} +... +--- +apiVersion: external-secrets.io/v1beta1 +kind: SecretStore +metadata: + name: {{ .Values.common.serviceAccountName }} +spec: + provider: + vault: + server: "https://vault.service.masked.name:8200" + path: "kv" + version: "v2" + caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUROVENDQWgyZ0F3SUJBZ0lVWXA4eG81dDJsSkZQM1NpRDFmSmlyZ0dVUUowd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0ZqRVVNQklHQTFVRUF4TUxiV0Z6YTJWa0xtNWhiV1V3SGhjTk1qQXdPREk1TVRreU16RXlXaGNOTXpBdwpPREkzTVRreU16UXlXakFXTVJRd0VnWURWUVFERXd0dFlYTnJaV1F1Ym1GdFpUQ0NBU0l3RFFZSktvWklodmNOCkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNSTdvUitLSHZ2em5mbmFBWERNTzVxcFNUQ0FZQ3lmakZFb2hZSmYKbE9jbkxPTlhiM2Y2c1A1ZDFlbHRMK1VUcTBSVlU1VVAwYU5XN2hxRFRhNDFNUncwSkNEdEI2OHlLZFlxMmhaZgo5N2dBK2xqM01FSlU2UlRBS0xyZzc1R1JoL0FiTkVJZ3d2UHVIS1c2aE1idHdPeU05REZVLy9XM3hwdXNhbFh5ClJNRnpBSGZTRGo5Y2krVXlnVXQ5SElOV2QvU21NR0cvOFBnaGFSaGZFNDR3UkZNcVllemVsaUl0MkpJczQzQlYKN0hxRzBPZXY5V1BlWG1pYVpVWUtRZXRIaVFxUjE0TXhpdjFJR3pDbXd3Tis5YjR0WnRaVGE1OG9NNWRQWGZiYgpsckVMUUU1T3NQYU50TXRFUjNNZ3hvdkROM1ZTQ0dIL08vR3lhRVdWYW5ZNVVGOENBd0VBQWFON01Ia3dEZ1lEClZSMFBBUUgvQkFRREFnRUdNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGQlk4alczZkRWVXAKVVJ0MXByaG1ETWprVmlrZ01COEdBMVVkSXdRWU1CYUFGQlk4alczZkRWVXBVUnQxcHJobURNamtWaWtnTUJZRwpBMVVkRVFRUE1BMkNDMjFoYzJ0bFpDNXVZVzFsTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBV1F6NGQzUXpFClc4TkdBMTZaUGFtbFZ1Yk9MQjVEdFp6MnFyU3JuM0RlT2JMSURTaEluVjNxdFJsRHg5SFlKTFRDQTc1S2V0MEoKTlRzeU1jVHkydHhkNEk4aGdkRjMwWEplRWNpTjl3WjBtS0VlUC9ZS0R3ZThWMlh3V3E0WFlrRGVjaGxXSHBabwpQZldjb0xwckt3VlVJNEh6YXFrTm13Y21NVUk0eEFzQytTTGUxbXJlYnNlS200OW9Pd2RRcy9vUFZMSyswbkVwClJ2RDBhT3ZvaElMSWEvMlp0S2N6dmhCL0wzZm81cGc5RXgvMEpEQmRESEllZE1hYkQzcW44SWRzZStQNURmd2EKSnUyQ3R5YituMVRUUHhSRE14czJjRmJBNWlycisyQVJKZDhqdEdTKzFmeXhvZ2pPV1MxUlI1MjNGK3FJUzNzdQpLaWJHZWwrZ0ZQcHEKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRDB6Q0NBcnVnQXdJQkFnSVVNNTJ1aFhTZVRDaW0xcG16dWNtL2NuSWdOcDh3RFFZSktvWklodmNOQVFFTApCUUF3RmpFVU1CSUdBMVVFQXhNTGJXRnphMlZrTG01aGJXVXdIaGNOTWpBd09ESTVNVGt5TnpBd1doY05NalV3Ck9ESTRNVGt5TnpNd1dqQXRNU3N3S1FZRFZRUURFeUp0WVhOclpXUXVibUZ0WlNCSmJuUmxjbTFsWkdsaGRHVWcKUVhWMGFHOXlhWFI1TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUE4THVHbytBcwpJQ1lXZEpqQkNZMHNuRi9YK2pGMXRkY3JRek5pUktFU0ViNWRzRGl5OTc5YnVnQ2JsUFFEUStnNVdHcVhYNHBqClV5WlpFM1p3aE91ZklTbEdLMG93MWFNanFTK3BGbFE4NUtSRC9qVXRMUFJVSnVRRittMll3SWQvTWc2L0I3UWsKZDE2NnVKa054UytNR1pDaTJPWVhlb2l2bk9ZN1EwS2ovMHZJYmM1VnQza0NSVmcybGpMU1Fob0JkKzg1QUhNUgpqZVJqWk1lWUVZRjJIVFZ3cmc0RHJDL3IwME1WdERjTnFzNitNN1laL3J6bnk3M0d2ZkpXZldvQjFDNHBpWmxnCmZ2VWNTREw1SEFoaml1NWNTZUlSN0RUdVZ4N3Q0UG9LNkFxVWtQeWdEdHExWmFMeWJYVDdYNmQwNzJkUjVBWE8KbldGTFBhYUdKOTc5aXdJREFRQUJvNElCQURDQi9UQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0R3WURWUjBUQVFILwpCQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVJa2hWWUJhSzlDY3ZYRzhGTTJqS1ZaMTZvWkF3SHdZRFZSMGpCQmd3CkZvQVVGanlOYmQ4TlZTbFJHM1dtdUdZTXlPUldLU0F3VVFZSUt3WUJCUVVIQVFFRVJUQkRNRUVHQ0NzR0FRVUYKQnpBQ2hqVm9kSFJ3T2k4dmRtRjFiSFF1WTI5c2RXMWlhV0V1YldGemEyVmtMbTVoYldVNk9ESXdNQzkyTVM5dwphMmxmY205dmRDOWpZVEJIQmdOVkhSOEVRREErTUR5Z09xQTRoalpvZEhSd09pOHZkbUYxYkhRdVkyOXNkVzFpCmFXRXViV0Z6YTJWa0xtNWhiV1U2T0RJd01DOTJNUzl3YTJsZmNtOXZkQzlqY213d0RRWUpLb1pJaHZjTkFRRUwKQlFBRGdnRUJBSzZITWdSK2hwd2paQ21mNU5zekRTSHI3ZFlLWlhQNExyY0hQV3M5NG5MTTMzVVo1NzJ1YkdIcwpkS2pSdzhZRDBjbmNyc3lwc1ltRWdSNTdVK0RIa3lzMzk0d2tiN1VPd3kxWnZkNUlJUlhkUDBjRHlsejBRenFNCkFQblFZTitpc21rb2xqaGs5ZXkwUWJvM0NtUGpNK1VRY0F4dVpRdEE0TStyaUMxK2prdWRlMXVZTDBzekM2WTkKNEtldGZ2Yk5rZWRTYVY1eUphUktDQmhSY0M0L0dqcEJHL29kUS81QWZCUEFGalpxaGNJSldCclZZYlRRVkM3OQpoTUExaXdXSlBtVDlMc2pNU1VmeEZUUHp4Um5OWFFpS0Z6NWtUMk9pUzFucWg4YU9jeVU5WUM5Mjhwa2lmTkpWCktva3VEZXpKRk03aWUzZCtFY0JrMVY5bEh3T1dkdG89Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K + auth: + kubernetes: + mountPath: "k8s-teapot" + role: "{{ .Values.common.serviceAccountName }}" + secretRef: + name: "serviceaccounttoken" +... +--- +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: {{ .Values.common.serviceAccountName }} +spec: + secretStoreRef: + name: {{ .Values.common.serviceAccountName }} + kind: SecretStore + data: + {{- range $v := .Values.common.secrets }} + {{- with $v }} + - secretKey: {{ .secretKey }} + remoteRef: + key: {{ .key }} + property: {{ .property }} + {{- end }} + {{- end }} +... +{{- end }} diff --git a/library/common/templates/_helpers.tpl.bak b/library/common/templates/_helpers.tpl similarity index 100% rename from library/common/templates/_helpers.tpl.bak rename to library/common/templates/_helpers.tpl diff --git a/library/common/templates/_istio.yaml b/library/common/templates/_istio.yaml new file mode 100644 index 0000000..0648d56 --- /dev/null +++ b/library/common/templates/_istio.yaml @@ -0,0 +1,63 @@ +{{- define "common.istio" }} +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: {{ .Values.common.fullname }}-cert + namespace: istio-system +spec: + secretName: {{ .Values.common.fullname }}-cert + commonName: {{ first .Values.common.domains }} + dnsNames: + {{- range $d := .Values.common.domains }} + - {{ $d }} + {{- end }} + issuerRef: + name: {{ .Values.common.domainIssuer }} + kind: ClusterIssuer + group: cert-manager.io +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: Gateway +metadata: + name: {{ .Values.common.fullname }}-gateway +spec: + selector: + istio: ingressgateway + servers: + - port: + number: 443 + name: https + protocol: HTTPS + tls: + mode: SIMPLE + credentialName: {{ .Values.common.fullname }}-cert + hosts: + {{- range $d := .Values.common.domains }} + - {{ $d }} + {{- end }} +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: VirtualService +metadata: + name: {{ .Values.common.fullname }}-gateway +spec: + hosts: + {{- range $d := .Values.common.domains }} + - {{ $d }} + {{- end }} + gateways: + - {{ .Values.common.fullname }}-gateway + http: + - match: + - uri: + prefix: / + route: + - destination: + port: + number: 80 + host: {{ .Values.common.fullname }} +... +{{- end }} diff --git a/library/common/templates/_service.yaml b/library/common/templates/_service.yaml index e52a750..6c565a5 100644 --- a/library/common/templates/_service.yaml +++ b/library/common/templates/_service.yaml @@ -4,6 +4,8 @@ kind: Service metadata: name: {{ .Values.common.fullname }} spec: + selector: + {{- include "common.selectorLabels" . | nindent 6 }} type: {{ .Values.service.type }} ports: - port: {{ .Values.service.port }} -- 2.45.2