diff --git a/charts/operator-wandb/charts/console/templates/deployment.yaml b/charts/operator-wandb/charts/console/templates/deployment.yaml index 5771d410..ab0c1280 100644 --- a/charts/operator-wandb/charts/console/templates/deployment.yaml +++ b/charts/operator-wandb/charts/console/templates/deployment.yaml @@ -42,6 +42,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "console.labels" .))) | nindent 6 }} + {{- end }} # Extend the pods shutdown grace period from the default of 30s to 60s. # This goes in the pod template spec. terminationGracePeriodSeconds: 60 diff --git a/charts/operator-wandb/charts/console/values.yaml b/charts/operator-wandb/charts/console/values.yaml index e7250e5a..c040c837 100644 --- a/charts/operator-wandb/charts/console/values.yaml +++ b/charts/operator-wandb/charts/console/values.yaml @@ -49,6 +49,9 @@ container: readOnlyRootFilesystem: false privileged: false +topologySpreadConstraints: + enabled: false + service: type: ClusterIP annotations: {} diff --git a/charts/operator-wandb/charts/executor/templates/deployment.yaml b/charts/operator-wandb/charts/executor/templates/deployment.yaml index 268a2235..fb31367b 100644 --- a/charts/operator-wandb/charts/executor/templates/deployment.yaml +++ b/charts/operator-wandb/charts/executor/templates/deployment.yaml @@ -45,6 +45,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "executor.labels" .))) | nindent 6 }} + {{- end }} # needed to ensure ensure Kafka consumers handle pod termination gracefully and avoid data loss terminationGracePeriodSeconds: 60 containers: diff --git a/charts/operator-wandb/charts/executor/values.yaml b/charts/operator-wandb/charts/executor/values.yaml index ab55e3bc..b3890e6f 100644 --- a/charts/operator-wandb/charts/executor/values.yaml +++ b/charts/operator-wandb/charts/executor/values.yaml @@ -54,6 +54,9 @@ container: readOnlyRootFilesystem: false privileged: false +topologySpreadConstraints: + enabled: false + common: labels: {} diff --git a/charts/operator-wandb/charts/filestream/templates/deployment.yaml b/charts/operator-wandb/charts/filestream/templates/deployment.yaml index 8634f7b1..f2d03bb6 100644 --- a/charts/operator-wandb/charts/filestream/templates/deployment.yaml +++ b/charts/operator-wandb/charts/filestream/templates/deployment.yaml @@ -45,6 +45,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "filestream.labels" .))) | nindent 6 }} + {{- end }} # needed to ensure ensure Kafka consumers handle pod termination gracefully and avoid data loss terminationGracePeriodSeconds: 60 containers: diff --git a/charts/operator-wandb/charts/filestream/values.yaml b/charts/operator-wandb/charts/filestream/values.yaml index 193739e3..9ada8ca4 100644 --- a/charts/operator-wandb/charts/filestream/values.yaml +++ b/charts/operator-wandb/charts/filestream/values.yaml @@ -58,6 +58,9 @@ container: readOnlyRootFilesystem: false privileged: false +topologySpreadConstraints: + enabled: false + common: labels: {} diff --git a/charts/operator-wandb/charts/flat-run-fields-updater/templates/deployment.yaml b/charts/operator-wandb/charts/flat-run-fields-updater/templates/deployment.yaml index 5e8d2022..351fa2e9 100644 --- a/charts/operator-wandb/charts/flat-run-fields-updater/templates/deployment.yaml +++ b/charts/operator-wandb/charts/flat-run-fields-updater/templates/deployment.yaml @@ -45,6 +45,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "flat-run-fields-updater.labels" .))) | nindent 6 }} + {{- end }} # needed to ensure ensure Kafka consumers handle pod termination gracefully and avoid data loss terminationGracePeriodSeconds: 60 containers: diff --git a/charts/operator-wandb/charts/flat-run-fields-updater/values.yaml b/charts/operator-wandb/charts/flat-run-fields-updater/values.yaml index 8c07c405..bbae5782 100644 --- a/charts/operator-wandb/charts/flat-run-fields-updater/values.yaml +++ b/charts/operator-wandb/charts/flat-run-fields-updater/values.yaml @@ -54,6 +54,9 @@ container: readOnlyRootFilesystem: false privileged: false +topologySpreadConstraints: + enabled: false + common: labels: {} diff --git a/charts/operator-wandb/charts/mysql/templates/statefulset.yaml b/charts/operator-wandb/charts/mysql/templates/statefulset.yaml index 438e0931..507bace0 100644 --- a/charts/operator-wandb/charts/mysql/templates/statefulset.yaml +++ b/charts/operator-wandb/charts/mysql/templates/statefulset.yaml @@ -29,10 +29,13 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "mysql.labels" .))) | nindent 6 }} + {{- end }} containers: - name: mysql image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - {{- include "wandb.podSecurityContext" .Values.container.securityContext | nindent 10 }} + {{- include "wandb.containerSecurityContext" .Values.container.securityContext | nindent 10 }} ports: - name: mysql containerPort: 3306 diff --git a/charts/operator-wandb/charts/mysql/values.yaml b/charts/operator-wandb/charts/mysql/values.yaml index b779d139..c2690481 100644 --- a/charts/operator-wandb/charts/mysql/values.yaml +++ b/charts/operator-wandb/charts/mysql/values.yaml @@ -45,6 +45,9 @@ container: readOnlyRootFilesystem: false privileged: false +topologySpreadConstraints: + enabled: false + resources: requests: cpu: 500m diff --git a/charts/operator-wandb/charts/otel/charts/agent/templates/deamonset.yaml b/charts/operator-wandb/charts/otel/charts/agent/templates/deamonset.yaml index d84fd1d1..221d3eb1 100644 --- a/charts/operator-wandb/charts/otel/charts/agent/templates/deamonset.yaml +++ b/charts/operator-wandb/charts/otel/charts/agent/templates/deamonset.yaml @@ -43,6 +43,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "otelAgent.labels" .))) | nindent 6 }} + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" diff --git a/charts/operator-wandb/charts/otel/charts/agent/templates/deployment.yaml b/charts/operator-wandb/charts/otel/charts/agent/templates/deployment.yaml index 7fbc8b97..047281d2 100644 --- a/charts/operator-wandb/charts/otel/charts/agent/templates/deployment.yaml +++ b/charts/operator-wandb/charts/otel/charts/agent/templates/deployment.yaml @@ -43,6 +43,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "otelAgent.labels" .))) | nindent 6 }} + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" diff --git a/charts/operator-wandb/charts/otel/charts/agent/values.yaml b/charts/operator-wandb/charts/otel/charts/agent/values.yaml index 573c9cd9..6d812860 100644 --- a/charts/operator-wandb/charts/otel/charts/agent/values.yaml +++ b/charts/operator-wandb/charts/otel/charts/agent/values.yaml @@ -51,6 +51,9 @@ container: readOnlyRootFilesystem: false privileged: false +topologySpreadConstraints: + enabled: false + clusterRole: annotations: {} labels: {} diff --git a/charts/operator-wandb/charts/otel/values.yaml b/charts/operator-wandb/charts/otel/values.yaml index 980a638a..5bee7d58 100644 --- a/charts/operator-wandb/charts/otel/values.yaml +++ b/charts/operator-wandb/charts/otel/values.yaml @@ -1,6 +1,8 @@ daemonset: install: true mode: "daemonset" + topologySpreadConstraints: + enabled: false presets: receivers: hostMetrics: true @@ -29,6 +31,8 @@ daemonset: deployment: install: true mode: "deployment" + topologySpreadConstraints: + enabled: false presets: receivers: statsd: true diff --git a/charts/operator-wandb/charts/parquet/templates/cron.yaml b/charts/operator-wandb/charts/parquet/templates/cron.yaml index 1ea5c87d..85e9e20e 100644 --- a/charts/operator-wandb/charts/parquet/templates/cron.yaml +++ b/charts/operator-wandb/charts/parquet/templates/cron.yaml @@ -42,6 +42,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 10 }} {{- include "wandb.priorityClassName" . | nindent 10 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 10 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "parquet.labels" .))) | nindent 10 }} + {{- end }} containers: - name: backfill-job image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" diff --git a/charts/operator-wandb/charts/parquet/templates/deployment.yaml b/charts/operator-wandb/charts/parquet/templates/deployment.yaml index 9938010f..4286cfcc 100644 --- a/charts/operator-wandb/charts/parquet/templates/deployment.yaml +++ b/charts/operator-wandb/charts/parquet/templates/deployment.yaml @@ -43,6 +43,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "parquet.labels" .))) | nindent 6 }} + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" diff --git a/charts/operator-wandb/charts/parquet/values.yaml b/charts/operator-wandb/charts/parquet/values.yaml index 81bd7495..40c13768 100644 --- a/charts/operator-wandb/charts/parquet/values.yaml +++ b/charts/operator-wandb/charts/parquet/values.yaml @@ -55,6 +55,9 @@ container: allowPrivilegeEscalation: false readOnlyRootFilesystem: false +topologySpreadConstraints: + enabled: false + resources: # We usually recommend not to specify default resources and to leave this as a # conscious choice for the user. This also increases chances charts run on diff --git a/charts/operator-wandb/charts/prometheus/charts/mysql-exporter/templates/deployment.yaml b/charts/operator-wandb/charts/prometheus/charts/mysql-exporter/templates/deployment.yaml index 34839bcb..1a639e78 100644 --- a/charts/operator-wandb/charts/prometheus/charts/mysql-exporter/templates/deployment.yaml +++ b/charts/operator-wandb/charts/prometheus/charts/mysql-exporter/templates/deployment.yaml @@ -41,6 +41,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "mysql-exporter.labels" .))) | nindent 6 }} + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" diff --git a/charts/operator-wandb/charts/prometheus/charts/mysql-exporter/values.yaml b/charts/operator-wandb/charts/prometheus/charts/mysql-exporter/values.yaml index 4c3b1742..afa6e69f 100644 --- a/charts/operator-wandb/charts/prometheus/charts/mysql-exporter/values.yaml +++ b/charts/operator-wandb/charts/prometheus/charts/mysql-exporter/values.yaml @@ -19,6 +19,9 @@ pod: labels: {} annotations: {} +topologySpreadConstraints: + enabled: false + common: labels: {} diff --git a/charts/operator-wandb/charts/prometheus/charts/redis-exporter/templates/deployment.yaml b/charts/operator-wandb/charts/prometheus/charts/redis-exporter/templates/deployment.yaml index 34ed6d19..ccca0b6f 100644 --- a/charts/operator-wandb/charts/prometheus/charts/redis-exporter/templates/deployment.yaml +++ b/charts/operator-wandb/charts/prometheus/charts/redis-exporter/templates/deployment.yaml @@ -41,6 +41,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "redis-exporter.labels" .))) | nindent 6 }} + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" diff --git a/charts/operator-wandb/charts/prometheus/charts/redis-exporter/values.yaml b/charts/operator-wandb/charts/prometheus/charts/redis-exporter/values.yaml index 53bc6e64..8e2bccfc 100644 --- a/charts/operator-wandb/charts/prometheus/charts/redis-exporter/values.yaml +++ b/charts/operator-wandb/charts/prometheus/charts/redis-exporter/values.yaml @@ -19,6 +19,9 @@ pod: labels: {} annotations: {} +topologySpreadConstraints: + enabled: false + common: labels: {} diff --git a/charts/operator-wandb/charts/stackdriver/templates/deployment.yaml b/charts/operator-wandb/charts/stackdriver/templates/deployment.yaml index b3003fe6..ac6fe8a2 100644 --- a/charts/operator-wandb/charts/stackdriver/templates/deployment.yaml +++ b/charts/operator-wandb/charts/stackdriver/templates/deployment.yaml @@ -35,6 +35,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "stackdriver.labels" .))) | nindent 6 }} + {{- end }} spec: containers: - name: {{ .Chart.Name }} diff --git a/charts/operator-wandb/charts/stackdriver/values.yaml b/charts/operator-wandb/charts/stackdriver/values.yaml index 51ed7b65..76631977 100644 --- a/charts/operator-wandb/charts/stackdriver/values.yaml +++ b/charts/operator-wandb/charts/stackdriver/values.yaml @@ -101,6 +101,9 @@ container: readOnlyRootFilesystem: false privileged: false +topologySpreadConstraints: + enabled: false + deployment: {} serviceAccount: diff --git a/charts/operator-wandb/charts/weave-trace/templates/deployment.yaml b/charts/operator-wandb/charts/weave-trace/templates/deployment.yaml index 3bb3f854..0b26466c 100644 --- a/charts/operator-wandb/charts/weave-trace/templates/deployment.yaml +++ b/charts/operator-wandb/charts/weave-trace/templates/deployment.yaml @@ -40,6 +40,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "weaveTrace.labels" .))) | nindent 6 }} + {{- end }} {{- if not .Values.migration.useHook }} initContainers: - name: {{ include "weaveTraceMigrate.fullname" . }} diff --git a/charts/operator-wandb/charts/weave-trace/values.yaml b/charts/operator-wandb/charts/weave-trace/values.yaml index 25f4f352..a77238c1 100644 --- a/charts/operator-wandb/charts/weave-trace/values.yaml +++ b/charts/operator-wandb/charts/weave-trace/values.yaml @@ -46,6 +46,9 @@ container: readOnlyRootFilesystem: false privileged: false +topologySpreadConstraints: + enabled: false + resources: requests: cpu: 500m diff --git a/charts/operator-wandb/charts/weave/templates/deployment.yaml b/charts/operator-wandb/charts/weave/templates/deployment.yaml index 8abb7aee..bf8402b3 100644 --- a/charts/operator-wandb/charts/weave/templates/deployment.yaml +++ b/charts/operator-wandb/charts/weave/templates/deployment.yaml @@ -43,6 +43,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "weave.labels" .))) | nindent 6 }} + {{- end }} containers: - name: {{ include "weave.fullname" . }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" diff --git a/charts/operator-wandb/charts/weave/values.yaml b/charts/operator-wandb/charts/weave/values.yaml index ed51e533..6e2aa890 100644 --- a/charts/operator-wandb/charts/weave/values.yaml +++ b/charts/operator-wandb/charts/weave/values.yaml @@ -55,6 +55,9 @@ container: readOnlyRootFilesystem: false privileged: false +topologySpreadConstraints: + enabled: false + resources: # We usually recommend not to specify default resources and to leave this as a # conscious choice for the user. This also increases chances charts run on diff --git a/charts/operator-wandb/charts/yace/templates/deployment.yaml b/charts/operator-wandb/charts/yace/templates/deployment.yaml index 988fe210..1a50b73d 100644 --- a/charts/operator-wandb/charts/yace/templates/deployment.yaml +++ b/charts/operator-wandb/charts/yace/templates/deployment.yaml @@ -42,6 +42,9 @@ spec: {{- include "wandb.nodeSelector" . | nindent 6 }} {{- include "wandb.priorityClassName" . | nindent 6 }} {{- include "wandb.podSecurityContext" .Values.pod.securityContext | nindent 6 }} + {{- if .Values.topologySpreadConstraints.enabled }} + {{- include "wandb.topologySpreadConstraints" (dict "matchLabels" (fromYaml (include "yace.labels" .))) | nindent 6 }} + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}" diff --git a/charts/operator-wandb/charts/yace/values.yaml b/charts/operator-wandb/charts/yace/values.yaml index a2f45071..275e271f 100644 --- a/charts/operator-wandb/charts/yace/values.yaml +++ b/charts/operator-wandb/charts/yace/values.yaml @@ -113,6 +113,9 @@ container: readOnlyRootFilesystem: false privileged: false +topologySpreadConstraints: + enabled: false + deployment: {} serviceAccount: diff --git a/charts/operator-wandb/values.yaml b/charts/operator-wandb/values.yaml index 9e95a4d3..75ad4555 100644 --- a/charts/operator-wandb/values.yaml +++ b/charts/operator-wandb/values.yaml @@ -326,12 +326,13 @@ prometheus: redis-exporter: install: true + topologySpreadConstraints: + enabled: false mysql-exporter: install: true - - topologySpreadConstraints: - enabled: false + topologySpreadConstraints: + enabled: false stackdriver: install: false @@ -346,14 +347,13 @@ stackdriver: otel: install: true - topologySpreadConstraints: - enabled: false - # Consider deploying with a deployment rather than a daemonset to avoid # redundant metrics. In setups where both are scraping the same endpoints, # this redundancy occurs as both scrape the same points. daemonset: - install: true + install: false + topologySpreadConstraints: + enabled: false # By default, we use only the daemonset which, along with the Prometheus # receiver, gathers most necessary metrics. @@ -361,6 +361,8 @@ otel: # promethus endpoint which causes duplicated metrics that get repoted. deployment: install: false + topologySpreadConstraints: + enabled: false # # cannot use install because schema validation will fail. # enabled: true