Skip to content

Commit b1fcddd

Browse files
authored
Merge pull request #2800 from everettraven/feat/k8s-labels
✨ (kustomize/v1 and kustomize/v2-alpha): add labels on the manifests following the k8s recommendations
2 parents 2e93b28 + 4fd0edc commit b1fcddd

File tree

282 files changed

+2148
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

282 files changed

+2148
-0
lines changed

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/certmanager/certificate.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var _ machinery.Template = &Certificate{}
2727
// Certificate scaffolds a file that defines the issuer CR and the certificate CR
2828
type Certificate struct {
2929
machinery.TemplateMixin
30+
machinery.ProjectNameMixin
3031
}
3132

3233
// SetTemplateDefaults implements file.Template
@@ -49,6 +50,13 @@ const certManagerTemplate = `# The following manifests contain a self-signed iss
4950
apiVersion: cert-manager.io/v1
5051
kind: Issuer
5152
metadata:
53+
labels:
54+
app.kuberentes.io/name: issuer
55+
app.kubernetes.io/instance: selfsigned-issuer
56+
app.kubernetes.io/component: certificate
57+
app.kubernetes.io/created-by: {{ .ProjectName }}
58+
app.kubernetes.io/part-of: {{ .ProjectName }}
59+
app.kubernetes.io/managed-by: kustomize
5260
name: selfsigned-issuer
5361
namespace: system
5462
spec:
@@ -57,6 +65,13 @@ spec:
5765
apiVersion: cert-manager.io/v1
5866
kind: Certificate
5967
metadata:
68+
labels:
69+
app.kubernetes.io/name: certificate
70+
app.kubernetes.io/instance: serving-cert
71+
app.kubernetes.io/component: certificate
72+
app.kubernetes.io/created-by: {{ .ProjectName }}
73+
app.kubernetes.io/part-of: {{ .ProjectName }}
74+
app.kubernetes.io/managed-by: kustomize
6075
name: serving-cert # this name should match the one appeared in kustomizeconfig.yaml
6176
namespace: system
6277
spec:

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/kdefault/enablecainection_patch.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ var _ machinery.Template = &WebhookCAInjectionPatch{}
2828
type WebhookCAInjectionPatch struct {
2929
machinery.TemplateMixin
3030
machinery.ResourceMixin
31+
machinery.ProjectNameMixin
3132
}
3233

3334
// SetTemplateDefaults implements file.Template
@@ -49,13 +50,27 @@ const injectCAPatchTemplate = `# This patch add annotation to admission webhook
4950
apiVersion: admissionregistration.k8s.io/{{ .Resource.Webhooks.WebhookVersion }}
5051
kind: MutatingWebhookConfiguration
5152
metadata:
53+
labels:
54+
app.kubernetes.io/name: mutatingwebhookconfiguration
55+
app.kubernetes.io/instance: mutating-webhook-configuration
56+
app.kubernetes.io/component: webhook
57+
app.kubernetes.io/created-by: {{ .ProjectName }}
58+
app.kubernetes.io/part-of: {{ .ProjectName }}
59+
app.kubernetes.io/managed-by: kustomize
5260
name: mutating-webhook-configuration
5361
annotations:
5462
cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME)
5563
---
5664
apiVersion: admissionregistration.k8s.io/{{ .Resource.Webhooks.WebhookVersion }}
5765
kind: ValidatingWebhookConfiguration
5866
metadata:
67+
labels:
68+
app.kubernetes.io/name: validatingwebhookconfiguration
69+
app.kubernetes.io/instance: validating-webhook-configuration
70+
app.kubernetes.io/component: webhook
71+
app.kubernetes.io/created-by: {{ .ProjectName }}
72+
app.kubernetes.io/part-of: {{ .ProjectName }}
73+
app.kubernetes.io/managed-by: kustomize
5974
name: validating-webhook-configuration
6075
annotations:
6176
cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME)

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/manager/config.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ var _ machinery.Template = &Config{}
2828
type Config struct {
2929
machinery.TemplateMixin
3030
machinery.ComponentConfigMixin
31+
machinery.ProjectNameMixin
3132

3233
// Image is controller manager image name
3334
Image string
@@ -49,6 +50,12 @@ kind: Namespace
4950
metadata:
5051
labels:
5152
control-plane: controller-manager
53+
app.kubernetes.io/name: namespace
54+
app.kubernetes.io/instance: system
55+
app.kubernetes.io/component: manager
56+
app.kubernetes.io/created-by: {{ .ProjectName }}
57+
app.kubernetes.io/part-of: {{ .ProjectName }}
58+
app.kubernetes.io/managed-by: kustomize
5259
name: system
5360
---
5461
apiVersion: apps/v1
@@ -58,6 +65,12 @@ metadata:
5865
namespace: system
5966
labels:
6067
control-plane: controller-manager
68+
app.kubernetes.io/name: deployment
69+
app.kubernetes.io/instance: controller-manager
70+
app.kubernetes.io/component: manager
71+
app.kubernetes.io/created-by: {{ .ProjectName }}
72+
app.kubernetes.io/part-of: {{ .ProjectName }}
73+
app.kubernetes.io/managed-by: kustomize
6174
spec:
6275
selector:
6376
matchLabels:

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/manager/controller_manager_config.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ type ControllerManagerConfig struct {
2929
machinery.TemplateMixin
3030
machinery.DomainMixin
3131
machinery.RepositoryMixin
32+
machinery.ProjectNameMixin
3233
}
3334

3435
// SetTemplateDefaults implements input.Template
@@ -46,6 +47,14 @@ func (f *ControllerManagerConfig) SetTemplateDefaults() error {
4647

4748
const controllerManagerConfigTemplate = `apiVersion: controller-runtime.sigs.k8s.io/v1alpha1
4849
kind: ControllerManagerConfig
50+
metadata:
51+
labels:
52+
app.kubernetes.io/name: controllermanagerconfig
53+
app.kubernetes.io/instance: controller-manager-configuration
54+
app.kubernetes.io/component: manager
55+
app.kubernetes.io/created-by: {{ .ProjectName }}
56+
app.kubernetes.io/part-of: {{ .ProjectName }}
57+
app.kubernetes.io/managed-by: kustomize
4958
health:
5059
healthProbeBindAddress: :8081
5160
metrics:

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/prometheus/monitor.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var _ machinery.Template = &Monitor{}
2727
// Monitor scaffolds a file that defines the prometheus service monitor
2828
type Monitor struct {
2929
machinery.TemplateMixin
30+
machinery.ProjectNameMixin
3031
}
3132

3233
// SetTemplateDefaults implements file.Template
@@ -47,6 +48,12 @@ kind: ServiceMonitor
4748
metadata:
4849
labels:
4950
control-plane: controller-manager
51+
app.kubernetes.io/name: servicemonitor
52+
app.kubernetes.io/instance: controller-manager-metrics-monitor
53+
app.kubernetes.io/component: metrics
54+
app.kubernetes.io/created-by: {{ .ProjectName }}
55+
app.kubernetes.io/part-of: {{ .ProjectName }}
56+
app.kubernetes.io/managed-by: kustomize
5057
name: controller-manager-metrics-monitor
5158
namespace: system
5259
spec:

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/rbac/auth_proxy_client_role.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var _ machinery.Template = &AuthProxyClientRole{}
2727
// AuthProxyClientRole scaffolds a file that defines the role for the metrics reader
2828
type AuthProxyClientRole struct {
2929
machinery.TemplateMixin
30+
machinery.ProjectNameMixin
3031
}
3132

3233
// SetTemplateDefaults implements file.Template
@@ -43,6 +44,13 @@ func (f *AuthProxyClientRole) SetTemplateDefaults() error {
4344
const clientClusterRoleTemplate = `apiVersion: rbac.authorization.k8s.io/v1
4445
kind: ClusterRole
4546
metadata:
47+
labels:
48+
app.kubernetes.io/name: clusterrole
49+
app.kubernetes.io/instance: metrics-reader
50+
app.kubernetes.io/component: kube-rbac-proxy
51+
app.kubernetes.io/created-by: {{ .ProjectName }}
52+
app.kubernetes.io/part-of: {{ .ProjectName }}
53+
app.kubernetes.io/managed-by: kustomize
4654
name: metrics-reader
4755
rules:
4856
- nonResourceURLs:

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/rbac/auth_proxy_role.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var _ machinery.Template = &AuthProxyRole{}
2727
// AuthProxyRole scaffolds a file that defines the role for the auth proxy
2828
type AuthProxyRole struct {
2929
machinery.TemplateMixin
30+
machinery.ProjectNameMixin
3031
}
3132

3233
// SetTemplateDefaults implements file.Template
@@ -43,6 +44,13 @@ func (f *AuthProxyRole) SetTemplateDefaults() error {
4344
const proxyRoleTemplate = `apiVersion: rbac.authorization.k8s.io/v1
4445
kind: ClusterRole
4546
metadata:
47+
labels:
48+
app.kubernetes.io/name: clusterrole
49+
app.kubernetes.io/instance: proxy-role
50+
app.kubernetes.io/component: kube-rbac-proxy
51+
app.kubernetes.io/created-by: {{ .ProjectName }}
52+
app.kubernetes.io/part-of: {{ .ProjectName }}
53+
app.kubernetes.io/managed-by: kustomize
4654
name: proxy-role
4755
rules:
4856
- apiGroups:

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/rbac/auth_proxy_role_binding.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var _ machinery.Template = &AuthProxyRoleBinding{}
2727
// AuthProxyRoleBinding scaffolds a file that defines the role binding for the auth proxy
2828
type AuthProxyRoleBinding struct {
2929
machinery.TemplateMixin
30+
machinery.ProjectNameMixin
3031
}
3132

3233
// SetTemplateDefaults implements file.Template
@@ -43,6 +44,13 @@ func (f *AuthProxyRoleBinding) SetTemplateDefaults() error {
4344
const proxyRoleBindinggTemplate = `apiVersion: rbac.authorization.k8s.io/v1
4445
kind: ClusterRoleBinding
4546
metadata:
47+
labels:
48+
app.kubernetes.io/name: clusterrolebinding
49+
app.kubernetes.io/instance: proxy-rolebinding
50+
app.kubernetes.io/component: kube-rbac-proxy
51+
app.kubernetes.io/created-by: {{ .ProjectName }}
52+
app.kubernetes.io/part-of: {{ .ProjectName }}
53+
app.kubernetes.io/managed-by: kustomize
4654
name: proxy-rolebinding
4755
roleRef:
4856
apiGroup: rbac.authorization.k8s.io

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/rbac/auth_proxy_service.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var _ machinery.Template = &AuthProxyService{}
2727
// AuthProxyService scaffolds a file that defines the service for the auth proxy
2828
type AuthProxyService struct {
2929
machinery.TemplateMixin
30+
machinery.ProjectNameMixin
3031
}
3132

3233
// SetTemplateDefaults implements file.Template
@@ -45,6 +46,12 @@ kind: Service
4546
metadata:
4647
labels:
4748
control-plane: controller-manager
49+
app.kubernetes.io/name: service
50+
app.kubernetes.io/instance: controller-manager-metrics-service
51+
app.kubernetes.io/component: kube-rbac-proxy
52+
app.kubernetes.io/created-by: {{ .ProjectName }}
53+
app.kubernetes.io/part-of: {{ .ProjectName }}
54+
app.kubernetes.io/managed-by: kustomize
4855
name: controller-manager-metrics-service
4956
namespace: system
5057
spec:

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/rbac/crd_editor_role.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ type CRDEditorRole struct {
2929
machinery.TemplateMixin
3030
machinery.MultiGroupMixin
3131
machinery.ResourceMixin
32+
machinery.ProjectNameMixin
3233
}
3334

3435
// SetTemplateDefaults implements file.Template
@@ -52,6 +53,13 @@ const crdRoleEditorTemplate = `# permissions for end users to edit {{ .Resource.
5253
apiVersion: rbac.authorization.k8s.io/v1
5354
kind: ClusterRole
5455
metadata:
56+
labels:
57+
app.kubernetes.io/name: clusterrole
58+
app.kubernetes.io/instance: {{ lower .Resource.Kind }}-editor-role
59+
app.kubernetes.io/component: rbac
60+
app.kubernetes.io/created-by: {{ .ProjectName }}
61+
app.kubernetes.io/part-of: {{ .ProjectName }}
62+
app.kubernetes.io/managed-by: kustomize
5563
name: {{ lower .Resource.Kind }}-editor-role
5664
rules:
5765
- apiGroups:

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/rbac/crd_viewer_role.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ type CRDViewerRole struct {
2929
machinery.TemplateMixin
3030
machinery.MultiGroupMixin
3131
machinery.ResourceMixin
32+
machinery.ProjectNameMixin
3233
}
3334

3435
// SetTemplateDefaults implements file.Template
@@ -52,6 +53,13 @@ const crdRoleViewerTemplate = `# permissions for end users to view {{ .Resource.
5253
apiVersion: rbac.authorization.k8s.io/v1
5354
kind: ClusterRole
5455
metadata:
56+
labels:
57+
app.kubernetes.io/name: clusterrole
58+
app.kubernetes.io/instance: {{ lower .Resource.Kind }}-viewer-role
59+
app.kubernetes.io/component: rbac
60+
app.kubernetes.io/created-by: {{ .ProjectName }}
61+
app.kubernetes.io/part-of: {{ .ProjectName }}
62+
app.kubernetes.io/managed-by: kustomize
5563
name: {{ lower .Resource.Kind }}-viewer-role
5664
rules:
5765
- apiGroups:

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/rbac/leader_election_role.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var _ machinery.Template = &LeaderElectionRole{}
2727
// LeaderElectionRole scaffolds a file that defines the role that allows leader election
2828
type LeaderElectionRole struct {
2929
machinery.TemplateMixin
30+
machinery.ProjectNameMixin
3031
}
3132

3233
// SetTemplateDefaults implements file.Template
@@ -44,6 +45,13 @@ const leaderElectionRoleTemplate = `# permissions to do leader election.
4445
apiVersion: rbac.authorization.k8s.io/v1
4546
kind: Role
4647
metadata:
48+
labels:
49+
app.kubernetes.io/name: role
50+
app.kubernetes.io/instance: leader-election-role
51+
app.kubernetes.io/component: rbac
52+
app.kubernetes.io/created-by: {{ .ProjectName }}
53+
app.kubernetes.io/part-of: {{ .ProjectName }}
54+
app.kubernetes.io/managed-by: kustomize
4755
name: leader-election-role
4856
rules:
4957
- apiGroups:

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/rbac/leader_election_role_binding.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var _ machinery.Template = &LeaderElectionRoleBinding{}
2727
// LeaderElectionRoleBinding scaffolds a file that defines the role binding that allows leader election
2828
type LeaderElectionRoleBinding struct {
2929
machinery.TemplateMixin
30+
machinery.ProjectNameMixin
3031
}
3132

3233
// SetTemplateDefaults implements file.Template
@@ -43,6 +44,13 @@ func (f *LeaderElectionRoleBinding) SetTemplateDefaults() error {
4344
const leaderElectionRoleBindingTemplate = `apiVersion: rbac.authorization.k8s.io/v1
4445
kind: RoleBinding
4546
metadata:
47+
labels:
48+
app.kubernetes.io/name: rolebinding
49+
app.kubernetes.io/instance: leader-election-rolebinding
50+
app.kubernetes.io/component: rbac
51+
app.kubernetes.io/created-by: {{ .ProjectName }}
52+
app.kubernetes.io/part-of: {{ .ProjectName }}
53+
app.kubernetes.io/managed-by: kustomize
4654
name: leader-election-rolebinding
4755
roleRef:
4856
apiGroup: rbac.authorization.k8s.io

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/rbac/role_binding.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var _ machinery.Template = &RoleBinding{}
2727
// RoleBinding scaffolds a file that defines the role binding for the manager
2828
type RoleBinding struct {
2929
machinery.TemplateMixin
30+
machinery.ProjectNameMixin
3031
}
3132

3233
// SetTemplateDefaults implements file.Template
@@ -43,6 +44,13 @@ func (f *RoleBinding) SetTemplateDefaults() error {
4344
const managerBindingTemplate = `apiVersion: rbac.authorization.k8s.io/v1
4445
kind: ClusterRoleBinding
4546
metadata:
47+
labels:
48+
app.kubernetes.io/name: clusterrolebinding
49+
app.kubernetes.io/instance: manager-rolebinding
50+
app.kubernetes.io/component: rbac
51+
app.kubernetes.io/created-by: {{ .ProjectName }}
52+
app.kubernetes.io/part-of: {{ .ProjectName }}
53+
app.kubernetes.io/managed-by: kustomize
4654
name: manager-rolebinding
4755
roleRef:
4856
apiGroup: rbac.authorization.k8s.io

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/rbac/service_account.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var _ machinery.Template = &ServiceAccount{}
2727
// ServiceAccount scaffolds a file that defines the service account the manager is deployed in.
2828
type ServiceAccount struct {
2929
machinery.TemplateMixin
30+
machinery.ProjectNameMixin
3031
}
3132

3233
// SetTemplateDefaults implements file.Template
@@ -43,6 +44,13 @@ func (f *ServiceAccount) SetTemplateDefaults() error {
4344
const serviceAccountTemplate = `apiVersion: v1
4445
kind: ServiceAccount
4546
metadata:
47+
labels:
48+
app.kubernetes.io/name: serviceaccount
49+
app.kuberentes.io/instance: controller-manager
50+
app.kubernetes.io/component: rbac
51+
app.kubernetes.io/created-by: {{ .ProjectName }}
52+
app.kubernetes.io/part-of: {{ .ProjectName }}
53+
app.kubernetes.io/managed-by: kustomize
4654
name: controller-manager
4755
namespace: system
4856
`

pkg/plugins/common/kustomize/v1/scaffolds/internal/templates/config/samples/crd_sample.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ var _ machinery.Template = &CRDSample{}
2828
type CRDSample struct {
2929
machinery.TemplateMixin
3030
machinery.ResourceMixin
31+
machinery.ProjectNameMixin
3132

3233
Force bool
3334
}
@@ -53,6 +54,12 @@ func (f *CRDSample) SetTemplateDefaults() error {
5354
const crdSampleTemplate = `apiVersion: {{ .Resource.QualifiedGroup }}/{{ .Resource.Version }}
5455
kind: {{ .Resource.Kind }}
5556
metadata:
57+
labels:
58+
app.kubernetes.io/name: {{ lower .Resource.Kind }}
59+
app.kubernetes.io/instance: {{ lower .Resource.Kind }}-sample
60+
app.kubernetes.io/part-of: {{ .ProjectName }}
61+
app.kuberentes.io/managed-by: kustomize
62+
app.kubernetes.io/created-by: {{ .ProjectName }}
5663
name: {{ lower .Resource.Kind }}-sample
5764
spec:
5865
# TODO(user): Add fields here

0 commit comments

Comments
 (0)