From 7127b0686d4d0b02bdd9358b14bd007c43387a55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6ran=20P=C3=B6hner?= <10630407+groundhog2k@users.noreply.github.com> Date: Sat, 22 Jan 2022 13:47:54 +0100 Subject: [PATCH] Add support for startupProbe to all charts (#826) --- charts/mariadb/Chart.yaml | 4 ++-- charts/mariadb/README.md | 16 +++++++++---- charts/mariadb/RELEASENOTES.md | 6 +++++ charts/mariadb/templates/statefulset.yaml | 20 ++++++++++++++++ charts/mariadb/values.yaml | 12 ++++++++++ charts/mongodb/Chart.yaml | 4 ++-- charts/mongodb/README.md | 14 +++++++---- charts/mongodb/RELEASENOTES.md | 6 +++++ charts/mongodb/templates/statefulset.yaml | 20 ++++++++++++++++ charts/mongodb/values.yaml | 12 ++++++++++ charts/postgres/Chart.yaml | 2 +- charts/postgres/README.md | 11 ++++----- charts/postgres/RELEASENOTES.md | 4 ++++ charts/redis/Chart.yaml | 2 +- charts/redis/README.md | 28 +++++++++++++--------- charts/redis/RELEASENOTES.md | 6 +++++ charts/redis/templates/statefulset.yaml | 20 ++++++++++++++++ charts/redis/values.yaml | 12 ++++++++++ charts/wordpress/Chart.yaml | 2 +- charts/wordpress/README.md | 18 +++++++++----- charts/wordpress/RELEASENOTES.md | 6 +++++ charts/wordpress/templates/deployment.yaml | 21 ++++++++++++++++ charts/wordpress/values.yaml | 12 ++++++++++ 23 files changed, 219 insertions(+), 39 deletions(-) create mode 100644 charts/mariadb/RELEASENOTES.md create mode 100644 charts/mongodb/RELEASENOTES.md create mode 100644 charts/redis/RELEASENOTES.md create mode 100644 charts/wordpress/RELEASENOTES.md diff --git a/charts/mariadb/Chart.yaml b/charts/mariadb/Chart.yaml index a883bc39..7e766188 100644 --- a/charts/mariadb/Chart.yaml +++ b/charts/mariadb/Chart.yaml @@ -7,6 +7,6 @@ type: application maintainers: - name: groundhog2k -version: 0.4.0 +version: 0.2.17 -appVersion: "10.7.1" +appVersion: "10.5.13" diff --git a/charts/mariadb/README.md b/charts/mariadb/README.md index 30453762..62fe8a32 100644 --- a/charts/mariadb/README.md +++ b/charts/mariadb/README.md @@ -1,14 +1,18 @@ # MariaDB -   +   + +## Changelog + +see [RELEASENOTES.md](RELEASENOTES.md) A Helm chart for MariaDB on Kubernetes ## TL;DR ```bash -$ helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/ -$ helm install my-release groundhog2k/mariadb +helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/ +helm install my-release groundhog2k/mariadb ``` ## Introduction @@ -28,7 +32,7 @@ It fully supports deployment of the multi-architecture docker image. To install the chart with the release name `my-release`: ```bash -$ helm install my-release groundhog2k/mariadb +helm install my-release groundhog2k/mariadb ``` ## Uninstalling the Chart @@ -36,7 +40,7 @@ $ helm install my-release groundhog2k/mariadb To uninstall/delete the `my-release` deployment: ```bash -$ helm uninstall my-release +helm uninstall my-release ``` ## Common parameters @@ -54,8 +58,10 @@ $ helm uninstall my-release | image.repository | string | `"mariadb"` | Image name | | image.tag | string | `""` | Image tag | | imagePullSecrets | list | `[]` | Image pull secrets | +| startupProbe | object | `see values.yaml` | Startup probe configuration | | livenessProbe | object | `see values.yaml` | Liveness probe configuration | | readinessProbe | object | `see values.yaml` | Readiness probe configuration | +| customStartupProbe | object | `{}` | Custom startup probe (overwrites default startup probe configuration) | | customLivenessProbe | object | `{}` | Custom liveness probe (overwrites default liveness probe configuration) | | customReadinessProbe | object | `{}` | Custom readiness probe (overwrites default readiness probe configuration) | | resources | object | `{}` | Resource limits and requests | diff --git a/charts/mariadb/RELEASENOTES.md b/charts/mariadb/RELEASENOTES.md new file mode 100644 index 00000000..d22c07fe --- /dev/null +++ b/charts/mariadb/RELEASENOTES.md @@ -0,0 +1,6 @@ +# Changelog + +| Chart version | App version | Change description | +| :------------ | :---------- | :----------------- | +| 0.2.17 | 10.5.13 | Implemented startupProbe support | +| | | | diff --git a/charts/mariadb/templates/statefulset.yaml b/charts/mariadb/templates/statefulset.yaml index e46ee5dd..ee056c9f 100644 --- a/charts/mariadb/templates/statefulset.yaml +++ b/charts/mariadb/templates/statefulset.yaml @@ -47,6 +47,26 @@ spec: - name: sql containerPort: 3306 protocol: TCP + {{- if .Values.customStartupProbe }} + startupProbe: + {{- toYaml .Values.customStartupProbe | nindent 12 }} + {{- else }} + {{- if .Values.startupProbe.enabled }} + startupProbe: + exec: + command: + - bash + - -c + - mysqladmin status -uroot -p$MYSQL_ROOT_PASSWORD + {{- with .Values.startupProbe }} + initialDelaySeconds: {{ .initialDelaySeconds }} + timeoutSeconds: {{ .timeoutSeconds }} + failureThreshold: {{ .failureThreshold }} + successThreshold: {{ .successThreshold }} + periodSeconds: {{ .periodSeconds }} + {{- end }} + {{- end }} + {{- end }} {{- if .Values.customLivenessProbe }} livenessProbe: {{- toYaml .Values.customLivenessProbe | nindent 12 }} diff --git a/charts/mariadb/values.yaml b/charts/mariadb/values.yaml index eee39795..0fee20d6 100644 --- a/charts/mariadb/values.yaml +++ b/charts/mariadb/values.yaml @@ -76,6 +76,18 @@ affinity: {} ## Maximum number of revisions maintained in revision history revisionHistoryLimit: +## Custom startup probe (overwrites default startup probe) +customStartupProbe: {} + +## Default startup probe +startupProbe: + enabled: true + initialDelaySeconds: 10 + timeoutSeconds: 5 + failureThreshold: 30 + successThreshold: 1 + periodSeconds: 10 + ## Custom liveness probe (overwrites default liveness probe) customLivenessProbe: {} diff --git a/charts/mongodb/Chart.yaml b/charts/mongodb/Chart.yaml index 12bd4f31..b658bc36 100644 --- a/charts/mongodb/Chart.yaml +++ b/charts/mongodb/Chart.yaml @@ -7,6 +7,6 @@ type: application maintainers: - name: groundhog2k -version: 0.4.0 +version: 0.2.14 -appVersion: "5.0.5" +appVersion: "4.2.14" diff --git a/charts/mongodb/README.md b/charts/mongodb/README.md index ef99eee3..f98a5118 100644 --- a/charts/mongodb/README.md +++ b/charts/mongodb/README.md @@ -1,14 +1,18 @@ # MongoDB -   +   + +## Changelog + +see [RELEASENOTES.md](RELEASENOTES.md) A Helm chart for MongoDB on Kubernetes ## TL;DR ```bash -$ helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/ -$ helm install my-release groundhog2k/mongodb +helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/ +helm install my-release groundhog2k/mongodb ``` ## Introduction @@ -28,7 +32,7 @@ It fully supports deployment of the multi-architecture docker image. To install the chart with the release name `my-release`: ```bash -$ helm install my-release groundhog2k/mongodb +helm install my-release groundhog2k/mongodb ``` ## Uninstalling the Chart @@ -54,8 +58,10 @@ $ helm uninstall my-release | image.repository | string | `"mongo"` | Image name | | image.tag | string | `""` | Image tag | | imagePullSecrets | list | `[]` | Image pull secrets | +| startupProbe | object | `see values.yaml` | Startup probe configuration | | livenessProbe | object | `see values.yaml` | Liveness probe configuration | | readinessProbe | object | `see values.yaml` | Readiness probe configuration | +| customStartupProbe | object | `{}` | Custom startup probe (overwrites default startup probe configuration) | | customLivenessProbe | object | `{}` | Custom liveness probe (overwrites default liveness probe configuration) | | customReadinessProbe | object | `{}` | Custom readiness probe (overwrites default readiness probe configuration) | | resources | object | `{}` | Resource limits and requests | diff --git a/charts/mongodb/RELEASENOTES.md b/charts/mongodb/RELEASENOTES.md new file mode 100644 index 00000000..9ef3aec7 --- /dev/null +++ b/charts/mongodb/RELEASENOTES.md @@ -0,0 +1,6 @@ +# Changelog + +| Chart version | App version | Change description | +| :------------ | :---------- | :----------------- | +| 0.2.14 | 4.2.14 | Implemented startupProbe support | +| | | | diff --git a/charts/mongodb/templates/statefulset.yaml b/charts/mongodb/templates/statefulset.yaml index 85ecbb6b..7f520613 100644 --- a/charts/mongodb/templates/statefulset.yaml +++ b/charts/mongodb/templates/statefulset.yaml @@ -47,6 +47,26 @@ spec: - name: mongodb containerPort: 27017 protocol: TCP + {{- if .Values.customStartupProbe }} + startupProbe: + {{- toYaml .Values.customStartupProbe | nindent 12 }} + {{- else }} + {{- if .Values.startupProbe.enabled }} + startupProbe: + exec: + command: + - mongo + - --eval + - "db.adminCommand('ping')" + {{- with .Values.startupProbe }} + initialDelaySeconds: {{ .initialDelaySeconds }} + timeoutSeconds: {{ .timeoutSeconds }} + failureThreshold: {{ .failureThreshold }} + successThreshold: {{ .successThreshold }} + periodSeconds: {{ .periodSeconds }} + {{- end }} + {{- end }} + {{- end }} {{- if .Values.customLivenessProbe }} livenessProbe: {{- toYaml .Values.customLivenessProbe | nindent 12 }} diff --git a/charts/mongodb/values.yaml b/charts/mongodb/values.yaml index 90b4f0ef..e3127f03 100644 --- a/charts/mongodb/values.yaml +++ b/charts/mongodb/values.yaml @@ -64,6 +64,18 @@ resources: {} # cpu: 100m # memory: 128Mi +## Custom startup probe (overwrites default startup probe) +customStartupProbe: {} + +## Default startup check +startupProbe: + enabled: true + initialDelaySeconds: 10 + timeoutSeconds: 5 + failureThreshold: 30 + successThreshold: 1 + periodSeconds: 10 + ## Custom liveness probe (overwrites default liveness probe) customLivenessProbe: {} diff --git a/charts/postgres/Chart.yaml b/charts/postgres/Chart.yaml index 3062518a..a478c4e8 100644 --- a/charts/postgres/Chart.yaml +++ b/charts/postgres/Chart.yaml @@ -7,6 +7,6 @@ type: application maintainers: - name: groundhog2k -version: 0.3.4 +version: 0.3.5 appVersion: "14.1" diff --git a/charts/postgres/README.md b/charts/postgres/README.md index f11975a5..f2e316ce 100644 --- a/charts/postgres/README.md +++ b/charts/postgres/README.md @@ -1,6 +1,6 @@ # PostgreSQL -   +   ## Changelog @@ -15,8 +15,8 @@ There is no automatic database upgrade from PostgreSQL 13.x (Chart version 0.2.x ## TL;DR ```bash -$ helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/ -$ helm install my-release groundhog2k/postgres +helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/ +helm install my-release groundhog2k/postgres ``` ## Introduction @@ -25,7 +25,6 @@ This chart uses the original [PostgreSQL image from Docker Hub](https://hub.dock It fully supports deployment of the multi-architecture docker image. - ## Prerequisites - Kubernetes 1.12+ @@ -37,7 +36,7 @@ It fully supports deployment of the multi-architecture docker image. To install the chart with the release name `my-release`: ```bash -$ helm install my-release groundhog2k/postgres +helm install my-release groundhog2k/postgres ``` ## Uninstalling the Chart @@ -45,7 +44,7 @@ $ helm install my-release groundhog2k/postgres To uninstall/delete the `my-release` deployment: ```bash -$ helm uninstall my-release +helm uninstall my-release ``` ## Common parameters diff --git a/charts/postgres/RELEASENOTES.md b/charts/postgres/RELEASENOTES.md index db10bfdb..85afd8f2 100644 --- a/charts/postgres/RELEASENOTES.md +++ b/charts/postgres/RELEASENOTES.md @@ -1,4 +1,8 @@ +# Changelog + | Chart version | App version | Change description | | :------------ | :---------- | :----------------- | | 0.2.16 | 13.5 | Fixes bug with wrong mounted customConfig #811 | | 0.3.4 | 14.1 | Fixes bug with wrong mounted customConfig #811 | +| 0.3.5 | 14.1 | Updated readme and release notes | +| | | | diff --git a/charts/redis/Chart.yaml b/charts/redis/Chart.yaml index 169d125e..a00bfb91 100644 --- a/charts/redis/Chart.yaml +++ b/charts/redis/Chart.yaml @@ -8,7 +8,7 @@ maintainers: - name: groundhog2k # This is the chart version -version: 0.4.9 +version: 0.4.10 # This is the version number of the application being deployed. appVersion: "6.2.6" diff --git a/charts/redis/README.md b/charts/redis/README.md index 14133306..d3a92f7f 100644 --- a/charts/redis/README.md +++ b/charts/redis/README.md @@ -1,29 +1,34 @@ # Redis -   +   + +## Changelog + +see [RELEASENOTES.md](RELEASENOTES.md) A Helm chart for Redis on Kubernetes ## TL;DR ```bash -$ helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/ -$ helm install my-release groundhog2k/redis +helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/ +helm install my-release groundhog2k/redis ``` -### Basic setup without high availability: +### Basic setup without high availability + `haMode.enabled: false` This will create one standalone Redis instance which can be reached based on the `service:` configuration (ClusterIP & Port 6379 by default) -``` +```draw +-------------------+ | Redis standalone | +-------------------+ ``` +### Advanced setup with high availability support -### Advanced setup with high availability support: `haMode.enabled: true` This will create 3 pods by default, with 1 Redis master (M1) and 2 Redis replications (R1/R2). Every pod has 2 containers, one for the Redis server and one for the Redis sentinel (S1/S2/S3). @@ -31,8 +36,7 @@ The default quorom to decide for a new master is set to 2. Have a look at all co A Sentinal instance can be reached based on the `service:` configuration (ClusterIP & Sentinel port 26379 by default). - -``` +```draw +----+ | M1 | | S1 | @@ -61,7 +65,7 @@ It fully supports deployment of the multi-architecture docker image. To install the chart with the release name `my-release`: ```bash -$ helm install my-release groundhog2k/redis +helm install my-release groundhog2k/redis ``` ## Uninstalling the Chart @@ -69,7 +73,7 @@ $ helm install my-release groundhog2k/redis To uninstall/delete the `my-release` deployment: ```bash -$ helm uninstall my-release +helm uninstall my-release ``` ## Common parameters @@ -87,9 +91,11 @@ $ helm uninstall my-release | image.repository | string | `"redis"` | Image name | | image.tag | string | `""` | Image tag | | imagePullSecrets | list | `[]` | Image pull secrets | -| livenessProbe | object | `see values.yaml` | Liveness probe configurationm | +| livenessProbe | object | `see values.yaml` | Liveness probe configuration | +| startupProbe | object | `see values.yaml` | Startup probe configuration | | readinessProbe | object | `see values.yaml` | Readiness probe configuration | | customLivenessProbe | object | `{}` | Custom liveness probe (overwrites default liveness probe configuration) | +| customStartupProbe | object | `{}` | Custom startup probe (overwrites default startup probe configuration) | | customReadinessProbe | object | `{}` | Custom readiness probe (overwrites default readiness probe configuration) | | resources | object | `{}` | Resource limits and requests | | sentinelResources | object | `{}` | Resource limits and requests (for Redis Sentinel - only when haMode is enabled) | diff --git a/charts/redis/RELEASENOTES.md b/charts/redis/RELEASENOTES.md new file mode 100644 index 00000000..4f949cbd --- /dev/null +++ b/charts/redis/RELEASENOTES.md @@ -0,0 +1,6 @@ +# Changelog + +| Chart version | App version | Change description | +| :------------ | :---------- | :----------------- | +| 0.4.10 | 6.2.6 | Implemented startupProbe support | +| | | | diff --git a/charts/redis/templates/statefulset.yaml b/charts/redis/templates/statefulset.yaml index 6639124e..d2048a87 100644 --- a/charts/redis/templates/statefulset.yaml +++ b/charts/redis/templates/statefulset.yaml @@ -76,6 +76,26 @@ spec: - name: redis containerPort: 6379 protocol: TCP + {{- if .Values.customStartupProbe }} + startupProbe: + {{- toYaml .Values.customStartupProbe | nindent 12 }} + {{- else }} + {{- if .Values.startupProbe.enabled }} + startupProbe: + exec: + command: + - sh + - -c + - redis-cli ping + {{- with .Values.startupProbe }} + initialDelaySeconds: {{ .initialDelaySeconds }} + timeoutSeconds: {{ .timeoutSeconds }} + failureThreshold: {{ .failureThreshold }} + successThreshold: {{ .successThreshold }} + periodSeconds: {{ .periodSeconds }} + {{- end }} + {{- end }} + {{- end }} {{- if .Values.customLivenessProbe }} livenessProbe: {{- toYaml .Values.customLivenessProbe | nindent 12 }} diff --git a/charts/redis/values.yaml b/charts/redis/values.yaml index 57358728..f0b9f0a4 100644 --- a/charts/redis/values.yaml +++ b/charts/redis/values.yaml @@ -96,6 +96,18 @@ podDisruptionBudget: {} ## Maximum number of pods that can be unavailable after eviction # maxUnavailable: +## Custom startup probe (overwrites default startup probe) +customStartupProbe: {} + +## Default startup probe +startupProbe: + enabled: true + initialDelaySeconds: 10 + timeoutSeconds: 5 + failureThreshold: 30 + successThreshold: 1 + periodSeconds: 10 + ## Custom liveness probe (overwrites default liveness probe) customLivenessProbe: {} diff --git a/charts/wordpress/Chart.yaml b/charts/wordpress/Chart.yaml index 2872cc69..f9d4e365 100644 --- a/charts/wordpress/Chart.yaml +++ b/charts/wordpress/Chart.yaml @@ -8,7 +8,7 @@ maintainers: type: application # This is the chart version. -version: 0.4.8 +version: 0.4.9 # This is the version number of the application being deployed. appVersion: "5.8.3-apache" diff --git a/charts/wordpress/README.md b/charts/wordpress/README.md index 4ada1d2e..ab6e5e19 100644 --- a/charts/wordpress/README.md +++ b/charts/wordpress/README.md @@ -1,14 +1,18 @@ -# Wordpress +# Wordpress -   +   + +## Changelog + +see [RELEASENOTES.md](RELEASENOTES.md) A Helm chart for Wordpress on Kubernetes ## TL;DR ```bash -$ helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/ -$ helm install my-release groundhog2k/wordpress +helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/ +helm install my-release groundhog2k/wordpress ``` ## Introduction @@ -28,7 +32,7 @@ It fully supports deployment of the multi-architecture docker image. To install the chart with the release name `my-release`: ```bash -$ helm install my-release groundhog2k/wordpress +helm install my-release groundhog2k/wordpress ``` ## Uninstalling the Chart @@ -36,7 +40,7 @@ $ helm install my-release groundhog2k/wordpress To uninstall/delete the `my-release` deployment: ```bash -$ helm uninstall my-release +helm uninstall my-release ``` ## Requirements @@ -62,8 +66,10 @@ $ helm uninstall my-release | imagePullSecrets | list | `[]` | Image pull secrets | | strategy | object | `{}` | Pod deployment strategy | | livenessProbe | object | `see values.yaml` | Liveness probe configuration | +| startupProbe | object | `see values.yaml` | Startup probe configuration | | readinessProbe | object | `see values.yaml` | Readiness probe configuration | | customLivenessProbe | object | `{}` | Custom liveness probe (overwrites default liveness probe configuration) | +| customStartupProbe | object | `{}` | Custom startup probe (overwrites default startup probe configuration) | | customReadinessProbe | object | `{}` | Custom readiness probe (overwrites default readiness probe configuration) | | resources | object | `{}` | Resource limits and requests | | nodeSelector | object | `{}` | Deployment node selector | diff --git a/charts/wordpress/RELEASENOTES.md b/charts/wordpress/RELEASENOTES.md new file mode 100644 index 00000000..e2ab1343 --- /dev/null +++ b/charts/wordpress/RELEASENOTES.md @@ -0,0 +1,6 @@ +# Changelog + +| Chart version | App version | Change description | +| :------------ | :---------- | :----------------- | +| 0.4.9 | 5.8.3-apache | Implemented startupProbe support | +| | | | diff --git a/charts/wordpress/templates/deployment.yaml b/charts/wordpress/templates/deployment.yaml index 1cb1073d..4531a2fe 100644 --- a/charts/wordpress/templates/deployment.yaml +++ b/charts/wordpress/templates/deployment.yaml @@ -61,6 +61,27 @@ spec: - name: http containerPort: {{ .Values.containerPort }} protocol: TCP + {{- if .Values.customStartupProbe }} + startupProbe: + {{- toYaml .Values.customStartupProbe | nindent 12 }} + {{- else }} + {{- if .Values.startupProbe.enabled }} + startupProbe: + httpGet: + path: /wp-login.php + port: http + httpHeaders: + - name: Host + value: localhost:{{ .Values.containerPort }} + {{- with .Values.startupProbe }} + initialDelaySeconds: {{ .initialDelaySeconds }} + timeoutSeconds: {{ .timeoutSeconds }} + failureThreshold: {{ .failureThreshold }} + successThreshold: {{ .successThreshold }} + periodSeconds: {{ .periodSeconds }} + {{- end }} + {{- end }} + {{- end }} {{- if .Values.customLivenessProbe }} livenessProbe: {{- toYaml .Values.customLivenessProbe | nindent 12 }} diff --git a/charts/wordpress/values.yaml b/charts/wordpress/values.yaml index e2230515..91715e46 100644 --- a/charts/wordpress/values.yaml +++ b/charts/wordpress/values.yaml @@ -93,6 +93,18 @@ resources: {} # cpu: 100m # memory: 128Mi +## Custom startup probe (overwrites default startup probe) +customStartupProbe: {} + +## Default startup probe +startupProbe: + enabled: true + initialDelaySeconds: 10 + timeoutSeconds: 5 + failureThreshold: 30 + successThreshold: 1 + periodSeconds: 10 + ## Custom liveness probe (overwrites default liveness probe) customLivenessProbe: {} -- GitLab