feat(helm): add liveness and readiness for deployment webserver (#20567)

* feat(helm): add liveness and readiness for deployment webserver

* feat(helm): add example in values

* feat(helm): move config probes under supersetNode

* feat(helm): bump chart.yaml

* fix(helm): remove default values in template and use values.yaml

* fix(git): bump chart verison

* fix(json):  update the schema to get CI passing

* fix(helm): correct path for values readiness

Co-authored-by: wiktor2200 <wiktor2200@users.noreply.github.com>

Co-authored-by: Jeremy PLANCKEEL <jplanckeel.externe@bedrockstreaming.com>
Co-authored-by: Craig Rueda <craig@craigrueda.com>
Co-authored-by: wiktor2200 <wiktor2200@users.noreply.github.com>
diff --git a/helm/superset/Chart.yaml b/helm/superset/Chart.yaml
index 078d11b..9b53c89 100644
--- a/helm/superset/Chart.yaml
+++ b/helm/superset/Chart.yaml
@@ -22,7 +22,7 @@
   - name: craig-rueda
     email: craig@craigrueda.com
     url: https://github.com/craig-rueda
-version: 0.7.0
+version: 0.7.1
 dependencies:
 - name: postgresql
   version: 11.1.22
diff --git a/helm/superset/templates/deployment.yaml b/helm/superset/templates/deployment.yaml
index 8d035a2..7c3bdac 100644
--- a/helm/superset/templates/deployment.yaml
+++ b/helm/superset/templates/deployment.yaml
@@ -120,6 +120,24 @@
             - name: http
               containerPort: {{ .Values.service.port }}
               protocol: TCP
+          livenessProbe:
+            httpGet:
+              path: /health
+              port: http
+            initialDelaySeconds: {{ .Values.supersetNode.livenessProbe.initialDelaySeconds }}
+            timeoutSeconds: {{ .Values.supersetNode.livenessProbe.timeoutSeconds }}
+            failureThreshold: {{ .Values.supersetNode.livenessProbe.failureThreshold }}
+            periodSeconds: {{ .Values.supersetNode.livenessProbe.periodSeconds }}
+            successThreshold: {{ .Values.supersetNode.livenessProbe.successThreshold }}
+          readinessProbe:
+            httpGet:
+              path: /health
+              port: http
+            initialDelaySeconds: {{ .Values.supersetNode.readinessProbe.initialDelaySeconds }}
+            timeoutSeconds: {{ .Values.supersetNode.readinessProbe.timeoutSeconds }}
+            failureThreshold: {{ .Values.supersetNode.readinessProbe.failureThreshold }}
+            periodSeconds: {{ .Values.supersetNode.readinessProbe.periodSeconds }}
+            successThreshold: {{ .Values.supersetNode.readinessProbe.successThreshold }}
           resources:
           {{- if .Values.supersetNode.resources }}
 {{ toYaml .Values.supersetNode.resources | indent 12 }}
diff --git a/helm/superset/values.schema.json b/helm/superset/values.schema.json
index dc8a586..996c88b 100644
--- a/helm/superset/values.schema.json
+++ b/helm/superset/values.schema.json
@@ -276,6 +276,62 @@
                 "podLabels": {
                     "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels"
                 },
+                "livenessProbe": {
+                    "type": "object",
+                    "additionalProperties": false,
+                    "properties": {
+                        "initialDelaySeconds": {
+                            "type": "integer"
+                        },
+                        "timeoutSeconds": {
+                            "type": "integer"
+                        },
+                        "failureThreshold": {
+                            "type": "integer"
+                        },
+                        "periodSeconds": {
+                            "type": "integer"
+                        },
+                        "successThreshold": {
+                            "type": "integer"
+                        }
+                    },
+                    "required": [
+                        "initialDelaySeconds",
+                        "timeoutSeconds",
+                        "failureThreshold",
+                        "periodSeconds",
+                        "successThreshold"
+                    ]
+                },
+                "readinessProbe": {
+                    "type": "object",
+                    "additionalProperties": false,
+                    "properties": {
+                        "initialDelaySeconds": {
+                            "type": "integer"
+                        },
+                        "timeoutSeconds": {
+                            "type": "integer"
+                        },
+                        "failureThreshold": {
+                            "type": "integer"
+                        },
+                        "periodSeconds": {
+                            "type": "integer"
+                        },
+                        "successThreshold": {
+                            "type": "integer"
+                        }
+                    },
+                    "required": [
+                        "initialDelaySeconds",
+                        "timeoutSeconds",
+                        "failureThreshold",
+                        "periodSeconds",
+                        "successThreshold"
+                    ]
+                },
                 "resources": {
                     "type": "object"
                 },
diff --git a/helm/superset/values.yaml b/helm/superset/values.yaml
index 3188903..86029c8 100644
--- a/helm/superset/values.yaml
+++ b/helm/superset/values.yaml
@@ -254,6 +254,18 @@
   podAnnotations: {}
   ## Labels to be added to supersetNode pods
   podLabels: {}
+  livenessProbe:
+    initialDelaySeconds: 15
+    timeoutSeconds: 1
+    failureThreshold: 3
+    periodSeconds: 15
+    successThreshold: 1
+  readinessProbe:
+    initialDelaySeconds: 15
+    timeoutSeconds: 1
+    failureThreshold: 3
+    periodSeconds: 15
+    successThreshold: 1
   # Resource settings for the supersetNode pods - these settings overwrite might existing values from the global resources object defined above.
   resources: {}
     # limits: