feat(helm): add nodeselector and tolerations to init job (#23416)

Co-authored-by: Dimitri GRISARD <dgrisard-externe@bedrockstreaming.com>
diff --git a/helm/superset/Chart.yaml b/helm/superset/Chart.yaml
index 40512d0..cfcc43d 100644
--- a/helm/superset/Chart.yaml
+++ b/helm/superset/Chart.yaml
@@ -29,7 +29,7 @@
   - name: craig-rueda
     email: craig@craigrueda.com
     url: https://github.com/craig-rueda
-version: 0.8.9
+version: 0.8.10
 dependencies:
   - name: postgresql
     version: 12.1.6
diff --git a/helm/superset/README.md b/helm/superset/README.md
index 85f72a8..9392d1f 100644
--- a/helm/superset/README.md
+++ b/helm/superset/README.md
@@ -23,7 +23,7 @@
 
 # superset
 
-![Version: 0.8.9](https://img.shields.io/badge/Version-0.8.9-informational?style=flat-square)
+![Version: 0.8.10](https://img.shields.io/badge/Version-0.8.10-informational?style=flat-square)
 
 Apache Superset is a modern, enterprise-ready business intelligence web application
 
@@ -84,6 +84,7 @@
 | init.adminUser.lastname | string | `"Admin"` |  |
 | init.adminUser.password | string | `"admin"` |  |
 | init.adminUser.username | string | `"admin"` |  |
+| init.affinity | object | `{}` |  |
 | init.command | list | a `superset_init.sh` command | Command |
 | init.containerSecurityContext | object | `{}` |  |
 | init.createAdmin | bool | `true` |  |
@@ -94,6 +95,8 @@
 | init.podAnnotations | object | `{}` |  |
 | init.podSecurityContext | object | `{}` |  |
 | init.resources | object | `{}` |  |
+| init.tolerations | list | `[]` |  |
+| init.topologySpreadConstraints | list | `[]` | TopologySpreadConstrains to be added to init job |
 | initImage.pullPolicy | string | `"IfNotPresent"` |  |
 | initImage.repository | string | `"jwilder/dockerize"` |  |
 | initImage.tag | string | `"latest"` |  |
diff --git a/helm/superset/templates/init-job.yaml b/helm/superset/templates/init-job.yaml
index 1ffbf1c..266c22a 100644
--- a/helm/superset/templates/init-job.yaml
+++ b/helm/superset/templates/init-job.yaml
@@ -83,6 +83,28 @@
         command: {{  tpl (toJson .Values.init.command) . }}
         resources:
           {{- toYaml .Values.init.resources | nindent 10 }}
+      {{- with .Values.nodeSelector }}
+      nodeSelector:
+        {{- toYaml . | nindent 8 }}
+      {{- end }}
+      {{- if or .Values.affinity .Values.init.affinity }}
+      affinity:
+        {{- with .Values.affinity }}
+        {{- toYaml . | nindent 8 }}
+        {{- end }}
+        {{- with .Values.init.affinity }}
+        {{- toYaml . | nindent 8 }}
+        {{- end }}
+      {{- end }}
+      {{- if or .Values.topologySpreadConstraints .Values.init.topologySpreadConstraints }}
+      topologySpreadConstraints:
+        {{- with .Values.topologySpreadConstraints }}
+        {{- toYaml . | nindent 8 }}
+        {{- end }}
+        {{- with .Values.init.topologySpreadConstraints }}
+        {{- toYaml . | nindent 8 }}
+        {{- end }}
+      {{- end }}
       {{- with .Values.tolerations }}
       tolerations:
         {{- toYaml . | nindent 8 }}
diff --git a/helm/superset/values.yaml b/helm/superset/values.yaml
index 5a3103a..8e611e7 100644
--- a/helm/superset/values.yaml
+++ b/helm/superset/values.yaml
@@ -694,6 +694,12 @@
   podAnnotations: {}
   podSecurityContext: {}
   containerSecurityContext: {}
+  ## Tolerations to be added to init job pods
+  tolerations: []
+  ## Affinity to be added to init job pods
+  affinity: {}
+  # -- TopologySpreadConstrains to be added to init job
+  topologySpreadConstraints: []
 
 # -- Configuration values for the postgresql dependency.
 # ref: https://github.com/kubernetes/charts/blob/master/stable/postgresql/README.md