From b6a5776a5044c270b78b5e05843c357984d9607b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20B=C5=82aszczyk?= Date: Thu, 13 Oct 2022 12:38:22 +0200 Subject: [PATCH] feat: allow for extra services and port (#527) --- hacks/values/keto.yaml | 11 ++++++++ helm/charts/keto/Chart.yaml | 2 +- helm/charts/keto/templates/deployment.yaml | 3 +++ .../keto/templates/service-extraServices.yaml | 27 +++++++++++++++++++ .../keto/templates/service-metrics.yaml | 2 +- helm/charts/keto/templates/service-read.yaml | 2 +- helm/charts/keto/templates/service-write.yaml | 2 +- helm/charts/keto/values.yaml | 8 +++++- 8 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 helm/charts/keto/templates/service-extraServices.yaml diff --git a/hacks/values/keto.yaml b/hacks/values/keto.yaml index cd128b6af..ef7a41896 100644 --- a/hacks/values/keto.yaml +++ b/hacks/values/keto.yaml @@ -36,6 +36,10 @@ deployment: - name: test-volume configMap: name: cm-sample + extraPorts: + - name: grpc-opl + containerPort: 4469 + protocol: TCP job: extraInitContainers: | - name: "hello-world" @@ -58,6 +62,13 @@ service: metrics: enabled: true +extraServices: + opl: + enabled: true + type: ClusterIP + name: grpc-opl + port: 80 + watcher: enabled: true mountFile: "/testdir/sample.txt" diff --git a/helm/charts/keto/Chart.yaml b/helm/charts/keto/Chart.yaml index 79a7cabdf..f088b87cc 100644 --- a/helm/charts/keto/Chart.yaml +++ b/helm/charts/keto/Chart.yaml @@ -25,4 +25,4 @@ version: 0.25.5 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. -appVersion: "v0.8.0-alpha.2" +appVersion: "v0.10.0" diff --git a/helm/charts/keto/templates/deployment.yaml b/helm/charts/keto/templates/deployment.yaml index 6161bf70d..5fa8f489f 100644 --- a/helm/charts/keto/templates/deployment.yaml +++ b/helm/charts/keto/templates/deployment.yaml @@ -121,6 +121,9 @@ spec: - name: {{ .Values.service.metrics.name }} containerPort: {{ .Values.keto.config.serve.metrics.port }} protocol: TCP + {{- with .Values.deployment.extraPorts }} + {{- toYaml . | nindent 12 }} + {{- end }} livenessProbe: httpGet: path: /health/alive diff --git a/helm/charts/keto/templates/service-extraServices.yaml b/helm/charts/keto/templates/service-extraServices.yaml new file mode 100644 index 000000000..f5950c078 --- /dev/null +++ b/helm/charts/keto/templates/service-extraServices.yaml @@ -0,0 +1,27 @@ +{{- range $ServiceName, $ServiceData := .Values.extraServices }} + +{{- if $ServiceData.enabled }} +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ include "keto.fullname" $ }}-{{ $ServiceName }} + {{- if $.Release.Namespace }} + namespace: {{ $.Release.Namespace }} + {{- end }} + labels: + app.kubernetes.io/component: {{ $ServiceName }} + {{- include "keto.labels" $ | nindent 4 }} +spec: + type: {{ $ServiceData.type }} + ports: + - port: {{ $ServiceData.port }} + targetPort: {{ $ServiceData.name }} + protocol: TCP + name: {{ $ServiceData.name }} + selector: + app.kubernetes.io/name: {{ include "keto.name" $ }} + app.kubernetes.io/instance: {{ $.Release.Name }} +{{- end }} + +{{- end }} \ No newline at end of file diff --git a/helm/charts/keto/templates/service-metrics.yaml b/helm/charts/keto/templates/service-metrics.yaml index f9618eee0..bb5101a6d 100644 --- a/helm/charts/keto/templates/service-metrics.yaml +++ b/helm/charts/keto/templates/service-metrics.yaml @@ -8,7 +8,7 @@ metadata: {{- end }} labels: app.kubernetes.io/component: metrics -{{ include "keto.labels" . | indent 4 }} + {{- include "keto.labels" . | nindent 4 }} spec: type: {{ .Values.service.metrics.type }} ports: diff --git a/helm/charts/keto/templates/service-read.yaml b/helm/charts/keto/templates/service-read.yaml index f719f6a71..21327fdc4 100644 --- a/helm/charts/keto/templates/service-read.yaml +++ b/helm/charts/keto/templates/service-read.yaml @@ -8,7 +8,7 @@ metadata: {{- end }} labels: app.kubernetes.io/component: read -{{ include "keto.labels" . | indent 4 }} + {{- include "keto.labels" . | nindent 4 }} spec: type: {{ .Values.service.read.type }} ports: diff --git a/helm/charts/keto/templates/service-write.yaml b/helm/charts/keto/templates/service-write.yaml index 5d688b095..c1807f586 100644 --- a/helm/charts/keto/templates/service-write.yaml +++ b/helm/charts/keto/templates/service-write.yaml @@ -8,7 +8,7 @@ metadata: {{- end }} labels: app.kubernetes.io/component: write -{{ include "keto.labels" . | indent 4 }} + {{- include "keto.labels" . | nindent 4 }} spec: type: {{ .Values.service.write.type }} ports: diff --git a/helm/charts/keto/values.yaml b/helm/charts/keto/values.yaml index 15d34fca0..ea6d6bb59 100644 --- a/helm/charts/keto/values.yaml +++ b/helm/charts/keto/values.yaml @@ -11,7 +11,7 @@ image: pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. # -- Ory KETO version - tag: "v0.8.0-alpha.2" + tag: "v0.10.0" imagePullSecrets: [] nameOverride: "" @@ -159,6 +159,9 @@ service: port: 80 annotations: {} +# -- Extra services to be deployed +extraServices: {} + # -- Secret management secret: # -- Switch to false to prevent creating the secret @@ -297,6 +300,9 @@ deployment: # my.special.label/type: value extraLabels: {} + # -- Extra ports to be exposed by the main deployment + extraPorts: [] + tolerations: [] affinity: {}