feat: helm common labels for all resources

Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
This commit is contained in:
Amir Alavi 2023-11-29 17:06:55 -05:00
parent 01b086d2e1
commit ee243386b5
No known key found for this signature in database
GPG Key ID: 9BFF951CCD6037E7
13 changed files with 164 additions and 1 deletions

View File

@ -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" -}}

View File

@ -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:

View File

@ -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 }}

View File

@ -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

View File

@ -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

View File

@ -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 -}}

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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.