[charts] Allow to add annotations to Services

Change-Id: I0c1b06ea719e05801500aa010f01d2e2aa87ca55
diff --git a/helm-charts/gerrit-replica/README.md b/helm-charts/gerrit-replica/README.md
index 8e03b2b..c988875 100644
--- a/helm-charts/gerrit-replica/README.md
+++ b/helm-charts/gerrit-replica/README.md
@@ -328,6 +328,7 @@
 | `gitBackend.livenessProbe` | Configuration of the liveness probe timings | `{initialDelaySeconds: 10, periodSeconds: 5}` |
 | `gitBackend.readinessProbe` | Configuration of the readiness probe timings | `{initialDelaySeconds: 5, periodSeconds: 1}` |
 | `gitBackend.credentials.htpasswd` | `.htpasswd`-file containing username/password-credentials for accessing git | `git:$apr1$O/LbLKC7$Q60GWE7OcqSEMSfe/K8xU.` (user: git, password: secret) |
+| `gitBackend.service.additionalAnnotations` | Additional annotations for the Service | `{}` |
 | `gitBackend.service.type` | Which kind of Service to deploy | `LoadBalancer` |
 | `gitBackend.service.externalTrafficPolicy` | Specify how traffic from external is handled | `Cluster` |
 | `gitBackend.service.http.enabled` | Whether to serve HTTP-requests (needed for Ingress) | `true` |
@@ -396,6 +397,7 @@
 |                           |                                                               | `limits.memory: 6Gi` |
 | `gerritReplica.networkPolicy.ingress` | Custom ingress-network policy for gerrit-replica pods | `nil` |
 | `gerritReplica.networkPolicy.egress` | Custom egress-network policy for gerrit-replica pods | `nil` |
+| `gerritReplica.service.additionalAnnotations` | Additional annotations for the Service | `{}` |
 | `gerritReplica.service.type` | Which kind of Service to deploy | `NodePort` |
 | `gerritReplica.service.externalTrafficPolicy` | Specify how traffic from external is handled | `Cluster` |
 | `gerritReplica.service.http.port` | Port over which to expose HTTP | `80` |
diff --git a/helm-charts/gerrit-replica/templates/gerrit-replica.service.yaml b/helm-charts/gerrit-replica/templates/gerrit-replica.service.yaml
index 50ae238..a5322e8 100644
--- a/helm-charts/gerrit-replica/templates/gerrit-replica.service.yaml
+++ b/helm-charts/gerrit-replica/templates/gerrit-replica.service.yaml
@@ -7,6 +7,10 @@
     chart: {{ template "gerrit-replica.chart" . }}
     heritage: {{ .Release.Service }}
     release: {{ .Release.Name }}
+  {{- if .Values.gerritReplica.service.additionalAnnotations }}
+  annotations:
+{{ toYaml .Values.gerritReplica.service.additionalAnnotations  | indent 4 }}
+  {{- end }}
 spec:
   {{ with .Values.gerritReplica.service }}
   ports:
diff --git a/helm-charts/gerrit-replica/templates/git-backend.service.yaml b/helm-charts/gerrit-replica/templates/git-backend.service.yaml
index 8c238a8..346eb19 100644
--- a/helm-charts/gerrit-replica/templates/git-backend.service.yaml
+++ b/helm-charts/gerrit-replica/templates/git-backend.service.yaml
@@ -7,6 +7,10 @@
     chart: {{ template "gerrit-replica.chart" . }}
     heritage: {{ .Release.Service }}
     release: {{ .Release.Name }}
+  {{- if .Values.gitBackend.service.additionalAnnotations }}
+  annotations:
+{{ toYaml .Values.gitBackend.service.additionalAnnotations  | indent 4 }}
+  {{- end }}
 spec:
   {{ with .Values.gitBackend.service }}
   ports:
diff --git a/helm-charts/gerrit-replica/values.yaml b/helm-charts/gerrit-replica/values.yaml
index 2c794eb..2ac7e6d 100644
--- a/helm-charts/gerrit-replica/values.yaml
+++ b/helm-charts/gerrit-replica/values.yaml
@@ -216,6 +216,7 @@
     periodSeconds: 1
 
   service:
+    additionalAnnotations: {}
     type: NodePort
     externalTrafficPolicy: Cluster
     http:
@@ -306,6 +307,7 @@
     egress: []
 
   service:
+    additionalAnnotations: {}
     type: NodePort
     externalTrafficPolicy: Cluster
     http:
diff --git a/helm-charts/gerrit/README.md b/helm-charts/gerrit/README.md
index c3adeb1..5c7627f 100644
--- a/helm-charts/gerrit/README.md
+++ b/helm-charts/gerrit/README.md
@@ -302,6 +302,7 @@
 | `gerrit.gracefulStopTimeout` | Time in seconds Kubernetes will wait until killing the pod during termination (has to be longer then Gerrit's httpd.gracefulStopTimeout to allow graceful shutdown of Gerrit) | `90` |
 | `gerrit.networkPolicy.ingress` | Custom ingress-network policy for gerrit pods | `nil` |
 | `gerrit.networkPolicy.egress` | Custom egress-network policy for gerrit pods | `nil` |
+| `gerrit.service.additionalAnnotations` | Additional annotations for the Service | `{}` |
 | `gerrit.service.type` | Which kind of Service to deploy | `NodePort` |
 | `gerrit.service.externalTrafficPolicy` | Specify how traffic from external is handled | `Cluster` |
 | `gerrit.service.http.port` | Port over which to expose HTTP | `80` |
diff --git a/helm-charts/gerrit/templates/gerrit.service.yaml b/helm-charts/gerrit/templates/gerrit.service.yaml
index b81c9ed..904e848 100644
--- a/helm-charts/gerrit/templates/gerrit.service.yaml
+++ b/helm-charts/gerrit/templates/gerrit.service.yaml
@@ -7,6 +7,10 @@
     chart: {{ template "gerrit.chart" . }}
     heritage: {{ .Release.Service }}
     release: {{ .Release.Name }}
+  {{- if .Values.gerrit.service.additionalAnnotations }}
+  annotations:
+{{ toYaml .Values.gerrit.service.additionalAnnotations  | indent 4 }}
+  {{- end }}
 spec:
   {{ with .Values.gerrit.service }}
   ports:
diff --git a/helm-charts/gerrit/values.yaml b/helm-charts/gerrit/values.yaml
index faa08b5..0397315 100644
--- a/helm-charts/gerrit/values.yaml
+++ b/helm-charts/gerrit/values.yaml
@@ -197,6 +197,7 @@
     #         app: git-backend
 
   service:
+    additionalAnnotations: {}
     type: NodePort
     externalTrafficPolicy: Cluster
     http: