diff --git a/charts/karmada/templates/_helpers.tpl b/charts/karmada/templates/_helpers.tpl index 42eab897f328..bb46fd16484c 100644 --- a/charts/karmada/templates/_helpers.tpl +++ b/charts/karmada/templates/_helpers.tpl @@ -8,12 +8,21 @@ {{- default .Release.Namespace -}} {{- end -}} +{{- define "karmada.commonLabels" -}} +{{- if .Values.global.commonLabels -}} +{{- range $key, $value := .Values.global.commonLabels }} +{{ $key }}: {{ $value | quote }} +{{- end -}} +{{- end -}} +{{- end -}} + {{- define "karmada.apiserver.labels" -}} {{- if .Values.apiServer.labels }} {{- range $key, $value := .Values.apiServer.labels }} {{ $key }}: {{ $value }} {{- end }} {{- else}} +{{- include "karmada.commonLabels" . -}} app: {{- include "karmada.name" .}}-apiserver {{- end }} {{- end -}} @@ -29,9 +38,10 @@ app: {{- include "karmada.name" .}}-apiserver {{- define "karmada.etcd.labels" -}} {{- if .Values.etcd.labels }} {{- range $key, $value := .Values.etcd.labels }} -{{ $key }}: {{ $value }} +{{ $key }}: {{ $value | quote }} {{- end }} {{- else}} +{{- include "karmada.commonLabels" . -}} app: etcd {{- end }} {{- end -}} @@ -52,6 +62,7 @@ app: etcd {{- else}} app: {{- include "karmada.name" .}}-aggregated-apiserver {{- end }} +{{- include "karmada.commonLabels" . -}} {{- end -}} {{- define "karmada.aggregatedApiServer.podLabels" -}} @@ -88,6 +99,7 @@ app: {{- include "karmada.name" .}}-metrics-adapter {{- else}} app: {{- include "karmada.name" .}}-kube-controller-manager {{- end }} +{{- include "karmada.commonLabels" . -}} {{- end -}} {{- define "karmada.kube-cm.podLabels" -}} @@ -129,6 +141,7 @@ certificate-authority-data: {{ b64enc .Values.certs.custom.caCrt }} {{- else -}} app: {{$name}}-controller-manager {{- end -}} +{{- include "karmada.commonLabels" . -}} {{- end -}} {{- define "karmada.cm.podLabels" -}} @@ -149,6 +162,7 @@ app: {{$name}}-controller-manager {{- else -}} app: {{$name}}-scheduler {{- end -}} +{{- include "karmada.commonLabels" . -}} {{- end -}} {{- define "karmada.scheduler.podLabels" -}} @@ -169,6 +183,7 @@ app: {{$name}}-scheduler {{- else -}} app: {{$name}} {{- end -}} +{{- include "karmada.commonLabels" . -}} {{- end -}} {{- define "karmada.descheduler.podLabels" -}} @@ -202,6 +217,7 @@ app: {{$name}} {{- else}} app: {{$name}}-webhook {{- end }} +{{- include "karmada.commonLabels" . -}} {{- end -}} {{- define "karmada.webhook.podLabels" -}} @@ -221,6 +237,7 @@ app: {{$name}}-webhook {{- else}} app: {{$name}} {{- end }} +{{- include "karmada.commonLabels" . -}} {{- end -}} {{- define "karmada.agent.podLabels" -}} @@ -263,6 +280,7 @@ caBundle: {{ b64enc .Values.certs.custom.caCrt }} {{ $key }}: {{ $value }} {{- end }} {{- end }} +{{- include "karmada.commonLabels" . -}} {{- end -}} {{- define "karmada.search.labels" -}} @@ -273,6 +291,7 @@ caBundle: {{ b64enc .Values.certs.custom.caCrt }} {{- else}} app: {{- include "karmada.name" .}}-search {{- end }} +{{- include "karmada.commonLabels" . -}} {{- end -}} {{- define "karmada.search.podLabels" -}} @@ -283,6 +302,18 @@ app: {{- include "karmada.name" .}}-search {{- end }} {{- end -}} +{{- define "karmada.preInstallJob.labels" -}} +{{- include "karmada.commonLabels" . -}} +{{- end -}} + +{{- define "karmada.postInstallJob.labels" -}} +{{- include "karmada.commonLabels" . -}} +{{- end -}} + +{{- define "karmada.postDeleteJob.labels" -}} +{{- include "karmada.commonLabels" . -}} +{{- end -}} + {{- define "karmada.search.kubeconfig.volume" -}} {{ $name := include "karmada.name" . }} {{- if eq .Values.installMode "host" -}} diff --git a/charts/karmada/templates/_karmada-clusterrole.tpl b/charts/karmada/templates/_karmada-clusterrole.tpl index 01a7fda74bbf..015ea1f16ce2 100644 --- a/charts/karmada/templates/_karmada-clusterrole.tpl +++ b/charts/karmada/templates/_karmada-clusterrole.tpl @@ -14,6 +14,7 @@ metadata: kubernetes.io/bootstrapping: rbac-defaults # used to aggregate rules to view clusterrole rbac.authorization.k8s.io/aggregate-to-view: "true" + {{- include "karmada.commonLabels" . | nindent 4 }} name: karmada-view rules: - apiGroups: @@ -83,6 +84,7 @@ metadata: kubernetes.io/bootstrapping: rbac-defaults # used to aggregate rules to view clusterrole rbac.authorization.k8s.io/aggregate-to-edit: "true" + {{- include "karmada.commonLabels" . | nindent 4 }} name: karmada-edit rules: - apiGroups: diff --git a/charts/karmada/templates/_karmada_apiservice.tpl b/charts/karmada/templates/_karmada_apiservice.tpl index 8b4ba5a7912b..74b35ff8dd53 100644 --- a/charts/karmada/templates/_karmada_apiservice.tpl +++ b/charts/karmada/templates/_karmada_apiservice.tpl @@ -10,6 +10,7 @@ metadata: labels: app: {{ $name }}-aggregated-apiserver apiserver: "true" + {{- include "karmada.commonLabels" . | nindent 4 }} spec: {{- include "karmada.apiserver.caBundle" . | nindent 2 }} group: cluster.karmada.io @@ -25,6 +26,9 @@ kind: Service metadata: name: {{ $name }}-aggregated-apiserver namespace: {{ $systemNamespace }} + labels: + app: {{ $name }}-aggregated-apiserver + {{- include "karmada.commonLabels" . | nindent 4 }} spec: type: ExternalName externalName: {{ $name }}-aggregated-apiserver.{{ include "karmada.namespace" . }}.svc.{{ .Values.clusterDomain }} @@ -98,6 +102,7 @@ metadata: labels: app: {{ $name }}-search apiserver: "true" + {{- include "karmada.commonLabels" . | nindent 4 }} spec: {{- include "karmada.apiserver.caBundle" . | nindent 2 }} group: search.karmada.io @@ -113,6 +118,9 @@ kind: Service metadata: name: {{ $name }}-search namespace: {{ $systemNamespace }} + labels: + app: {{ $name }}-search + {{- include "karmada.commonLabels" . | nindent 4 }} spec: type: ExternalName externalName: {{ $name }}-search.{{ include "karmada.namespace" . }}.svc.{{ .Values.clusterDomain }} diff --git a/charts/karmada/templates/_karmada_bootstrap_token_configuration.tpl b/charts/karmada/templates/_karmada_bootstrap_token_configuration.tpl index bb38b023e68a..4ec33dd6e445 100644 --- a/charts/karmada/templates/_karmada_bootstrap_token_configuration.tpl +++ b/charts/karmada/templates/_karmada_bootstrap_token_configuration.tpl @@ -7,6 +7,10 @@ kind: ConfigMap metadata: name: cluster-info namespace: kube-public + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} data: kubeconfig: | apiVersion: v1 @@ -21,6 +25,10 @@ kind: Role metadata: name: karmada:bootstrap-signer-clusterinfo namespace: kube-public + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} rules: - apiGroups: - "" @@ -36,6 +44,10 @@ kind: RoleBinding metadata: name: karmada:bootstrap-signer-clusterinfo namespace: kube-public + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} roleRef: apiGroup: rbac.authorization.k8s.io kind: Role @@ -49,6 +61,10 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: karmada:agent-bootstrap + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -62,6 +78,10 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: karmada:agent-autoapprove-bootstrap + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -75,6 +95,10 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: karmada:agent-autoapprove-certificate-rotation + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -88,6 +112,10 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: system:karmada:agent + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} rules: - apiGroups: - authentication.k8s.io @@ -191,6 +219,10 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: system:karmada:agent + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole diff --git a/charts/karmada/templates/_karmada_cluster_proxy_admin_rbac.tpl b/charts/karmada/templates/_karmada_cluster_proxy_admin_rbac.tpl index 03aca7821bfa..46cc6a948dbd 100644 --- a/charts/karmada/templates/_karmada_cluster_proxy_admin_rbac.tpl +++ b/charts/karmada/templates/_karmada_cluster_proxy_admin_rbac.tpl @@ -5,6 +5,10 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: {{ $name }}-cluster-proxy-admin + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} rules: - apiGroups: - 'cluster.karmada.io' @@ -17,6 +21,10 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: {{ $name }}-cluster-proxy-admin + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole diff --git a/charts/karmada/templates/_karmada_system_namespace.tpl b/charts/karmada/templates/_karmada_system_namespace.tpl index 6504fc33b9cf..5980e241acd1 100644 --- a/charts/karmada/templates/_karmada_system_namespace.tpl +++ b/charts/karmada/templates/_karmada_system_namespace.tpl @@ -4,9 +4,17 @@ apiVersion: v1 kind: Namespace metadata: name: {{ .Values.systemNamespace }} + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} --- apiVersion: v1 kind: Namespace metadata: name: karmada-cluster + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} {{- end -}} diff --git a/charts/karmada/templates/_karmada_webhook_configuration.tpl b/charts/karmada/templates/_karmada_webhook_configuration.tpl index 3c7cd1b0df73..c8a25cda5424 100644 --- a/charts/karmada/templates/_karmada_webhook_configuration.tpl +++ b/charts/karmada/templates/_karmada_webhook_configuration.tpl @@ -8,6 +8,7 @@ metadata: name: mutating-config labels: app: mutating-config + {{- include "karmada.commonLabels" . | nindent 4 }} webhooks: - name: propagationpolicy.karmada.io rules: @@ -86,6 +87,7 @@ metadata: name: validating-config labels: app: validating-config + {{- include "karmada.commonLabels" . | nindent 4 }} webhooks: - name: propagationpolicy.karmada.io rules: diff --git a/charts/karmada/templates/_patch_webhook_in_clusterresourcebindings.tpl b/charts/karmada/templates/_patch_webhook_in_clusterresourcebindings.tpl index 269a28c0962f..7dad1e84ef01 100644 --- a/charts/karmada/templates/_patch_webhook_in_clusterresourcebindings.tpl +++ b/charts/karmada/templates/_patch_webhook_in_clusterresourcebindings.tpl @@ -8,6 +8,10 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: clusterresourcebindings.work.karmada.io + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} spec: conversion: strategy: Webhook diff --git a/charts/karmada/templates/_patch_webhook_in_resourcebindings.tpl b/charts/karmada/templates/_patch_webhook_in_resourcebindings.tpl index 107902ca2711..d54f598880cf 100644 --- a/charts/karmada/templates/_patch_webhook_in_resourcebindings.tpl +++ b/charts/karmada/templates/_patch_webhook_in_resourcebindings.tpl @@ -8,6 +8,10 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: resourcebindings.work.karmada.io + {{- if "karmada.commonLabels" }} + labels: + {{- include "karmada.commonLabels" . | nindent 4 }} + {{- end }} spec: conversion: strategy: Webhook diff --git a/charts/karmada/templates/post-delete-job.yaml b/charts/karmada/templates/post-delete-job.yaml index ef405001277d..b78d1ea98187 100644 --- a/charts/karmada/templates/post-delete-job.yaml +++ b/charts/karmada/templates/post-delete-job.yaml @@ -8,6 +8,7 @@ metadata: namespace: {{ $namespace }} labels: helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + {{- include "karmada.postDeleteJob.labels" . | nindent 4 }} annotations: # This is what defines this resource as a hook. Without this line, the # job is considered part of the release. diff --git a/charts/karmada/templates/post-install-job.yaml b/charts/karmada/templates/post-install-job.yaml index 54b586fe7247..3ec16ab8f3d9 100644 --- a/charts/karmada/templates/post-install-job.yaml +++ b/charts/karmada/templates/post-install-job.yaml @@ -11,6 +11,7 @@ metadata: app.kubernetes.io/instance: {{ $name | quote }} app.kubernetes.io/version: {{ .Chart.AppVersion }} helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + {{- include "karmada.postInstallJob.labels" . | nindent 4 }} annotations: # This is what defines this resource as a hook. Without this line, the # job is considered part of the release. diff --git a/charts/karmada/templates/pre-install-job.yaml b/charts/karmada/templates/pre-install-job.yaml index 2dd5a195991b..fc4a28fbcf35 100644 --- a/charts/karmada/templates/pre-install-job.yaml +++ b/charts/karmada/templates/pre-install-job.yaml @@ -10,6 +10,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "2" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} data: {{ range $path, $bytes := .Files.Glob (printf "_crds/kustomization.yaml")}} {{ $name := base $path }} @@ -26,6 +30,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "2" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} data: {{ range $path, $bytes := .Files.Glob (printf "_crds/bases/autoscaling/**")}} {{ $name := base $path }} @@ -42,6 +50,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "2" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} data: {{ range $path, $bytes := .Files.Glob (printf "_crds/bases/config/**")}} {{ $name := base $path }} @@ -58,6 +70,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "2" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} data: {{ range $path, $bytes := .Files.Glob (printf "_crds/bases/multicluster/**")}} {{ $name := base $path }} @@ -74,6 +90,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "2" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} data: {{ range $path, $bytes := .Files.Glob (printf "_crds/bases/networking/**")}} {{ $name := base $path }} @@ -91,6 +111,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "2" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} data: {{ range $path, $bytes := .Files.Glob (printf "_crds/bases/policy/**")}} {{ $name := base $path }} @@ -107,6 +131,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "2" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} data: {{ range $path, $bytes := .Files.Glob (printf "_crds/bases/work/**")}} {{ $name := base $path }} @@ -124,6 +152,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "2" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} data: {{- print "webhook-configuration.yaml: " | nindent 6 }} |- {{- include "karmada.webhook.configuration" . | nindent 8 }} @@ -146,6 +178,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "2" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} data: {{- print "webhook_in_clusterresourcebindings.yaml: " | nindent 6 }} |- {{- include "karmada.crd.patch.webhook.clusterresourcebinding" . | nindent 8 }} @@ -164,6 +200,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "2" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} data: cert.yaml: |- apiVersion: v1 @@ -268,6 +308,10 @@ metadata: "helm.sh/hook": pre-install "helm.sh/hook-weight": "3" "helm.sh/hook-delete-policy": hook-succeeded + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} spec: parallelism: 1 completions: 1 @@ -370,6 +414,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "1" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -378,6 +426,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "1" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} rules: - apiGroups: ['*'] resources: ['*'] @@ -392,6 +444,10 @@ metadata: annotations: "helm.sh/hook": pre-install "helm.sh/hook-weight": "1" + {{- if "karmada.preInstallJob.labels" }} + labels: + {{- include "karmada.preInstallJob.labels" . | nindent 4 }} + {{- end }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole diff --git a/charts/karmada/values.yaml b/charts/karmada/values.yaml index f8514984fa6a..0e1480472810 100644 --- a/charts/karmada/values.yaml +++ b/charts/karmada/values.yaml @@ -11,6 +11,12 @@ global: ## - myRegistryKeySecretName imagePullSecrets: [] + ## #param global.commonLabels Common labels applied to all ressources + ## E.g. + ## commonLabels: + ## team: infra + commonLabels: {} + ## @karmadaImageVersion the image version of each karmada components ## "latest" is a default value for local installation. ## If update this anchors("&karmadaImageVersion"), also update hack/package-helm-chart.sh.