From ff50e145ca5719aa041fa01f90f9ab72e2718be5 Mon Sep 17 00:00:00 2001 From: liujian Date: Tue, 27 May 2025 16:40:13 +0800 Subject: [PATCH] feat: add annotations to node (#2594) Signed-off-by: joyceliu --- .../init-kubernetes/tasks/init_kubernetes.yaml | 5 +++++ .../join-kubernetes/tasks/join_kubernetes.yaml | 5 +++++ pkg/converter/tmpl/template_test.go | 17 +++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/builtin/core/roles/kubernetes/init-kubernetes/tasks/init_kubernetes.yaml b/builtin/core/roles/kubernetes/init-kubernetes/tasks/init_kubernetes.yaml index caa9ff55..1e8a7c18 100644 --- a/builtin/core/roles/kubernetes/init-kubernetes/tasks/init_kubernetes.yaml +++ b/builtin/core/roles/kubernetes/init-kubernetes/tasks/init_kubernetes.yaml @@ -73,3 +73,8 @@ - name: Add work label command: | /usr/local/bin/kubectl label --overwrite node {{ .hostname }} node-role.kubernetes.io/worker= + +- name: Add annotations + when: .annotations | empty | not + command: | + kubectl annotate {{ .hostname }} {{- range $k,$v := .annotations }}{{ printf "%s=%s" $k $v}} {{- end }} \ No newline at end of file diff --git a/builtin/core/roles/kubernetes/join-kubernetes/tasks/join_kubernetes.yaml b/builtin/core/roles/kubernetes/join-kubernetes/tasks/join_kubernetes.yaml index 3203adfa..1a52fa89 100644 --- a/builtin/core/roles/kubernetes/join-kubernetes/tasks/join_kubernetes.yaml +++ b/builtin/core/roles/kubernetes/join-kubernetes/tasks/join_kubernetes.yaml @@ -47,6 +47,11 @@ command: | /usr/local/bin/kubectl label --overwrite node {{ .hostname }} node-role.kubernetes.io/worker= +- name: Add annotations + when: .annotations | empty | not + command: | + kubectl annotate {{ .hostname }} {{- range $k,$v := .annotations }}{{ printf "%s=%s" $k $v}} {{- end }} + - name: Set change custom hosts to localDNS file when: - eq .kubernetes.control_plane_endpoint.type "local" diff --git a/pkg/converter/tmpl/template_test.go b/pkg/converter/tmpl/template_test.go index 67f36d2b..440d6821 100644 --- a/pkg/converter/tmpl/template_test.go +++ b/pkg/converter/tmpl/template_test.go @@ -188,6 +188,23 @@ func TestParseBool(t *testing.T) { }, excepted: true, }, + // ======= empty ======= + { + name: "empty true-1", + condition: []string{`{{ empty .foo }}`}, + variable: map[string]any{ + "foo": map[string]any{}, + }, + excepted: true, + }, + { + name: "empty true-2", + condition: []string{`{{ empty .foo }}`}, + variable: map[string]any{ + "foo": []any{}, + }, + excepted: true, + }, } for _, tc := range testcases { t.Run(tc.name, func(t *testing.T) {