From b7d1c9bc879e677ccebf427d542e521008e2b8c9 Mon Sep 17 00:00:00 2001 From: William Wang Date: Wed, 24 Dec 2025 13:36:33 +0800 Subject: [PATCH] feat: change according to gemini cr Signed-off-by: William Wang --- .../templates/kubeadm/kubeadm-init.v1beta2 | 2 +- .../templates/kubeadm/kubeadm-init.v1beta3 | 2 +- .../templates/kubeadm/kubeadm-init.v1beta4 | 2 +- pkg/converter/tmpl/functions.go | 28 ++++++++----------- 4 files changed, 15 insertions(+), 19 deletions(-) diff --git a/builtin/core/roles/kubernetes/init-kubernetes/templates/kubeadm/kubeadm-init.v1beta2 b/builtin/core/roles/kubernetes/init-kubernetes/templates/kubeadm/kubeadm-init.v1beta2 index ebb12725..cd44dc76 100644 --- a/builtin/core/roles/kubernetes/init-kubernetes/templates/kubeadm/kubeadm-init.v1beta2 +++ b/builtin/core/roles/kubernetes/init-kubernetes/templates/kubeadm/kubeadm-init.v1beta2 @@ -205,7 +205,7 @@ tlsCipherSuites: - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 {{- end }} -{{- if .kubernetes.kubelet.feature_gates | empty | not }} +{{- if .kubernetes.kubelet.feature_gates | empty | not }} featureGates: {{ .kubernetes.kubelet.feature_gates | toYaml | indent 2 }} {{- end }} diff --git a/builtin/core/roles/kubernetes/init-kubernetes/templates/kubeadm/kubeadm-init.v1beta3 b/builtin/core/roles/kubernetes/init-kubernetes/templates/kubeadm/kubeadm-init.v1beta3 index b594d9d3..a873c823 100644 --- a/builtin/core/roles/kubernetes/init-kubernetes/templates/kubeadm/kubeadm-init.v1beta3 +++ b/builtin/core/roles/kubernetes/init-kubernetes/templates/kubeadm/kubeadm-init.v1beta3 @@ -204,7 +204,7 @@ tlsCipherSuites: - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 {{- end }} -{{- if .kubernetes.kubelet.feature_gates | empty | not }} +{{- if .kubernetes.kubelet.feature_gates | empty | not }} featureGates: {{ .kubernetes.kubelet.feature_gates | toYaml | indent 2 }} {{- end }} diff --git a/builtin/core/roles/kubernetes/init-kubernetes/templates/kubeadm/kubeadm-init.v1beta4 b/builtin/core/roles/kubernetes/init-kubernetes/templates/kubeadm/kubeadm-init.v1beta4 index 70a72dc3..3d0514bd 100644 --- a/builtin/core/roles/kubernetes/init-kubernetes/templates/kubeadm/kubeadm-init.v1beta4 +++ b/builtin/core/roles/kubernetes/init-kubernetes/templates/kubeadm/kubeadm-init.v1beta4 @@ -235,7 +235,7 @@ tlsCipherSuites: - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 {{- end }} -{{- if .kubernetes.kubelet.feature_gates | empty | not }} +{{- if .kubernetes.kubelet.feature_gates | empty | not }} featureGates: {{ .kubernetes.kubelet.feature_gates | toYaml | indent 2 }} {{- end }} diff --git a/pkg/converter/tmpl/functions.go b/pkg/converter/tmpl/functions.go index e2c28c1b..767691bb 100644 --- a/pkg/converter/tmpl/functions.go +++ b/pkg/converter/tmpl/functions.go @@ -145,23 +145,19 @@ func getStringSlice(d map[string][]string, key string) []string { // kubeExtraArgs make kubeadm extra args of v1/beta4 // for string/string extra argument maps, convert to structured extra arguments -func kubeExtraArgs(input interface{}) []map[string]string { - result := []map[string]string{} +func kubeExtraArgs(input any) []map[string]string { v := reflect.ValueOf(input) - switch v.Kind() { - case reflect.Map: - iter := v.MapRange() - for iter.Next() { - key := iter.Key().String() - value := iter.Value() - var valueStr string - if value.CanInterface() { - valueStr = fmt.Sprintf("%v", value.Interface()) - } else { - valueStr = value.String() - } - result = append(result, map[string]string{"name": key, "value": valueStr}) - } + if v.Kind() != reflect.Map { + return []map[string]string{} + } + + result := make([]map[string]string, 0, v.Len()) + iter := v.MapRange() + for iter.Next() { + key := iter.Key().String() + value := iter.Value() + valueStr := fmt.Sprintf("%v", value.Interface()) + result = append(result, map[string]string{"name": key, "value": valueStr}) } return result }