From c849afb1ec683fe7d36ed03197bf633a51bbc19d Mon Sep 17 00:00:00 2001 From: stranljip <carsten@heidmann.info> Date: Wed, 14 Jun 2023 14:27:35 +0200 Subject: [PATCH 1/3] anable an admin port --- charts/postgrest/templates/_helpers.tpl | 8 ++++++++ charts/postgrest/templates/deployment.yaml | 15 ++++++++++++--- charts/postgrest/templates/service.yaml | 6 ++++++ charts/postgrest/values.yaml | 8 +------- 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/charts/postgrest/templates/_helpers.tpl b/charts/postgrest/templates/_helpers.tpl index 3c07eab..c2f8b76 100644 --- a/charts/postgrest/templates/_helpers.tpl +++ b/charts/postgrest/templates/_helpers.tpl @@ -75,3 +75,11 @@ Usage: {{- tpl (.value | toYaml) .context }} {{- end }} {{- end -}} + +{{/* +Set the value of PGRST_ADMIN_SERVER_PORT to a fixed port. +*/}} +{{- define "postgrest.adminPort" -}} +9001 +{{- end }} + diff --git a/charts/postgrest/templates/deployment.yaml b/charts/postgrest/templates/deployment.yaml index ebbe957..e7ae31e 100644 --- a/charts/postgrest/templates/deployment.yaml +++ b/charts/postgrest/templates/deployment.yaml @@ -128,6 +128,10 @@ spec: - name: PGRST_RAW_MEDIA_TYPES value: {{ .Values.postgrest.rawMediaTypes }} {{- end }} + {{- if .Values.postgrest.adminServerPort }} + - name: PGRST_ADMIN_SERVER_PORT + value: {{ include "postgrest.adminPort" . }} + {{- end }} {{- if .Values.pod.env }} {{- toYaml .Values.pod.env | nindent 12 }} {{- end }} @@ -135,10 +139,15 @@ spec: - name: http containerPort: {{ .Values.pod.containerPort }} protocol: TCP - {{- with .Values.pod.readinessProbe }} + - name: http-admin + containerPort: {{ include "postgrest.adminPort" . }} + protocol: TCP readinessProbe: - {{- toYaml . | nindent 12 }} - {{- end }} + httpGet: + path: / + port: http-admin + initialDelaySeconds: 5 + periodSeconds: 5 {{- with .Values.pod.livenessProbe }} livenessProbe: {{- toYaml . | nindent 12 }} diff --git a/charts/postgrest/templates/service.yaml b/charts/postgrest/templates/service.yaml index 2fe03d9..0841526 100644 --- a/charts/postgrest/templates/service.yaml +++ b/charts/postgrest/templates/service.yaml @@ -11,5 +11,11 @@ spec: targetPort: http protocol: TCP name: http + {{- if .Values.postgrest.adminServerPort }} + - port: {{ include "postgrest.adminPort" . }} + targetPort: http-admin + protocol: TCP + name: http-admin + {{- end }} selector: {{- include "postgrest.selectorLabels" . | nindent 4 }} diff --git a/charts/postgrest/values.yaml b/charts/postgrest/values.yaml index 42e2d44..1f68146 100644 --- a/charts/postgrest/values.yaml +++ b/charts/postgrest/values.yaml @@ -75,18 +75,12 @@ pod: annotations: {} containerPort: 9000 env: [] - readinessProbe: - httpGet: - path: / - port: http - initialDelaySeconds: 5 - periodSeconds: 5 livenessProbe: {} startupProbe: {} volumes: [] volumeMounts: [] securityContext: {} - + service: type: ClusterIP port: 80 From b19b52746697c21bd7e5ffb3a33d6397da47c1f8 Mon Sep 17 00:00:00 2001 From: stranljip <carsten@heidmann.info> Date: Wed, 14 Jun 2023 14:47:34 +0200 Subject: [PATCH 2/3] fix adminport --- charts/postgrest/templates/deployment.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/charts/postgrest/templates/deployment.yaml b/charts/postgrest/templates/deployment.yaml index e7ae31e..24b020f 100644 --- a/charts/postgrest/templates/deployment.yaml +++ b/charts/postgrest/templates/deployment.yaml @@ -128,10 +128,8 @@ spec: - name: PGRST_RAW_MEDIA_TYPES value: {{ .Values.postgrest.rawMediaTypes }} {{- end }} - {{- if .Values.postgrest.adminServerPort }} - name: PGRST_ADMIN_SERVER_PORT - value: {{ include "postgrest.adminPort" . }} - {{- end }} + value: {{ include "postgrest.adminPort" . | quote }} {{- if .Values.pod.env }} {{- toYaml .Values.pod.env | nindent 12 }} {{- end }} @@ -144,7 +142,7 @@ spec: protocol: TCP readinessProbe: httpGet: - path: / + path: /live port: http-admin initialDelaySeconds: 5 periodSeconds: 5 From 3165ec2743cdf0e19a1eeb3c3fc80aef518b94ff Mon Sep 17 00:00:00 2001 From: Cole Arendt <cole.arendt@outlook.com> Date: Sat, 29 Jul 2023 05:56:27 -0400 Subject: [PATCH 3/3] update values definitions to make adminPort configurable --- charts/postgrest/Chart.yaml | 2 +- charts/postgrest/NEWS.md | 7 +++++++ charts/postgrest/README.md | 13 ++++++------- charts/postgrest/templates/_helpers.tpl | 8 -------- charts/postgrest/templates/deployment.yaml | 16 +++++++++------- charts/postgrest/templates/service.yaml | 4 ++-- charts/postgrest/values.yaml | 13 ++++++++++++- 7 files changed, 37 insertions(+), 26 deletions(-) diff --git a/charts/postgrest/Chart.yaml b/charts/postgrest/Chart.yaml index 6d88e85..997cbb8 100644 --- a/charts/postgrest/Chart.yaml +++ b/charts/postgrest/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: postgrest description: A Helm chart for deploying Postgrest to Kubernetes type: application -version: 0.3.3 +version: 0.3.4 appVersion: v11.1.0 icon: https://avatars.githubusercontent.com/u/15115011?s=200&v=4 maintainers: diff --git a/charts/postgrest/NEWS.md b/charts/postgrest/NEWS.md index a708db5..d632e90 100644 --- a/charts/postgrest/NEWS.md +++ b/charts/postgrest/NEWS.md @@ -1,3 +1,10 @@ +# 0.3.4 + +- Add configuration for the `pod.adminPort` and `service.adminPort` + - `pod.adminPort` controls the PostgREST config and deployment + - `serivce.adminPort` controls the exposure of the health check to the service definition +- Update the `readinessProbe` to use the admin health-check + # 0.3.3 - Bump PostgREST version to v11.1.0 diff --git a/charts/postgrest/README.md b/charts/postgrest/README.md index 30e27e8..73db34e 100644 --- a/charts/postgrest/README.md +++ b/charts/postgrest/README.md @@ -1,14 +1,14 @@ # postgrest -![Version: 0.3.3](https://img.shields.io/badge/Version-0.3.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v11.1.0](https://img.shields.io/badge/AppVersion-v11.1.0-informational?style=flat-square) +![Version: 0.3.4](https://img.shields.io/badge/Version-0.3.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v11.1.0](https://img.shields.io/badge/AppVersion-v11.1.0-informational?style=flat-square) ## Installing the Chart -To install the chart with the release name `my-release` at version 0.3.3: +To install the chart with the release name `my-release` at version 0.3.4: ```bash helm repo add colearendt https://colearendt.github.io/helm -helm install my-release colearendt/postgrest --version=0.3.3 +helm install my-release colearendt/postgrest --version=0.3.4 ``` #### _A Helm chart for deploying Postgrest to Kubernetes_ @@ -40,14 +40,12 @@ helm install my-release colearendt/postgrest --version=0.3.3 | initContainers | object | `{}` | | | nameOverride | string | `""` | | | nodeSelector | object | `{}` | | +| pod.adminPort | int | `9001` | The admin server port for PostgREST. Automatically sets the adminServerPort configuration value. | | pod.annotations | object | `{}` | | | pod.containerPort | int | `9000` | | | pod.env | list | `[]` | | | pod.livenessProbe | object | `{}` | | -| pod.readinessProbe.httpGet.path | string | `"/"` | | -| pod.readinessProbe.httpGet.port | string | `"http"` | | -| pod.readinessProbe.initialDelaySeconds | int | `5` | | -| pod.readinessProbe.periodSeconds | int | `5` | | +| pod.readinessProbe | object | `{"httpGet":{"path":"/ready","port":"http-admin"},"initialDelaySeconds":5,"periodSeconds":5}` | The readiness probe for PostgREST. Can also use requests to /live per https://postgrest.org/en/stable/references/admin.html#health-check | | pod.securityContext | object | `{}` | | | pod.startupProbe | object | `{}` | | | pod.volumeMounts | list | `[]` | | @@ -75,6 +73,7 @@ helm install my-release colearendt/postgrest --version=0.3.3 | resources | object | `{}` | | | secret | object | `{}` | | | securityContext | object | `{}` | | +| service.adminPort | int | `9001` | | | service.port | int | `80` | | | service.type | string | `"ClusterIP"` | | | serviceAccount.annotations | object | `{}` | | diff --git a/charts/postgrest/templates/_helpers.tpl b/charts/postgrest/templates/_helpers.tpl index c2f8b76..3c07eab 100644 --- a/charts/postgrest/templates/_helpers.tpl +++ b/charts/postgrest/templates/_helpers.tpl @@ -75,11 +75,3 @@ Usage: {{- tpl (.value | toYaml) .context }} {{- end }} {{- end -}} - -{{/* -Set the value of PGRST_ADMIN_SERVER_PORT to a fixed port. -*/}} -{{- define "postgrest.adminPort" -}} -9001 -{{- end }} - diff --git a/charts/postgrest/templates/deployment.yaml b/charts/postgrest/templates/deployment.yaml index 24b020f..cec7531 100644 --- a/charts/postgrest/templates/deployment.yaml +++ b/charts/postgrest/templates/deployment.yaml @@ -128,8 +128,10 @@ spec: - name: PGRST_RAW_MEDIA_TYPES value: {{ .Values.postgrest.rawMediaTypes }} {{- end }} + {{- if .Values.pod.adminPort }} - name: PGRST_ADMIN_SERVER_PORT - value: {{ include "postgrest.adminPort" . | quote }} + value: {{ .Values.pod.adminPort | quote }} + {{- end }} {{- if .Values.pod.env }} {{- toYaml .Values.pod.env | nindent 12 }} {{- end }} @@ -137,15 +139,15 @@ spec: - name: http containerPort: {{ .Values.pod.containerPort }} protocol: TCP + {{- if .Values.pod.adminPort }} - name: http-admin - containerPort: {{ include "postgrest.adminPort" . }} + containerPort: {{ .Values.pod.adminPort }} protocol: TCP + {{- end }} + {{- with .Values.pod.readinessProbe }} readinessProbe: - httpGet: - path: /live - port: http-admin - initialDelaySeconds: 5 - periodSeconds: 5 + {{- toYaml . | nindent 12 }} + {{- end }} {{- with .Values.pod.livenessProbe }} livenessProbe: {{- toYaml . | nindent 12 }} diff --git a/charts/postgrest/templates/service.yaml b/charts/postgrest/templates/service.yaml index 0841526..8de30ff 100644 --- a/charts/postgrest/templates/service.yaml +++ b/charts/postgrest/templates/service.yaml @@ -11,8 +11,8 @@ spec: targetPort: http protocol: TCP name: http - {{- if .Values.postgrest.adminServerPort }} - - port: {{ include "postgrest.adminPort" . }} + {{- if .Values.service.adminPort }} + - port: {{ .Values.service.adminPort }} targetPort: http-admin protocol: TCP name: http-admin diff --git a/charts/postgrest/values.yaml b/charts/postgrest/values.yaml index 1f68146..abe318c 100644 --- a/charts/postgrest/values.yaml +++ b/charts/postgrest/values.yaml @@ -60,6 +60,7 @@ postgrest: preRequest: "" rootSpec: "" rawMediaTypes: "" + # NOTE: adminServerPort is set via pod.adminPort and service.adminPort secret: {} @@ -74,16 +75,26 @@ securityContext: {} pod: annotations: {} containerPort: 9000 + # -- The admin server port for PostgREST. Automatically sets the adminServerPort configuration value. + adminPort: 9001 env: [] + # -- The readiness probe for PostgREST. Can also use requests to /live per https://postgrest.org/en/stable/references/admin.html#health-check + readinessProbe: + httpGet: + path: /ready + port: http-admin + initialDelaySeconds: 5 + periodSeconds: 5 livenessProbe: {} startupProbe: {} volumes: [] volumeMounts: [] securityContext: {} - + service: type: ClusterIP port: 80 + adminPort: 9001 ingress: enabled: false