diff --git a/kibana/README.md b/kibana/README.md
index be1a8a36a..c37e8e53d 100644
--- a/kibana/README.md
+++ b/kibana/README.md
@@ -48,6 +48,7 @@ helm install --name kibana elastic/kibana --version 7.2.0 --set imageTag=7.2.0
| `image` | The Kibana docker image | `docker.elastic.co/kibana/kibana` |
| `imageTag` | The Kibana docker image tag | `7.2.0` |
| `imagePullPolicy` | The Kubernetes [imagePullPolicy](https://kubernetes.io/docs/concepts/containers/images/#updating-images) value | `IfNotPresent` |
+| `podAnnotations` | Configurable [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) applied to all Kibana pods | `{}` |
| `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` |
| `serverHost` | The [`server.host`](https://www.elastic.co/guide/en/kibana/current/settings.html) Kibana setting. This is set explicitly so that the default always matches what comes with the docker image. | `0.0.0.0` |
diff --git a/kibana/templates/deployment.yaml b/kibana/templates/deployment.yaml
index a9f530a62..827561c28 100644
--- a/kibana/templates/deployment.yaml
+++ b/kibana/templates/deployment.yaml
@@ -19,6 +19,9 @@ spec:
app: kibana
release: {{ .Release.Name | quote }}
annotations:
+ {{- range $key, $value := .Values.podAnnotations }}
+ {{ $key }}: {{ $value | quote }}
+ {{- end }}
{{/* This forces a restart if the configmap has changed */}}
{{- if .Values.kibanaConfig }}
configchecksum: {{ include (print .Template.BasePath "/configmap.yaml") . | sha256sum | trunc 63 }}
diff --git a/kibana/tests/kibana_test.py b/kibana/tests/kibana_test.py
index 5ad4a33b1..5cf99f568 100644
--- a/kibana/tests/kibana_test.py
+++ b/kibana/tests/kibana_test.py
@@ -333,3 +333,11 @@ def test_override_the_serverHost():
c = r['deployment'][name]['spec']['template']['spec']['containers'][0]
assert c['env'][1]['name'] == 'SERVER_HOST'
assert c['env'][1]['value'] == 'localhost'
+
+def test_adding_pod_annotations():
+ config = '''
+podAnnotations:
+ iam.amazonaws.com/role: es-role
+'''
+ r = helm_template(config)
+ assert r['deployment'][name]['spec']['template']['metadata']['annotations']['iam.amazonaws.com/role'] == 'es-role'
\ No newline at end of file
diff --git a/kibana/values.yaml b/kibana/values.yaml
index e1581bef6..e34407e23 100755
--- a/kibana/values.yaml
+++ b/kibana/values.yaml
@@ -24,6 +24,9 @@ image: "docker.elastic.co/kibana/kibana"
imageTag: "7.2.0"
imagePullPolicy: "IfNotPresent"
+podAnnotations: {}
+ # iam.amazonaws.com/role: es-cluster
+
resources:
requests:
cpu: "100m"