diff --git a/kibana/README.md b/kibana/README.md index 89b64d553..20dc91f3b 100644 --- a/kibana/README.md +++ b/kibana/README.md @@ -50,6 +50,7 @@ helm install --name kibana elastic/kibana --version 7.0.0-alpha1 --set imageTag= | `imagePullPolicy` | The Kubernetes [imagePullPolicy](https://kubernetes.io/docs/concepts/containers/images/#updating-images) value | `IfNotPresent` | | `resources` | Allows you to set the [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) for the statefulset | `requests.cpu: 100m`
`requests.memory: 2Gi`
`limits.cpu: 1000m`
`limits.memory: 2Gi` | | `protocol` | The protocol that will be used for the readinessProbe. Change this to `https` if you have `server.ssl.enabled: true` set | `http` | +| `healthCheckPath` | The path used for the readinessProbe to check that Kibana is ready | `/app/kibana` | | `kibanaConfig` | Allows you to add any config files in `/usr/share/kibana/config/` such as `kibana.yml`. See [values.yaml](./values.yaml) for an example of the formatting. | `{}` | | `podSecurityContext` | Allows you to set the [securityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) for the pod | `{}` | | `serviceAccount` | Allows you to overwrite the "default" [serviceAccount](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/) for the pod | `[]` | diff --git a/kibana/templates/deployment.yaml b/kibana/templates/deployment.yaml index 8bf51c46d..405011fc3 100644 --- a/kibana/templates/deployment.yaml +++ b/kibana/templates/deployment.yaml @@ -91,7 +91,7 @@ spec: curl -k "$@" "{{ .Values.protocol }}://localhost:{{ .Values.httpPort }}${path}" } - http "/app/kibana" + http "{{ .Values.healthCheckPath }}" ports: - containerPort: {{ .Values.httpPort }} resources: diff --git a/kibana/tests/kibana_test.py b/kibana/tests/kibana_test.py index 62909c54a..43bbc6289 100644 --- a/kibana/tests/kibana_test.py +++ b/kibana/tests/kibana_test.py @@ -30,6 +30,8 @@ def test_defaults(): assert c['env'][0]['name'] == 'ELASTICSEARCH_HOSTS' assert c['env'][0]['value'] == elasticsearchHosts + assert 'http "/app/kibana"' in c['readinessProbe']['exec']['command'][-1] + # Empty customizable defaults assert 'imagePullSecrets' not in r['deployment'][name]['spec']['template']['spec'] assert 'tolerations' not in r['deployment'][name]['spec']['template']['spec'] @@ -224,3 +226,12 @@ def test_changing_the_protocol(): r = helm_template(config) c = r['deployment'][name]['spec']['template']['spec']['containers'][0] assert 'https://' in c['readinessProbe']['exec']['command'][-1] + +def test_changing_the_health_check_path(): + config = ''' +healthCheckPath: "/kibana/app/kibana" +''' + r = helm_template(config) + c = r['deployment'][name]['spec']['template']['spec']['containers'][0] + + assert 'http "/kibana/app/kibana"' in c['readinessProbe']['exec']['command'][-1] diff --git a/kibana/values.yaml b/kibana/values.yaml index 299f5e7c4..3261206fb 100755 --- a/kibana/values.yaml +++ b/kibana/values.yaml @@ -34,6 +34,8 @@ resources: protocol: http +healthCheckPath: "/app/kibana" + # Allows you to add any config files in /usr/share/kibana/config/ # such as kibana.yml kibanaConfig: {}