From 8da149d627b673eb7bd67848a6b04377af477f2a Mon Sep 17 00:00:00 2001 From: Eguzki Astiz Lezaun Date: Thu, 3 Oct 2024 18:12:16 +0200 Subject: [PATCH 1/4] helm manifests template based Signed-off-by: Eguzki Astiz Lezaun --- charts/dns-operator/templates/manifests.yaml | 27 +++++--------------- config/deploy/local/kustomization.yaml | 4 +++ config/helm/kustomization.yaml | 4 +++ config/manager/manager.yaml | 12 --------- 4 files changed, 15 insertions(+), 32 deletions(-) diff --git a/charts/dns-operator/templates/manifests.yaml b/charts/dns-operator/templates/manifests.yaml index a5d720e8..ca91b535 100644 --- a/charts/dns-operator/templates/manifests.yaml +++ b/charts/dns-operator/templates/manifests.yaml @@ -1,16 +1,3 @@ -apiVersion: v1 -kind: Namespace -metadata: - labels: - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: dns-operator - app.kubernetes.io/instance: system - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: namespace - app.kubernetes.io/part-of: dns-operator - control-plane: dns-operator-controller-manager - name: dns-operator-system ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: @@ -541,7 +528,7 @@ metadata: app.kubernetes.io/name: serviceaccount app.kubernetes.io/part-of: dns-operator name: dns-operator-controller-manager - namespace: dns-operator-system + namespace: '{{ .Release.Namespace }}' --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role @@ -554,7 +541,7 @@ metadata: app.kubernetes.io/name: role app.kubernetes.io/part-of: dns-operator name: dns-operator-leader-election-role - namespace: dns-operator-system + namespace: '{{ .Release.Namespace }}' rules: - apiGroups: - "" @@ -639,7 +626,7 @@ metadata: app.kubernetes.io/name: rolebinding app.kubernetes.io/part-of: dns-operator name: dns-operator-leader-election-rolebinding - namespace: dns-operator-system + namespace: '{{ .Release.Namespace }}' roleRef: apiGroup: rbac.authorization.k8s.io kind: Role @@ -647,7 +634,7 @@ roleRef: subjects: - kind: ServiceAccount name: dns-operator-controller-manager - namespace: dns-operator-system + namespace: '{{ .Release.Namespace }}' --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding @@ -667,7 +654,7 @@ roleRef: subjects: - kind: ServiceAccount name: dns-operator-controller-manager - namespace: dns-operator-system + namespace: '{{ .Release.Namespace }}' --- apiVersion: v1 kind: Service @@ -675,7 +662,7 @@ metadata: labels: control-plane: dns-operator-controller-manager name: dns-operator-controller-manager-metrics-service - namespace: dns-operator-system + namespace: '{{ .Release.Namespace }}' spec: ports: - name: metrics @@ -696,7 +683,7 @@ metadata: app.kubernetes.io/part-of: dns-operator control-plane: dns-operator-controller-manager name: dns-operator-controller-manager - namespace: dns-operator-system + namespace: '{{ .Release.Namespace }}' spec: replicas: 1 selector: diff --git a/config/deploy/local/kustomization.yaml b/config/deploy/local/kustomization.yaml index a3efa11f..10aab23d 100644 --- a/config/deploy/local/kustomization.yaml +++ b/config/deploy/local/kustomization.yaml @@ -3,7 +3,11 @@ # Set the deployment imagePullPolicy to IfNotPresent. This is required if you are using a local image loaded into kind i.e. make kind-load-image # +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization resources: + - namespace.yaml - ../../default patches: diff --git a/config/helm/kustomization.yaml b/config/helm/kustomization.yaml index ecbcca00..e8866a66 100644 --- a/config/helm/kustomization.yaml +++ b/config/helm/kustomization.yaml @@ -1,2 +1,6 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: "{{ .Release.Namespace }}" resources: - ../default diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index 8ef2267d..cf74595d 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -1,15 +1,3 @@ -apiVersion: v1 -kind: Namespace -metadata: - labels: - control-plane: dns-operator-controller-manager - app.kubernetes.io/name: namespace - app.kubernetes.io/instance: system - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: dns-operator - app.kubernetes.io/part-of: dns-operator - app.kubernetes.io/managed-by: kustomize - name: system --- apiVersion: apps/v1 kind: Deployment From 5236e872c9cffa25fdf4ef73bd96534c5c13dfac Mon Sep 17 00:00:00 2001 From: Eguzki Astiz Lezaun Date: Thu, 3 Oct 2024 18:19:52 +0200 Subject: [PATCH 2/4] fix deploy local with namespace name Signed-off-by: Eguzki Astiz Lezaun --- config/deploy/local/kustomization.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/deploy/local/kustomization.yaml b/config/deploy/local/kustomization.yaml index 10aab23d..13f74b1c 100644 --- a/config/deploy/local/kustomization.yaml +++ b/config/deploy/local/kustomization.yaml @@ -6,6 +6,7 @@ --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: dns-operator-system resources: - namespace.yaml - ../../default From 0cb3d7ccdef961ba1324e63b99c5ee8269c39de2 Mon Sep 17 00:00:00 2001 From: Eguzki Astiz Lezaun Date: Thu, 3 Oct 2024 21:31:23 +0200 Subject: [PATCH 3/4] missing namespace Signed-off-by: Eguzki Astiz Lezaun --- .gitignore | 1 - config/deploy/local/namespace.yaml | 13 +++++++++++++ make/kind.mk | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 config/deploy/local/namespace.yaml diff --git a/.gitignore b/.gitignore index 3a59d1b3..8cd3e0b3 100644 --- a/.gitignore +++ b/.gitignore @@ -30,4 +30,3 @@ Dockerfile.cross tmp config/local-setup/**/*.env -local \ No newline at end of file diff --git a/config/deploy/local/namespace.yaml b/config/deploy/local/namespace.yaml new file mode 100644 index 00000000..0674227a --- /dev/null +++ b/config/deploy/local/namespace.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + labels: + app.kubernetes.io/component: manager + app.kubernetes.io/created-by: dns-operator + app.kubernetes.io/instance: system + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: namespace + app.kubernetes.io/part-of: dns-operator + control-plane: dns-operator-controller-manager + name: system diff --git a/make/kind.mk b/make/kind.mk index 424623ee..88c0e3a6 100644 --- a/make/kind.mk +++ b/make/kind.mk @@ -16,7 +16,7 @@ kind-delete-cluster: kind ## Delete the "kuadrant-dns-local" kind cluster. .PHONY: kind-delete-all-clusters kind-delete-all-clusters: kind ## Delete the all "kuadrant-dns-local*" kind clusters. - - $(KIND) get clusters | grep $(KIND_CLUSTER_NAME_PREFIX) | xargs -I % sh -c "kind delete cluster --name %" + - $(KIND) get clusters | grep $(KIND_CLUSTER_NAME_PREFIX) | xargs -I % sh -c "$(KIND) delete cluster --name %" .PHONY: kind-load-image kind-load-image: kind ## Load image to "kuadrant-dns-local" kind cluster. From 824559ffb53508bf81c1798c4e6caaf00aac20ec Mon Sep 17 00:00:00 2001 From: Eguzki Astiz Lezaun Date: Thu, 10 Oct 2024 17:12:18 +0200 Subject: [PATCH 4/4] helm: keep namespace in manager.yaml and remove from helm overlay Signed-off-by: Eguzki Astiz Lezaun --- charts/dns-operator/templates/manifests.yaml | 16 +++++++++++----- config/deploy/local/kustomization.yaml | 5 ----- config/deploy/local/namespace.yaml | 13 ------------- config/helm/kustomization.yaml | 14 ++++++++++++++ config/manager/manager.yaml | 12 ++++++++++++ 5 files changed, 37 insertions(+), 23 deletions(-) delete mode 100644 config/deploy/local/namespace.yaml diff --git a/charts/dns-operator/templates/manifests.yaml b/charts/dns-operator/templates/manifests.yaml index ca91b535..6695d4e2 100644 --- a/charts/dns-operator/templates/manifests.yaml +++ b/charts/dns-operator/templates/manifests.yaml @@ -3,6 +3,8 @@ kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.14.0 + labels: + app.kubernetes.io/managed-by: helm name: dnsrecords.kuadrant.io spec: group: kuadrant.io @@ -524,7 +526,7 @@ metadata: app.kubernetes.io/component: rbac app.kubernetes.io/created-by: dns-operator app.kubernetes.io/instance: controller-manager-sa - app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/managed-by: helm app.kubernetes.io/name: serviceaccount app.kubernetes.io/part-of: dns-operator name: dns-operator-controller-manager @@ -537,7 +539,7 @@ metadata: app.kubernetes.io/component: rbac app.kubernetes.io/created-by: dns-operator app.kubernetes.io/instance: leader-election-role - app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/managed-by: helm app.kubernetes.io/name: role app.kubernetes.io/part-of: dns-operator name: dns-operator-leader-election-role @@ -578,6 +580,8 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: + labels: + app.kubernetes.io/managed-by: helm name: dns-operator-manager-role rules: - apiGroups: @@ -622,7 +626,7 @@ metadata: app.kubernetes.io/component: rbac app.kubernetes.io/created-by: dns-operator app.kubernetes.io/instance: leader-election-rolebinding - app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/managed-by: helm app.kubernetes.io/name: rolebinding app.kubernetes.io/part-of: dns-operator name: dns-operator-leader-election-rolebinding @@ -643,7 +647,7 @@ metadata: app.kubernetes.io/component: rbac app.kubernetes.io/created-by: dns-operator app.kubernetes.io/instance: manager-rolebinding - app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/managed-by: helm app.kubernetes.io/name: clusterrolebinding app.kubernetes.io/part-of: dns-operator name: dns-operator-manager-rolebinding @@ -660,6 +664,7 @@ apiVersion: v1 kind: Service metadata: labels: + app.kubernetes.io/managed-by: helm control-plane: dns-operator-controller-manager name: dns-operator-controller-manager-metrics-service namespace: '{{ .Release.Namespace }}' @@ -678,7 +683,7 @@ metadata: app.kubernetes.io/component: manager app.kubernetes.io/created-by: dns-operator app.kubernetes.io/instance: controller-manager - app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/managed-by: helm app.kubernetes.io/name: deployment app.kubernetes.io/part-of: dns-operator control-plane: dns-operator-controller-manager @@ -694,6 +699,7 @@ spec: annotations: kubectl.kubernetes.io/default-container: manager labels: + app.kubernetes.io/managed-by: helm control-plane: dns-operator-controller-manager spec: containers: diff --git a/config/deploy/local/kustomization.yaml b/config/deploy/local/kustomization.yaml index 13f74b1c..a3efa11f 100644 --- a/config/deploy/local/kustomization.yaml +++ b/config/deploy/local/kustomization.yaml @@ -3,12 +3,7 @@ # Set the deployment imagePullPolicy to IfNotPresent. This is required if you are using a local image loaded into kind i.e. make kind-load-image # ---- -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: dns-operator-system resources: - - namespace.yaml - ../../default patches: diff --git a/config/deploy/local/namespace.yaml b/config/deploy/local/namespace.yaml deleted file mode 100644 index 0674227a..00000000 --- a/config/deploy/local/namespace.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - labels: - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: dns-operator - app.kubernetes.io/instance: system - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: namespace - app.kubernetes.io/part-of: dns-operator - control-plane: dns-operator-controller-manager - name: system diff --git a/config/helm/kustomization.yaml b/config/helm/kustomization.yaml index e8866a66..4c439052 100644 --- a/config/helm/kustomization.yaml +++ b/config/helm/kustomization.yaml @@ -2,5 +2,19 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: "{{ .Release.Namespace }}" + +labels: + - pairs: + app.kubernetes.io/managed-by: helm + includeTemplates: true + resources: - ../default + +patches: +- patch: |- + $patch: delete + apiVersion: v1 + kind: Namespace + metadata: + name: dns-operator-system diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index cf74595d..8ef2267d 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -1,3 +1,15 @@ +apiVersion: v1 +kind: Namespace +metadata: + labels: + control-plane: dns-operator-controller-manager + app.kubernetes.io/name: namespace + app.kubernetes.io/instance: system + app.kubernetes.io/component: manager + app.kubernetes.io/created-by: dns-operator + app.kubernetes.io/part-of: dns-operator + app.kubernetes.io/managed-by: kustomize + name: system --- apiVersion: apps/v1 kind: Deployment