Allow affinity setting in CronJob

Signed-off-by: kahirokunn <okinakahiro@gmail.com>
Change-Id: I98c7488b27970924ea735b4cd896432ebeb381f5
diff --git a/helm-charts/gerrit-replica/README.md b/helm-charts/gerrit-replica/README.md
index 726ecd3..82414c7 100644
--- a/helm-charts/gerrit-replica/README.md
+++ b/helm-charts/gerrit-replica/README.md
@@ -346,6 +346,7 @@
 |                   |                                                               | `limits.cpu: 100m` |
 |                   |                                                               | `limits.memory: 256Mi` |
 | `gitGC.tolerations` | Taints and tolerations work together to ensure that pods are not scheduled onto inappropriate nodes. For more information, please refer to the following documents. [Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration) | [] |
+| `gitGC.affinity` | Assigns a Pod to the specified Nodes. For more information, please refer to the following documents. [Assign Pods to Nodes using Node Affinity](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/). [Assigning Pods to Nodes](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/) | {} |
 
 ### Gerrit replica
 
diff --git a/helm-charts/gerrit-replica/templates/git-gc.cronjob.yaml b/helm-charts/gerrit-replica/templates/git-gc.cronjob.yaml
index 5493f16..ee87787 100644
--- a/helm-charts/gerrit-replica/templates/git-gc.cronjob.yaml
+++ b/helm-charts/gerrit-replica/templates/git-gc.cronjob.yaml
@@ -28,6 +28,10 @@
           tolerations:
             {{- toYaml . | nindent 10 }}
           {{- end }}
+          {{- with .Values.gitGC.affinity }}
+          affinity:
+            {{- toYaml . | nindent 10 }}
+          {{- end }}
           restartPolicy: OnFailure
           securityContext:
             fsGroup: 100
diff --git a/helm-charts/gerrit-replica/values.yaml b/helm-charts/gerrit-replica/values.yaml
index b746aec..42d1274 100644
--- a/helm-charts/gerrit-replica/values.yaml
+++ b/helm-charts/gerrit-replica/values.yaml
@@ -233,6 +233,7 @@
   image: k8sgerrit/git-gc
 
   tolerations: []
+  affinity: {}
 
   schedule: 0 6,18 * * *
 
diff --git a/helm-charts/gerrit/README.md b/helm-charts/gerrit/README.md
index 2b57ab3..e6b4639 100644
--- a/helm-charts/gerrit/README.md
+++ b/helm-charts/gerrit/README.md
@@ -218,6 +218,7 @@
 | `gitGC.logging.persistence.enabled` | Whether to persist logs | `true` |
 | `gitGC.logging.persistence.size` | Storage size for persisted logs | `1Gi` |
 | `gitGC.tolerations` | Taints and tolerations work together to ensure that pods are not scheduled onto inappropriate nodes. For more information, please refer to the following documents. [Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration) | [] |
+| `gitGC.affinity` | Assigns a Pod to the specified Nodes. For more information, please refer to the following documents. [Assign Pods to Nodes using Node Affinity](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/). [Assigning Pods to Nodes](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/) | {} |
 
 ### Gerrit
 
diff --git a/helm-charts/gerrit/templates/git-gc.cronjob.yaml b/helm-charts/gerrit/templates/git-gc.cronjob.yaml
index 2f446ad..c1a1aac 100644
--- a/helm-charts/gerrit/templates/git-gc.cronjob.yaml
+++ b/helm-charts/gerrit/templates/git-gc.cronjob.yaml
@@ -24,6 +24,10 @@
           tolerations:
             {{- toYaml . | nindent 10 }}
           {{- end }}
+          {{- with .Values.gitGC.affinity }}
+          affinity:
+            {{- toYaml . | nindent 10 }}
+          {{- end }}
           restartPolicy: OnFailure
           securityContext:
             runAsUser: 1000
diff --git a/helm-charts/gerrit/values.yaml b/helm-charts/gerrit/values.yaml
index 4121558..9cc2878 100644
--- a/helm-charts/gerrit/values.yaml
+++ b/helm-charts/gerrit/values.yaml
@@ -98,6 +98,7 @@
   image: k8sgerrit/git-gc
 
   tolerations: []
+  affinity: {}
 
   schedule: 0 6,18 * * *