From d9183bc4d575155a29f8e13238dfdde7714491d4 Mon Sep 17 00:00:00 2001 From: calvin Date: Sat, 8 Oct 2022 11:31:41 +0800 Subject: [PATCH] support controller manager feature gate Signed-off-by: calvin --- charts/karmada/templates/_helpers.tpl | 14 ++++++++++++++ .../templates/karmada-controller-manager.yaml | 3 +++ charts/karmada/values.yaml | 4 ++++ 3 files changed, 21 insertions(+) diff --git a/charts/karmada/templates/_helpers.tpl b/charts/karmada/templates/_helpers.tpl index a82eacbe0..f9b5ebf06 100644 --- a/charts/karmada/templates/_helpers.tpl +++ b/charts/karmada/templates/_helpers.tpl @@ -390,4 +390,18 @@ Return the proper karmada kubectl image name {{ include "common.images.image" (dict "imageRoot" .Values.kubectl.image "global" .Values.global) }} {{- end -}} +{{- define "karmada.controllerManager.featureGates" -}} + {{- if (not (empty .Values.controllerManager.featureGates)) }} + {{- $featureGatesFlag := "" -}} + {{- range $key, $value := .Values.controllerManager.featureGates -}} + {{- if not (empty (toString $value)) }} + {{- $featureGatesFlag = cat $featureGatesFlag $key "=" $value "," -}} + {{- end -}} + {{- end -}} + {{- if gt (len $featureGatesFlag) 0 }} + {{- $featureGatesFlag := trimSuffix "," $featureGatesFlag | nospace -}} + {{- printf "%s=%s" "--feature-gates" $featureGatesFlag -}} + {{- end -}} + {{- end -}} +{{- end -}} diff --git a/charts/karmada/templates/karmada-controller-manager.yaml b/charts/karmada/templates/karmada-controller-manager.yaml index 27029d867..cd12b1b01 100644 --- a/charts/karmada/templates/karmada-controller-manager.yaml +++ b/charts/karmada/templates/karmada-controller-manager.yaml @@ -54,6 +54,9 @@ spec: - --secure-port=10357 - --leader-elect-resource-namespace={{ include "karmada.namespace" . }} - --v=2 + {{- with (include "karmada.controllerManager.featureGates" .) }} + - {{ . }} + {{- end }} livenessProbe: httpGet: path: /healthz diff --git a/charts/karmada/values.yaml b/charts/karmada/values.yaml index 3fffe9319..1caa2d836 100644 --- a/charts/karmada/values.yaml +++ b/charts/karmada/values.yaml @@ -285,6 +285,10 @@ controllerManager: rollingUpdate: maxUnavailable: 0 maxSurge: 50% + ## @param featureGate to controllerManager + featureGates: + ## @param PropagateDeps is a feature gate for the controllerManager to allow propagate dependent respurce to workloads. + PropagateDeps: false ## karmada apiserver config apiServer: