From cbde565abf5725844f00317221883be8bcce1a93 Mon Sep 17 00:00:00 2001 From: Mike Brennan Date: Wed, 24 Jul 2024 16:19:24 +0100 Subject: [PATCH] make matchlablekeys in topologyspreadconstraints optional --- charts/standard-application-stack/CHANGELOG.md | 4 ++++ charts/standard-application-stack/Chart.yaml | 2 +- charts/standard-application-stack/README.md | 4 +++- .../standard-application-stack/templates/_helpers.tpl | 4 ++++ .../deployment_dynamodb_enabled_test.yaml.snap | 4 ---- .../tests/__snapshot__/deployment_env_test.yaml.snap | 6 ------ .../deployment_host_network_test.yaml.snap | 2 -- .../deployment_instrumentation_test.yaml.snap | 8 -------- .../__snapshot__/deployment_labels_test.yaml.snap | 4 ---- .../__snapshot__/deployment_lifecycle_test.yaml.snap | 6 ------ .../deployment_mariadb_enabled_test.yaml.snap | 4 ---- .../deployment_memcached_enabled_test.yaml.snap | 4 ---- .../tests/__snapshot__/deployment_ports_test.yaml.snap | 10 ---------- .../__snapshot__/deployment_replicas_test.yaml.snap | 10 ---------- .../__snapshot__/deployment_s3_enabled_test.yaml.snap | 8 -------- .../deployment_stateful_set_test.yaml.snap | 2 -- .../tests/__snapshot__/ingress_test.yaml.snap | 2 -- .../tests/__snapshot__/oauth2proxy_test.yaml.snap | 10 ---------- .../tests/__snapshot__/pod_monitor_test.yaml.snap | 8 -------- .../tests/__snapshot__/service_monitor_test.yaml.snap | 8 -------- charts/standard-application-stack/values.yaml | 4 ++++ 21 files changed, 16 insertions(+), 98 deletions(-) diff --git a/charts/standard-application-stack/CHANGELOG.md b/charts/standard-application-stack/CHANGELOG.md index 8912dcea..b71f89ec 100644 --- a/charts/standard-application-stack/CHANGELOG.md +++ b/charts/standard-application-stack/CHANGELOG.md @@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v7.3.0] - 2024-07-24 +### Changes +- Make `matchLabelKeys: pod-template-hash` in topologySpreadConstraints optional + ## [v7.2.0] - 2024-07-24 ### Changes - Updated the logic of initialDelaySeconds to not be set if no value given diff --git a/charts/standard-application-stack/Chart.yaml b/charts/standard-application-stack/Chart.yaml index 114f61ca..0c67b2df 100644 --- a/charts/standard-application-stack/Chart.yaml +++ b/charts/standard-application-stack/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 7.2.0 +version: 7.3.0 dependencies: - name: redis diff --git a/charts/standard-application-stack/README.md b/charts/standard-application-stack/README.md index 27101fe5..206bc321 100644 --- a/charts/standard-application-stack/README.md +++ b/charts/standard-application-stack/README.md @@ -1,6 +1,6 @@ # standard-application-stack -![Version: 7.2.0](https://img.shields.io/badge/Version-7.2.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) +![Version: 7.3.0](https://img.shields.io/badge/Version-7.3.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) A generic chart to support most common application requirements @@ -345,9 +345,11 @@ A generic chart to support most common application requirements | terminationGracePeriodSeconds | int | `30` | Configure terminationGracePeriodSeconds ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/ | | topologySpreadConstraints.enabled | bool | `true` | | | topologySpreadConstraints.node.enabled | string | `nil` | Set this to true/false to override the default behaviour (enabled for prod only) | +| topologySpreadConstraints.node.matchlabelkeys.enabled | bool | `false` | | | topologySpreadConstraints.node.maxSkew | int | `1` | | | topologySpreadConstraints.specificYaml | string | `nil` | Specify custom topologySpreadConstraints yaml | | topologySpreadConstraints.zone.enabled | bool | `true` | | +| topologySpreadConstraints.zone.matchlabelkeys.enabled | bool | `false` | | | topologySpreadConstraints.zone.maxSkew | int | `1` | | | useHostNetwork | bool | `false` | If true, use the host network for the main deployment. | | verticalPodAutoscaler | object | `{"autoscalingEnabled":false,"containerPolicies":null,"enabled":true,"evictionRequirements":null,"instances":{},"minReplicas":1}` | Configuration for creating a VerticalPodAutoscaler for this app. Currently only supports recommendations-only mode. | diff --git a/charts/standard-application-stack/templates/_helpers.tpl b/charts/standard-application-stack/templates/_helpers.tpl index 4d575f97..4ec91f59 100644 --- a/charts/standard-application-stack/templates/_helpers.tpl +++ b/charts/standard-application-stack/templates/_helpers.tpl @@ -500,8 +500,10 @@ topologySpreadConstraints: matchLabels: {{ include "mintel_common.selectorLabels" . | nindent 8 }} maxSkew: {{ .Values.topologySpreadConstraints.zone.maxSkew | default 1 }} topologyKey: topology.kubernetes.io/zone + {{- if .Values.topologySpreadConstraints.zone.matchlabelkeys.enabled }} matchLabelKeys: - pod-template-hash + {{- end }} whenUnsatisfiable: {{ .Values.topologySpreadConstraints.zone.whenUnsatisfiable | default "DoNotSchedule" }} {{- end }} {{- if or (and (not (kindIs "bool" .Values.topologySpreadConstraints.node.enabled)) (or (eq .Values.global.clusterEnv "logs") (eq .Values.global.clusterEnv "prod"))) (and .Values.topologySpreadConstraints.node .Values.topologySpreadConstraints.node.enabled) }} @@ -509,8 +511,10 @@ topologySpreadConstraints: matchLabels: {{ include "mintel_common.selectorLabels" . | nindent 8 }} maxSkew: {{ .Values.topologySpreadConstraints.node.maxSkew | default 1 }} topologyKey: kubernetes.io/hostname + {{- if .Values.topologySpreadConstraints.node.matchlabelkeys.enabled }} matchLabelKeys: - pod-template-hash + {{- end }} whenUnsatisfiable: {{ .Values.topologySpreadConstraints.node.whenUnsatisfiable | default "DoNotSchedule" }} {{- end }} {{- end }} diff --git a/charts/standard-application-stack/tests/__snapshot__/deployment_dynamodb_enabled_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/deployment_dynamodb_enabled_test.yaml.snap index 02b5eda8..b342d600 100644 --- a/charts/standard-application-stack/tests/__snapshot__/deployment_dynamodb_enabled_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/deployment_dynamodb_enabled_test.yaml.snap @@ -106,8 +106,6 @@ Check DynamoDB envfrom secretRef is present: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -328,8 +326,6 @@ Check DynamoDB secretName Override: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/deployment_env_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/deployment_env_test.yaml.snap index f23e431e..10681181 100644 --- a/charts/standard-application-stack/tests/__snapshot__/deployment_env_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/deployment_env_test.yaml.snap @@ -90,8 +90,6 @@ Check celery does not pull in `main.env` values: matchLabels: app.kubernetes.io/component: celery app.kubernetes.io/name: example-app-celery - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -205,8 +203,6 @@ Check default env behavior: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -322,8 +318,6 @@ Check main container combines default env and `main.env` values: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/deployment_host_network_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/deployment_host_network_test.yaml.snap index 87fe35a6..5404119d 100644 --- a/charts/standard-application-stack/tests/__snapshot__/deployment_host_network_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/deployment_host_network_test.yaml.snap @@ -107,8 +107,6 @@ Has a pod template that uses the host network: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/deployment_instrumentation_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/deployment_instrumentation_test.yaml.snap index e9e94094..9e58c66f 100644 --- a/charts/standard-application-stack/tests/__snapshot__/deployment_instrumentation_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/deployment_instrumentation_test.yaml.snap @@ -126,8 +126,6 @@ Check custom python otel extraEnv vars are added: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -259,8 +257,6 @@ Check custom sampler settings: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -390,8 +386,6 @@ Check default python otel envars are added: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -523,8 +517,6 @@ Check global otel extraEnv vars are added: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/deployment_labels_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/deployment_labels_test.yaml.snap index 9f76d13e..4f58fded 100644 --- a/charts/standard-application-stack/tests/__snapshot__/deployment_labels_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/deployment_labels_test.yaml.snap @@ -108,8 +108,6 @@ Check default label behavior: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -223,8 +221,6 @@ Check empty application and component labels both default to name: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/deployment_lifecycle_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/deployment_lifecycle_test.yaml.snap index d9f4721b..12ca9723 100644 --- a/charts/standard-application-stack/tests/__snapshot__/deployment_lifecycle_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/deployment_lifecycle_test.yaml.snap @@ -119,8 +119,6 @@ Check AWS ALB lifecycle rule applied: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -245,8 +243,6 @@ Check AWS ALB lifecycle rules applied with custom delay: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -363,8 +359,6 @@ Check lifecycle rules: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/deployment_mariadb_enabled_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/deployment_mariadb_enabled_test.yaml.snap index 907102db..942bd94b 100644 --- a/charts/standard-application-stack/tests/__snapshot__/deployment_mariadb_enabled_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/deployment_mariadb_enabled_test.yaml.snap @@ -106,8 +106,6 @@ Check MariaDB envfrom secretRef is present: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -328,8 +326,6 @@ Check MariaDB secretName Override: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/deployment_memcached_enabled_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/deployment_memcached_enabled_test.yaml.snap index 8eb18292..8b55d117 100644 --- a/charts/standard-application-stack/tests/__snapshot__/deployment_memcached_enabled_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/deployment_memcached_enabled_test.yaml.snap @@ -106,8 +106,6 @@ Check Memcached envfrom secretRef is present: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -328,8 +326,6 @@ Check Memcached secretName Override: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/deployment_ports_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/deployment_ports_test.yaml.snap index 0c651ac6..1b6bed17 100644 --- a/charts/standard-application-stack/tests/__snapshot__/deployment_ports_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/deployment_ports_test.yaml.snap @@ -110,8 +110,6 @@ Check container extraPorts: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -229,8 +227,6 @@ Check container extraPorts are validated: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -347,8 +343,6 @@ Check container extraPorts protocol: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -460,8 +454,6 @@ Check default container main port: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -573,8 +565,6 @@ Check overridden container main port: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/deployment_replicas_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/deployment_replicas_test.yaml.snap index 6341df2d..3172e7b4 100644 --- a/charts/standard-application-stack/tests/__snapshot__/deployment_replicas_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/deployment_replicas_test.yaml.snap @@ -107,8 +107,6 @@ Check allowSingleReplica doesn't alter strategy: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -221,8 +219,6 @@ Check allowSingleReplica set annotations: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -333,8 +329,6 @@ Check replicas unset when autoscaling is enabled: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -444,8 +438,6 @@ Check singleReplicaOnly applied: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -555,8 +547,6 @@ Check singleReplicaOnly ignore replicas value: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/deployment_s3_enabled_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/deployment_s3_enabled_test.yaml.snap index 305642d3..c5b77600 100644 --- a/charts/standard-application-stack/tests/__snapshot__/deployment_s3_enabled_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/deployment_s3_enabled_test.yaml.snap @@ -106,8 +106,6 @@ Check S3 envfrom secretRef is present: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -336,8 +334,6 @@ Check S3 envfrom secretRef is present for multiple instances of TF Cloud helm ch app.kubernetes.io/component: app app.kubernetes.io/name: test-app app.kubernetes.io/part-of: test-project - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -449,8 +445,6 @@ Check S3 secretName Override: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -574,8 +568,6 @@ Check S3 stakater secret reloader annotation contains correct secrets for multip app.kubernetes.io/component: app app.kubernetes.io/name: test-app app.kubernetes.io/part-of: test-project - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/deployment_stateful_set_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/deployment_stateful_set_test.yaml.snap index f462c710..3ce09b8a 100644 --- a/charts/standard-application-stack/tests/__snapshot__/deployment_stateful_set_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/deployment_stateful_set_test.yaml.snap @@ -101,8 +101,6 @@ Check stateful set is rendered with volumeClaimTemplates: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/ingress_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/ingress_test.yaml.snap index baccd3de..98039a15 100644 --- a/charts/standard-application-stack/tests/__snapshot__/ingress_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/ingress_test.yaml.snap @@ -448,8 +448,6 @@ Check EXTRA_ALLOWED_HOSTS env var extraHosts with extraIngresses: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: example-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/oauth2proxy_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/oauth2proxy_test.yaml.snap index 3422f64e..98028e4b 100644 --- a/charts/standard-application-stack/tests/__snapshot__/oauth2proxy_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/oauth2proxy_test.yaml.snap @@ -163,8 +163,6 @@ Check default container args: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -334,8 +332,6 @@ Check setting skip-auth-regex from extra passed in values: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -505,8 +501,6 @@ Check setting skip-auth-regex from extra passed in values when they already cont matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -675,8 +669,6 @@ Check setting skip-auth-regex from overridden health-check values: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -845,8 +837,6 @@ Check sidecar present if enabled: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/pod_monitor_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/pod_monitor_test.yaml.snap index 5c0a04e0..252732f4 100644 --- a/charts/standard-application-stack/tests/__snapshot__/pod_monitor_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/pod_monitor_test.yaml.snap @@ -287,8 +287,6 @@ Check combined template defaults: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -296,8 +294,6 @@ Check combined template defaults: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule @@ -456,8 +452,6 @@ Check combined template with extra ports and monitors: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -465,8 +459,6 @@ Check combined template with extra ports and monitors: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/tests/__snapshot__/service_monitor_test.yaml.snap b/charts/standard-application-stack/tests/__snapshot__/service_monitor_test.yaml.snap index 8de05e50..128b5b0d 100644 --- a/charts/standard-application-stack/tests/__snapshot__/service_monitor_test.yaml.snap +++ b/charts/standard-application-stack/tests/__snapshot__/service_monitor_test.yaml.snap @@ -338,8 +338,6 @@ Check combined template defaults: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -347,8 +345,6 @@ Check combined template defaults: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule @@ -539,8 +535,6 @@ Check combined template with extra ports and monitors: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule @@ -548,8 +542,6 @@ Check combined template with extra ports and monitors: matchLabels: app.kubernetes.io/component: app app.kubernetes.io/name: test-app - matchLabelKeys: - - pod-template-hash maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule diff --git a/charts/standard-application-stack/values.yaml b/charts/standard-application-stack/values.yaml index 800c1ea8..f29edc0f 100644 --- a/charts/standard-application-stack/values.yaml +++ b/charts/standard-application-stack/values.yaml @@ -629,10 +629,14 @@ topologySpreadConstraints: zone: enabled: true maxSkew: 1 + matchlabelkeys: + enabled: false node: # -- Set this to true/false to override the default behaviour (enabled for prod only) enabled: maxSkew: 1 + matchlabelkeys: + enabled: false # -- Specify custom topologySpreadConstraints yaml specificYaml: