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
 
-![Version: 0.4.0](https://img.shields.io/badge/Version-0.4.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 10.7.1](https://img.shields.io/badge/AppVersion-10.7.1-informational?style=flat-square)
+![Version: 0.2.17](https://img.shields.io/badge/Version-0.2.17-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 10.5.13](https://img.shields.io/badge/AppVersion-10.5.13-informational?style=flat-square)
+
+## 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
 
-![Version: 0.4.0](https://img.shields.io/badge/Version-0.4.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 5.0.5](https://img.shields.io/badge/AppVersion-5.0.5-informational?style=flat-square)
+![Version: 0.2.14](https://img.shields.io/badge/Version-0.2.14-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.2.14](https://img.shields.io/badge/AppVersion-4.2.14-informational?style=flat-square)
+
+## 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
 
-![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: 14.1](https://img.shields.io/badge/AppVersion-14.1-informational?style=flat-square)
+![Version: 0.3.5](https://img.shields.io/badge/Version-0.3.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 14.1](https://img.shields.io/badge/AppVersion-14.1-informational?style=flat-square)
 
 ## 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
 
-![Version: 0.4.9](https://img.shields.io/badge/Version-0.4.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.2.6](https://img.shields.io/badge/AppVersion-6.2.6-informational?style=flat-square)
+![Version: 0.4.10](https://img.shields.io/badge/Version-0.4.10-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.2.6](https://img.shields.io/badge/AppVersion-6.2.6-informational?style=flat-square)
+
+## 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
 
-![Version: 0.4.8](https://img.shields.io/badge/Version-0.4.8-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 5.8.3-apache](https://img.shields.io/badge/AppVersion-5.8.3-informational?style=flat-square)
+![Version: 0.4.9](https://img.shields.io/badge/Version-0.4.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 5.8.3-apache](https://img.shields.io/badge/AppVersion-5.8.3-informational?style=flat-square)
+
+## 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