diff --git a/go.mod b/go.mod index ddac6a8070..6f89fddf22 100644 --- a/go.mod +++ b/go.mod @@ -43,7 +43,7 @@ require ( k8s.io/utils v0.0.0-20240102154912-e7106e64919e sigs.k8s.io/controller-runtime v0.17.2 sigs.k8s.io/controller-tools v0.14.0 - sigs.k8s.io/kubebuilder/v3 v3.14.0 + sigs.k8s.io/kubebuilder/v3 v3.14.2 sigs.k8s.io/yaml v1.4.0 ) diff --git a/go.sum b/go.sum index f7ae8012e5..6b0ed20677 100644 --- a/go.sum +++ b/go.sum @@ -829,12 +829,13 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0 h1:/U5vjBbQn3RCh sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0/go.mod h1:z7+wmGM2dfIiLRfrC6jb5kV2Mq/sK1ZP303cxzkV5Y4= sigs.k8s.io/controller-runtime v0.17.2 h1:FwHwD1CTUemg0pW2otk7/U5/i5m2ymzvOXdbeGOUvw0= sigs.k8s.io/controller-runtime v0.17.2/go.mod h1:+MngTvIQQQhfXtwfdGw/UOQ/aIaqsYywfCINOtwMO/s= +sigs.k8s.io/controller-runtime v0.17.3/go.mod h1:N0jpP5Lo7lMTF9aL56Z/B2oWBJjey6StQM0jRbKQXtY= sigs.k8s.io/controller-tools v0.14.0 h1:rnNoCC5wSXlrNoBKKzL70LNJKIQKEzT6lloG6/LF73A= sigs.k8s.io/controller-tools v0.14.0/go.mod h1:TV7uOtNNnnR72SpzhStvPkoS/U5ir0nMudrkrC4M9Sc= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/kubebuilder/v3 v3.14.0 h1:DVrHb6ADfGQKk/4NiMFOO7XIJK58maXhYIwlHSFy84I= -sigs.k8s.io/kubebuilder/v3 v3.14.0/go.mod h1:vh/9c7elEE2h0wB+Gxy1t63f8WuPrLO1ExoQR6ms8L0= +sigs.k8s.io/kubebuilder/v3 v3.14.2 h1:LMZW8Y5eItnP4kh9tpp4Gs2Gd5V3DgLgzbNnXfMAShY= +sigs.k8s.io/kubebuilder/v3 v3.14.2/go.mod h1:gEZM8SUkewOQnpRDiewh4gmbQ1FMkT/CDlMddOg053M= sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 h1:XX3Ajgzov2RKUdc5jW3t5jwY7Bo7dcRm+tFxT+NfgY0= sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3/go.mod h1:9n16EZKMhXBNSiUC5kSdFQJkdH3zbxS/JoO619G1VAY= sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U= diff --git a/testdata/go/v4/memcached-operator/.gitignore b/testdata/go/v4/memcached-operator/.gitignore index 7a7feec504..ada68ff086 100644 --- a/testdata/go/v4/memcached-operator/.gitignore +++ b/testdata/go/v4/memcached-operator/.gitignore @@ -1,4 +1,3 @@ - # Binaries for programs and plugins *.exe *.exe~ diff --git a/testdata/go/v4/memcached-operator/.golangci.yml b/testdata/go/v4/memcached-operator/.golangci.yml index aed8644d11..ca69a11f6f 100644 --- a/testdata/go/v4/memcached-operator/.golangci.yml +++ b/testdata/go/v4/memcached-operator/.golangci.yml @@ -1,5 +1,5 @@ run: - deadline: 5m + timeout: 5m allow-parallel-runners: true issues: diff --git a/testdata/go/v4/memcached-operator/Makefile b/testdata/go/v4/memcached-operator/Makefile index 7e9d207a54..45455f92c5 100644 --- a/testdata/go/v4/memcached-operator/Makefile +++ b/testdata/go/v4/memcached-operator/Makefile @@ -49,7 +49,6 @@ endif # Set the Operator SDK version to use. By default, what is installed on the system is used. # This is useful for CI or a project to utilize a specific version of the operator-sdk toolkit. OPERATOR_SDK_VERSION ?= v1.34.0 - # Image URL to use all building/pushing image targets IMG ?= controller:latest # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. @@ -172,12 +171,8 @@ docker-buildx: ## Build and push docker image for the manager for cross-platform .PHONY: build-installer build-installer: manifests generate kustomize ## Generate a consolidated YAML with CRDs and deployment. mkdir -p dist - @if [ -d "config/crd" ]; then \ - $(KUSTOMIZE) build config/crd > dist/install.yaml; \ - fi - echo "---" >> dist/install.yaml # Add a document separator before appending cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} - $(KUSTOMIZE) build config/default >> dist/install.yaml + $(KUSTOMIZE) build config/default > dist/install.yaml ##@ Deployment @@ -219,8 +214,8 @@ GOLANGCI_LINT = $(LOCALBIN)/golangci-lint-$(GOLANGCI_LINT_VERSION) ## Tool Versions KUSTOMIZE_VERSION ?= v5.3.0 CONTROLLER_TOOLS_VERSION ?= v0.14.0 -ENVTEST_VERSION ?= latest -GOLANGCI_LINT_VERSION ?= v1.54.2 +ENVTEST_VERSION ?= release-0.17 +GOLANGCI_LINT_VERSION ?= v1.57.2 .PHONY: kustomize kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. diff --git a/testdata/go/v4/memcached-operator/README.md b/testdata/go/v4/memcached-operator/README.md index 844ca19f13..84102c6ed0 100644 --- a/testdata/go/v4/memcached-operator/README.md +++ b/testdata/go/v4/memcached-operator/README.md @@ -19,8 +19,8 @@ make docker-build docker-push IMG=/memcached-operator:tag ``` -**NOTE:** This image ought to be published in the personal registry you specified. -And it is required to have access to pull the image from the working environment. +**NOTE:** This image ought to be published in the personal registry you specified. +And it is required to have access to pull the image from the working environment. Make sure you have the proper permission to the registry if the above commands don’t work. **Install the CRDs into the cluster:** @@ -35,7 +35,7 @@ make install make deploy IMG=/memcached-operator:tag ``` -> **NOTE**: If you encounter RBAC errors, you may need to grant yourself cluster-admin +> **NOTE**: If you encounter RBAC errors, you may need to grant yourself cluster-admin privileges or be logged in as admin. **Create instances of your solution** diff --git a/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml index e7d0a16486..1ba1d5e9c1 100644 --- a/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml +++ b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml @@ -2,12 +2,8 @@ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: labels: - app.kubernetes.io/component: metrics - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: controller-manager-metrics-monitor app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: servicemonitor - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator control-plane: controller-manager name: memcached-operator-controller-manager-metrics-monitor spec: diff --git a/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml index d1726620fd..3080334458 100644 --- a/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml +++ b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml @@ -3,12 +3,8 @@ kind: Service metadata: creationTimestamp: null labels: - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: controller-manager-metrics-service app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: service - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator control-plane: controller-manager name: memcached-operator-controller-manager-metrics-service spec: diff --git a/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-memcached-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-memcached-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 0000000000..bf4cd4b9d1 --- /dev/null +++ b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-memcached-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,27 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: memcached-operator + name: memcached-operator-memcached-editor-role +rules: +- apiGroups: + - cache.example.com + resources: + - memcacheds + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cache.example.com + resources: + - memcacheds/status + verbs: + - get diff --git a/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-memcached-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-memcached-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 0000000000..7ec956824b --- /dev/null +++ b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-memcached-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,23 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: memcached-operator + name: memcached-operator-memcached-viewer-role +rules: +- apiGroups: + - cache.example.com + resources: + - memcacheds + verbs: + - get + - list + - watch +- apiGroups: + - cache.example.com + resources: + - memcacheds/status + verbs: + - get diff --git a/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml index 6f58e964d3..4b4c5c860b 100644 --- a/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml +++ b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -3,12 +3,8 @@ kind: ClusterRole metadata: creationTimestamp: null labels: - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: metrics-reader app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: clusterrole - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator name: memcached-operator-metrics-reader rules: - nonResourceURLs: diff --git a/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-webhook-service_v1_service.yaml b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-webhook-service_v1_service.yaml index 2dfdaccdb9..5c89764375 100644 --- a/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-webhook-service_v1_service.yaml +++ b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator-webhook-service_v1_service.yaml @@ -3,12 +3,8 @@ kind: Service metadata: creationTimestamp: null labels: - app.kubernetes.io/component: webhook - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: webhook-service app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: service - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator name: memcached-operator-webhook-service spec: ports: diff --git a/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator.clusterserviceversion.yaml b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator.clusterserviceversion.yaml index 93ad15ee42..bdd1714bb4 100644 --- a/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator.clusterserviceversion.yaml +++ b/testdata/go/v4/memcached-operator/bundle/manifests/memcached-operator.clusterserviceversion.yaml @@ -122,12 +122,8 @@ spec: serviceAccountName: memcached-operator-controller-manager deployments: - label: - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: controller-manager app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: deployment - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator control-plane: controller-manager name: memcached-operator-controller-manager spec: @@ -188,7 +184,7 @@ spec: - --upstream=http://127.0.0.1:8080/ - --logtostderr=true - --v=0 - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0 name: kube-rbac-proxy ports: - containerPort: 8443 diff --git a/testdata/go/v4/memcached-operator/cmd/main.go b/testdata/go/v4/memcached-operator/cmd/main.go index c570cd3bc6..054751314d 100644 --- a/testdata/go/v4/memcached-operator/cmd/main.go +++ b/testdata/go/v4/memcached-operator/cmd/main.go @@ -76,7 +76,7 @@ func main() { // if the enable-http2 flag is false (the default), http/2 should be disabled // due to its vulnerabilities. More specifically, disabling http/2 will - // prevent from being vulnerable to the HTTP/2 Stream Cancelation and + // prevent from being vulnerable to the HTTP/2 Stream Cancellation and // Rapid Reset CVEs. For more information see: // - https://github.com/advisories/GHSA-qppj-fm5r-hxr3 // - https://github.com/advisories/GHSA-4374-p667-p6c8 diff --git a/testdata/go/v4/memcached-operator/config/certmanager/certificate.yaml b/testdata/go/v4/memcached-operator/config/certmanager/certificate.yaml index cee271ecdc..88f59388ac 100644 --- a/testdata/go/v4/memcached-operator/config/certmanager/certificate.yaml +++ b/testdata/go/v4/memcached-operator/config/certmanager/certificate.yaml @@ -5,11 +5,7 @@ apiVersion: cert-manager.io/v1 kind: Issuer metadata: labels: - app.kubernetes.io/name: certificate - app.kubernetes.io/instance: serving-cert - app.kubernetes.io/component: certificate - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: selfsigned-issuer namespace: system diff --git a/testdata/go/v4/memcached-operator/config/default/manager_auth_proxy_patch.yaml b/testdata/go/v4/memcached-operator/config/default/manager_auth_proxy_patch.yaml index 70c3437f4b..4c3c27602f 100644 --- a/testdata/go/v4/memcached-operator/config/default/manager_auth_proxy_patch.yaml +++ b/testdata/go/v4/memcached-operator/config/default/manager_auth_proxy_patch.yaml @@ -15,7 +15,7 @@ spec: capabilities: drop: - "ALL" - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0 args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" diff --git a/testdata/go/v4/memcached-operator/config/default/webhookcainjection_patch.yaml b/testdata/go/v4/memcached-operator/config/default/webhookcainjection_patch.yaml index 077b38032c..95e0afe09d 100644 --- a/testdata/go/v4/memcached-operator/config/default/webhookcainjection_patch.yaml +++ b/testdata/go/v4/memcached-operator/config/default/webhookcainjection_patch.yaml @@ -4,11 +4,7 @@ apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: labels: - app.kubernetes.io/name: mutatingwebhookconfiguration - app.kubernetes.io/instance: mutating-webhook-configuration - app.kubernetes.io/component: webhook - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: mutating-webhook-configuration annotations: diff --git a/testdata/go/v4/memcached-operator/config/manager/manager.yaml b/testdata/go/v4/memcached-operator/config/manager/manager.yaml index b86c25311e..64087dc28c 100644 --- a/testdata/go/v4/memcached-operator/config/manager/manager.yaml +++ b/testdata/go/v4/memcached-operator/config/manager/manager.yaml @@ -3,11 +3,7 @@ kind: Namespace metadata: labels: control-plane: controller-manager - app.kubernetes.io/name: namespace - app.kubernetes.io/instance: system - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: system --- @@ -18,11 +14,7 @@ metadata: namespace: system labels: control-plane: controller-manager - app.kubernetes.io/name: deployment - app.kubernetes.io/instance: controller-manager - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize spec: selector: diff --git a/testdata/go/v4/memcached-operator/config/prometheus/monitor.yaml b/testdata/go/v4/memcached-operator/config/prometheus/monitor.yaml index 6b9c71cb9a..ad29d61499 100644 --- a/testdata/go/v4/memcached-operator/config/prometheus/monitor.yaml +++ b/testdata/go/v4/memcached-operator/config/prometheus/monitor.yaml @@ -4,11 +4,7 @@ kind: ServiceMonitor metadata: labels: control-plane: controller-manager - app.kubernetes.io/name: servicemonitor - app.kubernetes.io/instance: controller-manager-metrics-monitor - app.kubernetes.io/component: metrics - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: controller-manager-metrics-monitor namespace: system diff --git a/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_client_clusterrole.yaml b/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_client_clusterrole.yaml index a2a3b44315..3b93efaf42 100644 --- a/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_client_clusterrole.yaml +++ b/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_client_clusterrole.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: metrics-reader - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: metrics-reader rules: diff --git a/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_role.yaml b/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_role.yaml index b7c9c6f4a8..4cfaa83cfa 100644 --- a/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_role.yaml +++ b/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_role.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: proxy-role - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: proxy-role rules: diff --git a/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_role_binding.yaml b/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_role_binding.yaml index a4a1a852c7..4eb2764345 100644 --- a/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_role_binding.yaml +++ b/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_role_binding.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: - app.kubernetes.io/name: clusterrolebinding - app.kubernetes.io/instance: proxy-rolebinding - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: proxy-rolebinding roleRef: diff --git a/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_service.yaml b/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_service.yaml index ecaef24135..3e75af73b0 100644 --- a/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_service.yaml +++ b/testdata/go/v4/memcached-operator/config/rbac/auth_proxy_service.yaml @@ -3,11 +3,7 @@ kind: Service metadata: labels: control-plane: controller-manager - app.kubernetes.io/name: service - app.kubernetes.io/instance: controller-manager-metrics-service - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: controller-manager-metrics-service namespace: system diff --git a/testdata/go/v4/memcached-operator/config/rbac/kustomization.yaml b/testdata/go/v4/memcached-operator/config/rbac/kustomization.yaml index 731832a6ac..3dc289427b 100644 --- a/testdata/go/v4/memcached-operator/config/rbac/kustomization.yaml +++ b/testdata/go/v4/memcached-operator/config/rbac/kustomization.yaml @@ -16,3 +16,9 @@ resources: - auth_proxy_role.yaml - auth_proxy_role_binding.yaml - auth_proxy_client_clusterrole.yaml +# For each CRD, "Editor" and "Viewer" roles are scaffolded by +# default, aiding admins in cluster management. Those roles are +# not used by the Project itself. You can comment the following lines +# if you do not want those helpers be installed with your Project. +- memcached_editor_role.yaml +- memcached_viewer_role.yaml diff --git a/testdata/go/v4/memcached-operator/config/rbac/leader_election_role.yaml b/testdata/go/v4/memcached-operator/config/rbac/leader_election_role.yaml index ce7088ecbd..d085625358 100644 --- a/testdata/go/v4/memcached-operator/config/rbac/leader_election_role.yaml +++ b/testdata/go/v4/memcached-operator/config/rbac/leader_election_role.yaml @@ -3,11 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: labels: - app.kubernetes.io/name: role - app.kubernetes.io/instance: leader-election-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: leader-election-role rules: diff --git a/testdata/go/v4/memcached-operator/config/rbac/leader_election_role_binding.yaml b/testdata/go/v4/memcached-operator/config/rbac/leader_election_role_binding.yaml index 4ee27a3d01..4fb0caf652 100644 --- a/testdata/go/v4/memcached-operator/config/rbac/leader_election_role_binding.yaml +++ b/testdata/go/v4/memcached-operator/config/rbac/leader_election_role_binding.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: labels: - app.kubernetes.io/name: rolebinding - app.kubernetes.io/instance: leader-election-rolebinding - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: leader-election-rolebinding roleRef: diff --git a/testdata/go/v4/memcached-operator/config/rbac/memcached_editor_role.yaml b/testdata/go/v4/memcached-operator/config/rbac/memcached_editor_role.yaml index cbc4577b2c..aff7adbe77 100644 --- a/testdata/go/v4/memcached-operator/config/rbac/memcached_editor_role.yaml +++ b/testdata/go/v4/memcached-operator/config/rbac/memcached_editor_role.yaml @@ -3,11 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: memcached-editor-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: memcached-editor-role rules: diff --git a/testdata/go/v4/memcached-operator/config/rbac/memcached_viewer_role.yaml b/testdata/go/v4/memcached-operator/config/rbac/memcached_viewer_role.yaml index b8977ec271..373da88753 100644 --- a/testdata/go/v4/memcached-operator/config/rbac/memcached_viewer_role.yaml +++ b/testdata/go/v4/memcached-operator/config/rbac/memcached_viewer_role.yaml @@ -3,11 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: memcached-viewer-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: memcached-viewer-role rules: diff --git a/testdata/go/v4/memcached-operator/config/rbac/role_binding.yaml b/testdata/go/v4/memcached-operator/config/rbac/role_binding.yaml index cc2b714d50..4585b7d8a7 100644 --- a/testdata/go/v4/memcached-operator/config/rbac/role_binding.yaml +++ b/testdata/go/v4/memcached-operator/config/rbac/role_binding.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: - app.kubernetes.io/name: clusterrolebinding - app.kubernetes.io/instance: manager-rolebinding - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: manager-rolebinding roleRef: diff --git a/testdata/go/v4/memcached-operator/config/rbac/service_account.yaml b/testdata/go/v4/memcached-operator/config/rbac/service_account.yaml index 9712cf045e..242874a566 100644 --- a/testdata/go/v4/memcached-operator/config/rbac/service_account.yaml +++ b/testdata/go/v4/memcached-operator/config/rbac/service_account.yaml @@ -2,11 +2,7 @@ apiVersion: v1 kind: ServiceAccount metadata: labels: - app.kubernetes.io/name: serviceaccount - app.kubernetes.io/instance: controller-manager-sa - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: controller-manager namespace: system diff --git a/testdata/go/v4/memcached-operator/config/webhook/service.yaml b/testdata/go/v4/memcached-operator/config/webhook/service.yaml index a3e66d9772..ed877e824d 100644 --- a/testdata/go/v4/memcached-operator/config/webhook/service.yaml +++ b/testdata/go/v4/memcached-operator/config/webhook/service.yaml @@ -2,11 +2,7 @@ apiVersion: v1 kind: Service metadata: labels: - app.kubernetes.io/name: service - app.kubernetes.io/instance: webhook-service - app.kubernetes.io/component: webhook - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: webhook-service namespace: system diff --git a/testdata/go/v4/memcached-operator/go.mod b/testdata/go/v4/memcached-operator/go.mod index 08b4352ee7..157057e5af 100644 --- a/testdata/go/v4/memcached-operator/go.mod +++ b/testdata/go/v4/memcached-operator/go.mod @@ -5,10 +5,10 @@ go 1.21 require ( github.com/onsi/ginkgo/v2 v2.14.0 github.com/onsi/gomega v1.30.0 - k8s.io/api v0.29.0 - k8s.io/apimachinery v0.29.0 - k8s.io/client-go v0.29.0 - sigs.k8s.io/controller-runtime v0.17.0 + k8s.io/api v0.29.2 + k8s.io/apimachinery v0.29.2 + k8s.io/client-go v0.29.2 + sigs.k8s.io/controller-runtime v0.17.3 ) require ( @@ -62,8 +62,8 @@ require ( gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.29.0 // indirect - k8s.io/component-base v0.29.0 // indirect + k8s.io/apiextensions-apiserver v0.29.2 // indirect + k8s.io/component-base v0.29.2 // indirect k8s.io/klog/v2 v2.110.1 // indirect k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect diff --git a/testdata/go/v4/memcached-operator/go.sum b/testdata/go/v4/memcached-operator/go.sum index 57b4fa9962..9b3607f06f 100644 --- a/testdata/go/v4/memcached-operator/go.sum +++ b/testdata/go/v4/memcached-operator/go.sum @@ -179,24 +179,24 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.29.0 h1:NiCdQMY1QOp1H8lfRyeEf8eOwV6+0xA6XEE44ohDX2A= -k8s.io/api v0.29.0/go.mod h1:sdVmXoz2Bo/cb77Pxi71IPTSErEW32xa4aXwKH7gfBA= -k8s.io/apiextensions-apiserver v0.29.0 h1:0VuspFG7Hj+SxyF/Z/2T0uFbI5gb5LRgEyUVE3Q4lV0= -k8s.io/apiextensions-apiserver v0.29.0/go.mod h1:TKmpy3bTS0mr9pylH0nOt/QzQRrW7/h7yLdRForMZwc= -k8s.io/apimachinery v0.29.0 h1:+ACVktwyicPz0oc6MTMLwa2Pw3ouLAfAon1wPLtG48o= -k8s.io/apimachinery v0.29.0/go.mod h1:eVBxQ/cwiJxH58eK/jd/vAk4mrxmVlnpBH5J2GbMeis= -k8s.io/client-go v0.29.0 h1:KmlDtFcrdUzOYrBhXHgKw5ycWzc3ryPX5mQe0SkG3y8= -k8s.io/client-go v0.29.0/go.mod h1:yLkXH4HKMAywcrD82KMSmfYg2DlE8mepPR4JGSo5n38= -k8s.io/component-base v0.29.0 h1:T7rjd5wvLnPBV1vC4zWd/iWRbV8Mdxs+nGaoaFzGw3s= -k8s.io/component-base v0.29.0/go.mod h1:sADonFTQ9Zc9yFLghpDpmNXEdHyQmFIGbiuZbqAXQ1M= +k8s.io/api v0.29.2 h1:hBC7B9+MU+ptchxEqTNW2DkUosJpp1P+Wn6YncZ474A= +k8s.io/api v0.29.2/go.mod h1:sdIaaKuU7P44aoyyLlikSLayT6Vb7bvJNCX105xZXY0= +k8s.io/apiextensions-apiserver v0.29.2 h1:UK3xB5lOWSnhaCk0RFZ0LUacPZz9RY4wi/yt2Iu+btg= +k8s.io/apiextensions-apiserver v0.29.2/go.mod h1:aLfYjpA5p3OwtqNXQFkhJ56TB+spV8Gc4wfMhUA3/b8= +k8s.io/apimachinery v0.29.2 h1:EWGpfJ856oj11C52NRCHuU7rFDwxev48z+6DSlGNsV8= +k8s.io/apimachinery v0.29.2/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU= +k8s.io/client-go v0.29.2 h1:FEg85el1TeZp+/vYJM7hkDlSTFZ+c5nnK44DJ4FyoRg= +k8s.io/client-go v0.29.2/go.mod h1:knlvFZE58VpqbQpJNbCbctTVXcd35mMyAAwBdpt4jrA= +k8s.io/component-base v0.29.2 h1:lpiLyuvPA9yV1aQwGLENYyK7n/8t6l3nn3zAtFTJYe8= +k8s.io/component-base v0.29.2/go.mod h1:BfB3SLrefbZXiBfbM+2H1dlat21Uewg/5qtKOl8degM= k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0= k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo= k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780= k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/controller-runtime v0.17.0 h1:fjJQf8Ukya+VjogLO6/bNX9HE6Y2xpsO5+fyS26ur/s= -sigs.k8s.io/controller-runtime v0.17.0/go.mod h1:+MngTvIQQQhfXtwfdGw/UOQ/aIaqsYywfCINOtwMO/s= +sigs.k8s.io/controller-runtime v0.17.3 h1:65QmN7r3FWgTxDMz9fvGnO1kbf2nu+acg9p2R9oYYYk= +sigs.k8s.io/controller-runtime v0.17.3/go.mod h1:N0jpP5Lo7lMTF9aL56Z/B2oWBJjey6StQM0jRbKQXtY= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= diff --git a/testdata/go/v4/memcached-operator/internal/controller/memcached_controller.go b/testdata/go/v4/memcached-operator/internal/controller/memcached_controller.go index a48b33fdce..eeecdb3562 100644 --- a/testdata/go/v4/memcached-operator/internal/controller/memcached_controller.go +++ b/testdata/go/v4/memcached-operator/internal/controller/memcached_controller.go @@ -45,7 +45,7 @@ const memcachedFinalizer = "cache.example.com/finalizer" const ( // typeAvailableMemcached represents the status of the Deployment reconciliation typeAvailableMemcached = "Available" - // typeDegradedMemcached represents the status used when the custom resource is deleted and the finalizer operations are must to occur. + // typeDegradedMemcached represents the status used when the custom resource is deleted and the finalizer operations are yet to occur. typeDegradedMemcached = "Degraded" ) @@ -77,7 +77,7 @@ type MemcachedReconciler struct { // For further info: // - About Operator Pattern: https://kubernetes.io/docs/concepts/extend-kubernetes/operator/ // - About Controllers: https://kubernetes.io/docs/concepts/architecture/controller/ -// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.17.0/pkg/reconcile +// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.17.3/pkg/reconcile func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { log := log.FromContext(ctx) @@ -88,7 +88,7 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( err := r.Get(ctx, req.NamespacedName, memcached) if err != nil { if apierrors.IsNotFound(err) { - // If the custom resource is not found then, it usually means that it was deleted or not created + // If the custom resource is not found then it usually means that it was deleted or not created // In this way, we will stop the reconciliation log.Info("memcached resource not found. Ignoring since object must be deleted") return ctrl.Result{}, nil @@ -98,7 +98,7 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( return ctrl.Result{}, err } - // Let's just set the status as Unknown when no status are available + // Let's just set the status as Unknown when no status is available if memcached.Status.Conditions == nil || len(memcached.Status.Conditions) == 0 { meta.SetStatusCondition(&memcached.Status.Conditions, metav1.Condition{Type: typeAvailableMemcached, Status: metav1.ConditionUnknown, Reason: "Reconciling", Message: "Starting reconciliation"}) if err = r.Status().Update(ctx, memcached); err != nil { @@ -106,9 +106,9 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( return ctrl.Result{}, err } - // Let's re-fetch the memcached Custom Resource after update the status + // Let's re-fetch the memcached Custom Resource after updating the status // so that we have the latest state of the resource on the cluster and we will avoid - // raise the issue "the object has been modified, please apply + // raising the error "the object has been modified, please apply // your changes to the latest version and try again" which would re-trigger the reconciliation // if we try to update it again in the following operations if err := r.Get(ctx, req.NamespacedName, memcached); err != nil { @@ -118,7 +118,7 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( } // Let's add a finalizer. Then, we can define some operations which should - // occurs before the custom resource to be deleted. + // occur before the custom resource is deleted. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers if !controllerutil.ContainsFinalizer(memcached, memcachedFinalizer) { log.Info("Adding Finalizer for Memcached") @@ -140,7 +140,7 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( if controllerutil.ContainsFinalizer(memcached, memcachedFinalizer) { log.Info("Performing Finalizer Operations for Memcached before delete CR") - // Let's add here an status "Downgrade" to define that this resource begin its process to be terminated. + // Let's add here a status "Downgrade" to reflect that this resource began its process to be terminated. meta.SetStatusCondition(&memcached.Status.Conditions, metav1.Condition{Type: typeDegradedMemcached, Status: metav1.ConditionUnknown, Reason: "Finalizing", Message: fmt.Sprintf("Performing finalizer operations for the custom resource: %s ", memcached.Name)}) @@ -150,7 +150,7 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( return ctrl.Result{}, err } - // Perform all operations required before remove the finalizer and allow + // Perform all operations required before removing the finalizer and allow // the Kubernetes API to remove the custom resource. r.doFinalizerOperationsForMemcached(memcached) @@ -158,9 +158,9 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( // then you need to ensure that all worked fine before deleting and updating the Downgrade status // otherwise, you should requeue here. - // Re-fetch the memcached Custom Resource before update the status + // Re-fetch the memcached Custom Resource before updating the status // so that we have the latest state of the resource on the cluster and we will avoid - // raise the issue "the object has been modified, please apply + // raising the error "the object has been modified, please apply // your changes to the latest version and try again" which would re-trigger the reconciliation if err := r.Get(ctx, req.NamespacedName, memcached); err != nil { log.Error(err, "Failed to re-fetch memcached") @@ -230,8 +230,8 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( return ctrl.Result{}, err } - // The CRD API is defining that the Memcached type, have a MemcachedSpec.Size field - // to set the quantity of Deployment instances is the desired state on the cluster. + // The CRD API defines that the Memcached type have a MemcachedSpec.Size field + // to set the quantity of Deployment instances to the desired state on the cluster. // Therefore, the following code will ensure the Deployment size is the same as defined // via the Size spec of the Custom Resource which we are reconciling. size := memcached.Spec.Size @@ -241,9 +241,9 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( log.Error(err, "Failed to update Deployment", "Deployment.Namespace", found.Namespace, "Deployment.Name", found.Name) - // Re-fetch the memcached Custom Resource before update the status + // Re-fetch the memcached Custom Resource before updating the status // so that we have the latest state of the resource on the cluster and we will avoid - // raise the issue "the object has been modified, please apply + // raising the error "the object has been modified, please apply // your changes to the latest version and try again" which would re-trigger the reconciliation if err := r.Get(ctx, req.NamespacedName, memcached); err != nil { log.Error(err, "Failed to re-fetch memcached") @@ -289,9 +289,9 @@ func (r *MemcachedReconciler) doFinalizerOperationsForMemcached(cr *cachev1alpha // of finalizers include performing backups and deleting // resources that are not owned by this CR, like a PVC. - // Note: It is not recommended to use finalizers with the purpose of delete resources which are + // Note: It is not recommended to use finalizers with the purpose of deleting resources which are // created and managed in the reconciliation. These ones, such as the Deployment created on this reconcile, - // are defined as depended of the custom resource. See that we use the method ctrl.SetControllerReference. + // are defined as dependent of the custom resource. See that we use the method ctrl.SetControllerReference. // to set the ownerRef which means that the Deployment will be deleted by the Kubernetes API. // More info: https://kubernetes.io/docs/tasks/administer-cluster/use-cascading-deletion/ @@ -419,11 +419,9 @@ func labelsForMemcached(name string) map[string]string { if err == nil { imageTag = strings.Split(image, ":")[1] } - return map[string]string{"app.kubernetes.io/name": "Memcached", - "app.kubernetes.io/instance": name, + return map[string]string{"app.kubernetes.io/name": "memcached-operator", "app.kubernetes.io/version": imageTag, - "app.kubernetes.io/part-of": "memcached-operator", - "app.kubernetes.io/created-by": "controller-manager", + "app.kubernetes.io/managed-by": "MemcachedController", } } diff --git a/testdata/go/v4/monitoring/memcached-operator/.gitignore b/testdata/go/v4/monitoring/memcached-operator/.gitignore index 7a7feec504..ada68ff086 100644 --- a/testdata/go/v4/monitoring/memcached-operator/.gitignore +++ b/testdata/go/v4/monitoring/memcached-operator/.gitignore @@ -1,4 +1,3 @@ - # Binaries for programs and plugins *.exe *.exe~ diff --git a/testdata/go/v4/monitoring/memcached-operator/.golangci.yml b/testdata/go/v4/monitoring/memcached-operator/.golangci.yml index aed8644d11..ca69a11f6f 100644 --- a/testdata/go/v4/monitoring/memcached-operator/.golangci.yml +++ b/testdata/go/v4/monitoring/memcached-operator/.golangci.yml @@ -1,5 +1,5 @@ run: - deadline: 5m + timeout: 5m allow-parallel-runners: true issues: diff --git a/testdata/go/v4/monitoring/memcached-operator/Makefile b/testdata/go/v4/monitoring/memcached-operator/Makefile index 1acc276f26..8ca56b4f83 100644 --- a/testdata/go/v4/monitoring/memcached-operator/Makefile +++ b/testdata/go/v4/monitoring/memcached-operator/Makefile @@ -49,7 +49,6 @@ endif # Set the Operator SDK version to use. By default, what is installed on the system is used. # This is useful for CI or a project to utilize a specific version of the operator-sdk toolkit. OPERATOR_SDK_VERSION ?= v1.34.0 - # Image URL to use all building/pushing image targets IMG ?= controller:latest # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. @@ -172,12 +171,8 @@ docker-buildx: ## Build and push docker image for the manager for cross-platform .PHONY: build-installer build-installer: manifests generate kustomize ## Generate a consolidated YAML with CRDs and deployment. mkdir -p dist - @if [ -d "config/crd" ]; then \ - $(KUSTOMIZE) build config/crd > dist/install.yaml; \ - fi - echo "---" >> dist/install.yaml # Add a document separator before appending cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} - $(KUSTOMIZE) build config/default >> dist/install.yaml + $(KUSTOMIZE) build config/default > dist/install.yaml ##@ Deployment @@ -234,8 +229,8 @@ GOLANGCI_LINT = $(LOCALBIN)/golangci-lint-$(GOLANGCI_LINT_VERSION) ## Tool Versions KUSTOMIZE_VERSION ?= v5.3.0 CONTROLLER_TOOLS_VERSION ?= v0.14.0 -ENVTEST_VERSION ?= latest -GOLANGCI_LINT_VERSION ?= v1.54.2 +ENVTEST_VERSION ?= release-0.17 +GOLANGCI_LINT_VERSION ?= v1.57.2 .PHONY: kustomize kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. diff --git a/testdata/go/v4/monitoring/memcached-operator/README.md b/testdata/go/v4/monitoring/memcached-operator/README.md index 844ca19f13..84102c6ed0 100644 --- a/testdata/go/v4/monitoring/memcached-operator/README.md +++ b/testdata/go/v4/monitoring/memcached-operator/README.md @@ -19,8 +19,8 @@ make docker-build docker-push IMG=/memcached-operator:tag ``` -**NOTE:** This image ought to be published in the personal registry you specified. -And it is required to have access to pull the image from the working environment. +**NOTE:** This image ought to be published in the personal registry you specified. +And it is required to have access to pull the image from the working environment. Make sure you have the proper permission to the registry if the above commands don’t work. **Install the CRDs into the cluster:** @@ -35,7 +35,7 @@ make install make deploy IMG=/memcached-operator:tag ``` -> **NOTE**: If you encounter RBAC errors, you may need to grant yourself cluster-admin +> **NOTE**: If you encounter RBAC errors, you may need to grant yourself cluster-admin privileges or be logged in as admin. **Create instances of your solution** diff --git a/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml index e7d0a16486..1ba1d5e9c1 100644 --- a/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml @@ -2,12 +2,8 @@ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: labels: - app.kubernetes.io/component: metrics - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: controller-manager-metrics-monitor app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: servicemonitor - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator control-plane: controller-manager name: memcached-operator-controller-manager-metrics-monitor spec: diff --git a/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml index d1726620fd..3080334458 100644 --- a/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml @@ -3,12 +3,8 @@ kind: Service metadata: creationTimestamp: null labels: - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: controller-manager-metrics-service app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: service - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator control-plane: controller-manager name: memcached-operator-controller-manager-metrics-service spec: diff --git a/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-memcached-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-memcached-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 0000000000..bf4cd4b9d1 --- /dev/null +++ b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-memcached-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,27 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: memcached-operator + name: memcached-operator-memcached-editor-role +rules: +- apiGroups: + - cache.example.com + resources: + - memcacheds + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cache.example.com + resources: + - memcacheds/status + verbs: + - get diff --git a/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-memcached-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-memcached-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 0000000000..7ec956824b --- /dev/null +++ b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-memcached-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,23 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: memcached-operator + name: memcached-operator-memcached-viewer-role +rules: +- apiGroups: + - cache.example.com + resources: + - memcacheds + verbs: + - get + - list + - watch +- apiGroups: + - cache.example.com + resources: + - memcacheds/status + verbs: + - get diff --git a/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml index 6f58e964d3..4b4c5c860b 100644 --- a/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -3,12 +3,8 @@ kind: ClusterRole metadata: creationTimestamp: null labels: - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: metrics-reader app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: clusterrole - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator name: memcached-operator-metrics-reader rules: - nonResourceURLs: diff --git a/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-webhook-service_v1_service.yaml b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-webhook-service_v1_service.yaml index 2dfdaccdb9..5c89764375 100644 --- a/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-webhook-service_v1_service.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator-webhook-service_v1_service.yaml @@ -3,12 +3,8 @@ kind: Service metadata: creationTimestamp: null labels: - app.kubernetes.io/component: webhook - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: webhook-service app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: service - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator name: memcached-operator-webhook-service spec: ports: diff --git a/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator.clusterserviceversion.yaml b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator.clusterserviceversion.yaml index b2c6892276..27edf1fb04 100644 --- a/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator.clusterserviceversion.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/bundle/manifests/memcached-operator.clusterserviceversion.yaml @@ -133,12 +133,8 @@ spec: serviceAccountName: memcached-operator-controller-manager deployments: - label: - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: controller-manager app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: deployment - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator control-plane: controller-manager name: memcached-operator-controller-manager spec: @@ -199,7 +195,7 @@ spec: - --upstream=http://127.0.0.1:8080/ - --logtostderr=true - --v=0 - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0 name: kube-rbac-proxy ports: - containerPort: 8443 diff --git a/testdata/go/v4/monitoring/memcached-operator/cmd/main.go b/testdata/go/v4/monitoring/memcached-operator/cmd/main.go index 89a1a9f6ca..395f575ee5 100644 --- a/testdata/go/v4/monitoring/memcached-operator/cmd/main.go +++ b/testdata/go/v4/monitoring/memcached-operator/cmd/main.go @@ -84,7 +84,7 @@ func main() { // if the enable-http2 flag is false (the default), http/2 should be disabled // due to its vulnerabilities. More specifically, disabling http/2 will - // prevent from being vulnerable to the HTTP/2 Stream Cancelation and + // prevent from being vulnerable to the HTTP/2 Stream Cancellation and // Rapid Reset CVEs. For more information see: // - https://github.com/advisories/GHSA-qppj-fm5r-hxr3 // - https://github.com/advisories/GHSA-4374-p667-p6c8 diff --git a/testdata/go/v4/monitoring/memcached-operator/config/certmanager/certificate.yaml b/testdata/go/v4/monitoring/memcached-operator/config/certmanager/certificate.yaml index cee271ecdc..88f59388ac 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/certmanager/certificate.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/certmanager/certificate.yaml @@ -5,11 +5,7 @@ apiVersion: cert-manager.io/v1 kind: Issuer metadata: labels: - app.kubernetes.io/name: certificate - app.kubernetes.io/instance: serving-cert - app.kubernetes.io/component: certificate - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: selfsigned-issuer namespace: system diff --git a/testdata/go/v4/monitoring/memcached-operator/config/default/manager_auth_proxy_patch.yaml b/testdata/go/v4/monitoring/memcached-operator/config/default/manager_auth_proxy_patch.yaml index 70c3437f4b..4c3c27602f 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/default/manager_auth_proxy_patch.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/default/manager_auth_proxy_patch.yaml @@ -15,7 +15,7 @@ spec: capabilities: drop: - "ALL" - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0 args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" diff --git a/testdata/go/v4/monitoring/memcached-operator/config/default/webhookcainjection_patch.yaml b/testdata/go/v4/monitoring/memcached-operator/config/default/webhookcainjection_patch.yaml index 077b38032c..95e0afe09d 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/default/webhookcainjection_patch.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/default/webhookcainjection_patch.yaml @@ -4,11 +4,7 @@ apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: labels: - app.kubernetes.io/name: mutatingwebhookconfiguration - app.kubernetes.io/instance: mutating-webhook-configuration - app.kubernetes.io/component: webhook - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: mutating-webhook-configuration annotations: diff --git a/testdata/go/v4/monitoring/memcached-operator/config/manager/manager.yaml b/testdata/go/v4/monitoring/memcached-operator/config/manager/manager.yaml index b86c25311e..64087dc28c 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/manager/manager.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/manager/manager.yaml @@ -3,11 +3,7 @@ kind: Namespace metadata: labels: control-plane: controller-manager - app.kubernetes.io/name: namespace - app.kubernetes.io/instance: system - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: system --- @@ -18,11 +14,7 @@ metadata: namespace: system labels: control-plane: controller-manager - app.kubernetes.io/name: deployment - app.kubernetes.io/instance: controller-manager - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize spec: selector: diff --git a/testdata/go/v4/monitoring/memcached-operator/config/prometheus/monitor.yaml b/testdata/go/v4/monitoring/memcached-operator/config/prometheus/monitor.yaml index 6b9c71cb9a..ad29d61499 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/prometheus/monitor.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/prometheus/monitor.yaml @@ -4,11 +4,7 @@ kind: ServiceMonitor metadata: labels: control-plane: controller-manager - app.kubernetes.io/name: servicemonitor - app.kubernetes.io/instance: controller-manager-metrics-monitor - app.kubernetes.io/component: metrics - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: controller-manager-metrics-monitor namespace: system diff --git a/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_client_clusterrole.yaml b/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_client_clusterrole.yaml index a2a3b44315..3b93efaf42 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_client_clusterrole.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_client_clusterrole.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: metrics-reader - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: metrics-reader rules: diff --git a/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_role.yaml b/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_role.yaml index b7c9c6f4a8..4cfaa83cfa 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_role.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_role.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: proxy-role - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: proxy-role rules: diff --git a/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_role_binding.yaml b/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_role_binding.yaml index a4a1a852c7..4eb2764345 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_role_binding.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_role_binding.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: - app.kubernetes.io/name: clusterrolebinding - app.kubernetes.io/instance: proxy-rolebinding - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: proxy-rolebinding roleRef: diff --git a/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_service.yaml b/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_service.yaml index ecaef24135..3e75af73b0 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_service.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/rbac/auth_proxy_service.yaml @@ -3,11 +3,7 @@ kind: Service metadata: labels: control-plane: controller-manager - app.kubernetes.io/name: service - app.kubernetes.io/instance: controller-manager-metrics-service - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: controller-manager-metrics-service namespace: system diff --git a/testdata/go/v4/monitoring/memcached-operator/config/rbac/kustomization.yaml b/testdata/go/v4/monitoring/memcached-operator/config/rbac/kustomization.yaml index 49c16e2e79..1195238097 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/rbac/kustomization.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/rbac/kustomization.yaml @@ -18,3 +18,9 @@ resources: - auth_proxy_role.yaml - auth_proxy_role_binding.yaml - auth_proxy_client_clusterrole.yaml +# For each CRD, "Editor" and "Viewer" roles are scaffolded by +# default, aiding admins in cluster management. Those roles are +# not used by the Project itself. You can comment the following lines +# if you do not want those helpers be installed with your Project. +- memcached_editor_role.yaml +- memcached_viewer_role.yaml diff --git a/testdata/go/v4/monitoring/memcached-operator/config/rbac/leader_election_role.yaml b/testdata/go/v4/monitoring/memcached-operator/config/rbac/leader_election_role.yaml index ce7088ecbd..d085625358 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/rbac/leader_election_role.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/rbac/leader_election_role.yaml @@ -3,11 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: labels: - app.kubernetes.io/name: role - app.kubernetes.io/instance: leader-election-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: leader-election-role rules: diff --git a/testdata/go/v4/monitoring/memcached-operator/config/rbac/leader_election_role_binding.yaml b/testdata/go/v4/monitoring/memcached-operator/config/rbac/leader_election_role_binding.yaml index 4ee27a3d01..4fb0caf652 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/rbac/leader_election_role_binding.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/rbac/leader_election_role_binding.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: labels: - app.kubernetes.io/name: rolebinding - app.kubernetes.io/instance: leader-election-rolebinding - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: leader-election-rolebinding roleRef: diff --git a/testdata/go/v4/monitoring/memcached-operator/config/rbac/memcached_editor_role.yaml b/testdata/go/v4/monitoring/memcached-operator/config/rbac/memcached_editor_role.yaml index cbc4577b2c..aff7adbe77 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/rbac/memcached_editor_role.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/rbac/memcached_editor_role.yaml @@ -3,11 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: memcached-editor-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: memcached-editor-role rules: diff --git a/testdata/go/v4/monitoring/memcached-operator/config/rbac/memcached_viewer_role.yaml b/testdata/go/v4/monitoring/memcached-operator/config/rbac/memcached_viewer_role.yaml index b8977ec271..373da88753 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/rbac/memcached_viewer_role.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/rbac/memcached_viewer_role.yaml @@ -3,11 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: memcached-viewer-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: memcached-viewer-role rules: diff --git a/testdata/go/v4/monitoring/memcached-operator/config/rbac/role_binding.yaml b/testdata/go/v4/monitoring/memcached-operator/config/rbac/role_binding.yaml index cc2b714d50..4585b7d8a7 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/rbac/role_binding.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/rbac/role_binding.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: - app.kubernetes.io/name: clusterrolebinding - app.kubernetes.io/instance: manager-rolebinding - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: manager-rolebinding roleRef: diff --git a/testdata/go/v4/monitoring/memcached-operator/config/rbac/service_account.yaml b/testdata/go/v4/monitoring/memcached-operator/config/rbac/service_account.yaml index 9712cf045e..242874a566 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/rbac/service_account.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/rbac/service_account.yaml @@ -2,11 +2,7 @@ apiVersion: v1 kind: ServiceAccount metadata: labels: - app.kubernetes.io/name: serviceaccount - app.kubernetes.io/instance: controller-manager-sa - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: controller-manager namespace: system diff --git a/testdata/go/v4/monitoring/memcached-operator/config/webhook/service.yaml b/testdata/go/v4/monitoring/memcached-operator/config/webhook/service.yaml index a3e66d9772..ed877e824d 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/webhook/service.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/webhook/service.yaml @@ -2,11 +2,7 @@ apiVersion: v1 kind: Service metadata: labels: - app.kubernetes.io/name: service - app.kubernetes.io/instance: webhook-service - app.kubernetes.io/component: webhook - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: webhook-service namespace: system diff --git a/testdata/go/v4/monitoring/memcached-operator/go.mod b/testdata/go/v4/monitoring/memcached-operator/go.mod index dd182d7f42..720a014fe0 100644 --- a/testdata/go/v4/monitoring/memcached-operator/go.mod +++ b/testdata/go/v4/monitoring/memcached-operator/go.mod @@ -7,10 +7,10 @@ require ( github.com/onsi/gomega v1.30.0 github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.59.0 github.com/prometheus/client_golang v1.18.0 - k8s.io/api v0.29.0 - k8s.io/apimachinery v0.29.0 - k8s.io/client-go v0.29.0 - sigs.k8s.io/controller-runtime v0.17.0 + k8s.io/api v0.29.2 + k8s.io/apimachinery v0.29.2 + k8s.io/client-go v0.29.2 + sigs.k8s.io/controller-runtime v0.17.3 ) require ( @@ -65,8 +65,8 @@ require ( gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.29.0 // indirect - k8s.io/component-base v0.29.0 // indirect + k8s.io/apiextensions-apiserver v0.29.2 // indirect + k8s.io/component-base v0.29.2 // indirect k8s.io/klog/v2 v2.110.1 // indirect k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect diff --git a/testdata/go/v4/monitoring/memcached-operator/go.sum b/testdata/go/v4/monitoring/memcached-operator/go.sum index 2fc77db612..b3ccadc058 100644 --- a/testdata/go/v4/monitoring/memcached-operator/go.sum +++ b/testdata/go/v4/monitoring/memcached-operator/go.sum @@ -183,24 +183,24 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.29.0 h1:NiCdQMY1QOp1H8lfRyeEf8eOwV6+0xA6XEE44ohDX2A= -k8s.io/api v0.29.0/go.mod h1:sdVmXoz2Bo/cb77Pxi71IPTSErEW32xa4aXwKH7gfBA= -k8s.io/apiextensions-apiserver v0.29.0 h1:0VuspFG7Hj+SxyF/Z/2T0uFbI5gb5LRgEyUVE3Q4lV0= -k8s.io/apiextensions-apiserver v0.29.0/go.mod h1:TKmpy3bTS0mr9pylH0nOt/QzQRrW7/h7yLdRForMZwc= -k8s.io/apimachinery v0.29.0 h1:+ACVktwyicPz0oc6MTMLwa2Pw3ouLAfAon1wPLtG48o= -k8s.io/apimachinery v0.29.0/go.mod h1:eVBxQ/cwiJxH58eK/jd/vAk4mrxmVlnpBH5J2GbMeis= -k8s.io/client-go v0.29.0 h1:KmlDtFcrdUzOYrBhXHgKw5ycWzc3ryPX5mQe0SkG3y8= -k8s.io/client-go v0.29.0/go.mod h1:yLkXH4HKMAywcrD82KMSmfYg2DlE8mepPR4JGSo5n38= -k8s.io/component-base v0.29.0 h1:T7rjd5wvLnPBV1vC4zWd/iWRbV8Mdxs+nGaoaFzGw3s= -k8s.io/component-base v0.29.0/go.mod h1:sADonFTQ9Zc9yFLghpDpmNXEdHyQmFIGbiuZbqAXQ1M= +k8s.io/api v0.29.2 h1:hBC7B9+MU+ptchxEqTNW2DkUosJpp1P+Wn6YncZ474A= +k8s.io/api v0.29.2/go.mod h1:sdIaaKuU7P44aoyyLlikSLayT6Vb7bvJNCX105xZXY0= +k8s.io/apiextensions-apiserver v0.29.2 h1:UK3xB5lOWSnhaCk0RFZ0LUacPZz9RY4wi/yt2Iu+btg= +k8s.io/apiextensions-apiserver v0.29.2/go.mod h1:aLfYjpA5p3OwtqNXQFkhJ56TB+spV8Gc4wfMhUA3/b8= +k8s.io/apimachinery v0.29.2 h1:EWGpfJ856oj11C52NRCHuU7rFDwxev48z+6DSlGNsV8= +k8s.io/apimachinery v0.29.2/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU= +k8s.io/client-go v0.29.2 h1:FEg85el1TeZp+/vYJM7hkDlSTFZ+c5nnK44DJ4FyoRg= +k8s.io/client-go v0.29.2/go.mod h1:knlvFZE58VpqbQpJNbCbctTVXcd35mMyAAwBdpt4jrA= +k8s.io/component-base v0.29.2 h1:lpiLyuvPA9yV1aQwGLENYyK7n/8t6l3nn3zAtFTJYe8= +k8s.io/component-base v0.29.2/go.mod h1:BfB3SLrefbZXiBfbM+2H1dlat21Uewg/5qtKOl8degM= k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0= k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo= k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780= k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/controller-runtime v0.17.0 h1:fjJQf8Ukya+VjogLO6/bNX9HE6Y2xpsO5+fyS26ur/s= -sigs.k8s.io/controller-runtime v0.17.0/go.mod h1:+MngTvIQQQhfXtwfdGw/UOQ/aIaqsYywfCINOtwMO/s= +sigs.k8s.io/controller-runtime v0.17.3 h1:65QmN7r3FWgTxDMz9fvGnO1kbf2nu+acg9p2R9oYYYk= +sigs.k8s.io/controller-runtime v0.17.3/go.mod h1:N0jpP5Lo7lMTF9aL56Z/B2oWBJjey6StQM0jRbKQXtY= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= diff --git a/testdata/go/v4/monitoring/memcached-operator/internal/controller/memcached_controller.go b/testdata/go/v4/monitoring/memcached-operator/internal/controller/memcached_controller.go index 7a71530d51..59426653c1 100644 --- a/testdata/go/v4/monitoring/memcached-operator/internal/controller/memcached_controller.go +++ b/testdata/go/v4/monitoring/memcached-operator/internal/controller/memcached_controller.go @@ -51,7 +51,7 @@ const namespace = "memcached-operator-system" const ( // typeAvailableMemcached represents the status of the Deployment reconciliation typeAvailableMemcached = "Available" - // typeDegradedMemcached represents the status used when the custom resource is deleted and the finalizer operations are must to occur. + // typeDegradedMemcached represents the status used when the custom resource is deleted and the finalizer operations are yet to occur. typeDegradedMemcached = "Degraded" ) @@ -84,7 +84,7 @@ type MemcachedReconciler struct { // For further info: // - About Operator Pattern: https://kubernetes.io/docs/concepts/extend-kubernetes/operator/ // - About Controllers: https://kubernetes.io/docs/concepts/architecture/controller/ -// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.17.0/pkg/reconcile +// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.17.3/pkg/reconcile func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { log := log.FromContext(ctx) @@ -119,7 +119,7 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( err = r.Get(ctx, req.NamespacedName, memcached) if err != nil { if apierrors.IsNotFound(err) { - // If the custom resource is not found then, it usually means that it was deleted or not created + // If the custom resource is not found then it usually means that it was deleted or not created // In this way, we will stop the reconciliation log.Info("memcached resource not found. Ignoring since object must be deleted") return ctrl.Result{}, nil @@ -129,7 +129,7 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( return ctrl.Result{}, err } - // Let's just set the status as Unknown when no status are available + // Let's just set the status as Unknown when no status is available if memcached.Status.Conditions == nil || len(memcached.Status.Conditions) == 0 { meta.SetStatusCondition(&memcached.Status.Conditions, metav1.Condition{Type: typeAvailableMemcached, Status: metav1.ConditionUnknown, Reason: "Reconciling", Message: "Starting reconciliation"}) if err = r.Status().Update(ctx, memcached); err != nil { @@ -137,9 +137,9 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( return ctrl.Result{}, err } - // Let's re-fetch the memcached Custom Resource after update the status + // Let's re-fetch the memcached Custom Resource after updating the status // so that we have the latest state of the resource on the cluster and we will avoid - // raise the issue "the object has been modified, please apply + // raising the error "the object has been modified, please apply // your changes to the latest version and try again" which would re-trigger the reconciliation // if we try to update it again in the following operations if err := r.Get(ctx, req.NamespacedName, memcached); err != nil { @@ -149,7 +149,7 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( } // Let's add a finalizer. Then, we can define some operations which should - // occurs before the custom resource to be deleted. + // occur before the custom resource is deleted. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers if !controllerutil.ContainsFinalizer(memcached, memcachedFinalizer) { log.Info("Adding Finalizer for Memcached") @@ -171,7 +171,7 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( if controllerutil.ContainsFinalizer(memcached, memcachedFinalizer) { log.Info("Performing Finalizer Operations for Memcached before delete CR") - // Let's add here an status "Downgrade" to define that this resource begin its process to be terminated. + // Let's add here a status "Downgrade" to reflect that this resource began its process to be terminated. meta.SetStatusCondition(&memcached.Status.Conditions, metav1.Condition{Type: typeDegradedMemcached, Status: metav1.ConditionUnknown, Reason: "Finalizing", Message: fmt.Sprintf("Performing finalizer operations for the custom resource: %s ", memcached.Name)}) @@ -181,7 +181,7 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( return ctrl.Result{}, err } - // Perform all operations required before remove the finalizer and allow + // Perform all operations required before removing the finalizer and allow // the Kubernetes API to remove the custom resource. r.doFinalizerOperationsForMemcached(memcached) @@ -189,9 +189,9 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( // then you need to ensure that all worked fine before deleting and updating the Downgrade status // otherwise, you should requeue here. - // Re-fetch the memcached Custom Resource before update the status + // Re-fetch the memcached Custom Resource before updating the status // so that we have the latest state of the resource on the cluster and we will avoid - // raise the issue "the object has been modified, please apply + // raising the error "the object has been modified, please apply // your changes to the latest version and try again" which would re-trigger the reconciliation if err := r.Get(ctx, req.NamespacedName, memcached); err != nil { log.Error(err, "Failed to re-fetch memcached") @@ -261,8 +261,8 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( return ctrl.Result{}, err } - // The CRD API is defining that the Memcached type, have a MemcachedSpec.Size field - // to set the quantity of Deployment instances is the desired state on the cluster. + // The CRD API defines that the Memcached type have a MemcachedSpec.Size field + // to set the quantity of Deployment instances to the desired state on the cluster. // Therefore, the following code will ensure the Deployment size is the same as defined // via the Size spec of the Custom Resource which we are reconciling. size := memcached.Spec.Size @@ -274,9 +274,9 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( log.Error(err, "Failed to update Deployment", "Deployment.Namespace", found.Namespace, "Deployment.Name", found.Name) - // Re-fetch the memcached Custom Resource before update the status + // Re-fetch the memcached Custom Resource before updating the status // so that we have the latest state of the resource on the cluster and we will avoid - // raise the issue "the object has been modified, please apply + // raising the error "the object has been modified, please apply // your changes to the latest version and try again" which would re-trigger the reconciliation if err := r.Get(ctx, req.NamespacedName, memcached); err != nil { log.Error(err, "Failed to re-fetch memcached") @@ -322,9 +322,9 @@ func (r *MemcachedReconciler) doFinalizerOperationsForMemcached(cr *cachev1alpha // of finalizers include performing backups and deleting // resources that are not owned by this CR, like a PVC. - // Note: It is not recommended to use finalizers with the purpose of delete resources which are + // Note: It is not recommended to use finalizers with the purpose of deleting resources which are // created and managed in the reconciliation. These ones, such as the Deployment created on this reconcile, - // are defined as depended of the custom resource. See that we use the method ctrl.SetControllerReference. + // are defined as dependent of the custom resource. See that we use the method ctrl.SetControllerReference. // to set the ownerRef which means that the Deployment will be deleted by the Kubernetes API. // More info: https://kubernetes.io/docs/tasks/administer-cluster/use-cascading-deletion/ @@ -452,11 +452,9 @@ func labelsForMemcached(name string) map[string]string { if err == nil { imageTag = strings.Split(image, ":")[1] } - return map[string]string{"app.kubernetes.io/name": "Memcached", - "app.kubernetes.io/instance": name, + return map[string]string{"app.kubernetes.io/name": "memcached-operator", "app.kubernetes.io/version": imageTag, - "app.kubernetes.io/part-of": "memcached-operator", - "app.kubernetes.io/created-by": "controller-manager", + "app.kubernetes.io/managed-by": "MemcachedController", } } diff --git a/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml b/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml index e7d0a16486..1ba1d5e9c1 100644 --- a/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml +++ b/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml @@ -2,12 +2,8 @@ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: labels: - app.kubernetes.io/component: metrics - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: controller-manager-metrics-monitor app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: servicemonitor - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator control-plane: controller-manager name: memcached-operator-controller-manager-metrics-monitor spec: diff --git a/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml b/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml index d1726620fd..3080334458 100644 --- a/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml +++ b/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-controller-manager-metrics-service_v1_service.yaml @@ -3,12 +3,8 @@ kind: Service metadata: creationTimestamp: null labels: - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: controller-manager-metrics-service app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: service - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator control-plane: controller-manager name: memcached-operator-controller-manager-metrics-service spec: diff --git a/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-memcached-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml b/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-memcached-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 0000000000..bf4cd4b9d1 --- /dev/null +++ b/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-memcached-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,27 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: memcached-operator + name: memcached-operator-memcached-editor-role +rules: +- apiGroups: + - cache.example.com + resources: + - memcacheds + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cache.example.com + resources: + - memcacheds/status + verbs: + - get diff --git a/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-memcached-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml b/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-memcached-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 0000000000..7ec956824b --- /dev/null +++ b/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-memcached-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,23 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: memcached-operator + name: memcached-operator-memcached-viewer-role +rules: +- apiGroups: + - cache.example.com + resources: + - memcacheds + verbs: + - get + - list + - watch +- apiGroups: + - cache.example.com + resources: + - memcacheds/status + verbs: + - get diff --git a/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml index 6f58e964d3..4b4c5c860b 100644 --- a/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml +++ b/testdata/helm/memcached-operator/bundle/manifests/memcached-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -3,12 +3,8 @@ kind: ClusterRole metadata: creationTimestamp: null labels: - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: metrics-reader app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: clusterrole - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator name: memcached-operator-metrics-reader rules: - nonResourceURLs: diff --git a/testdata/helm/memcached-operator/bundle/manifests/memcached-operator.clusterserviceversion.yaml b/testdata/helm/memcached-operator/bundle/manifests/memcached-operator.clusterserviceversion.yaml index 0b963c6a17..46fae0e566 100644 --- a/testdata/helm/memcached-operator/bundle/manifests/memcached-operator.clusterserviceversion.yaml +++ b/testdata/helm/memcached-operator/bundle/manifests/memcached-operator.clusterserviceversion.yaml @@ -182,12 +182,8 @@ spec: serviceAccountName: memcached-operator-controller-manager deployments: - label: - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/instance: controller-manager app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: deployment - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator control-plane: controller-manager name: memcached-operator-controller-manager spec: @@ -209,7 +205,7 @@ spec: - --upstream=http://127.0.0.1:8080/ - --logtostderr=true - --v=0 - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0 name: kube-rbac-proxy ports: - containerPort: 8443 diff --git a/testdata/helm/memcached-operator/config/default/manager_auth_proxy_patch.yaml b/testdata/helm/memcached-operator/config/default/manager_auth_proxy_patch.yaml index 0a7598f052..2a35186523 100644 --- a/testdata/helm/memcached-operator/config/default/manager_auth_proxy_patch.yaml +++ b/testdata/helm/memcached-operator/config/default/manager_auth_proxy_patch.yaml @@ -15,7 +15,7 @@ spec: capabilities: drop: - "ALL" - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0 args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" diff --git a/testdata/helm/memcached-operator/config/manager/manager.yaml b/testdata/helm/memcached-operator/config/manager/manager.yaml index 54e4c81c87..774f8dac9a 100644 --- a/testdata/helm/memcached-operator/config/manager/manager.yaml +++ b/testdata/helm/memcached-operator/config/manager/manager.yaml @@ -3,11 +3,7 @@ kind: Namespace metadata: labels: control-plane: controller-manager - app.kubernetes.io/name: namespace - app.kubernetes.io/instance: system - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: system --- @@ -18,11 +14,7 @@ metadata: namespace: system labels: control-plane: controller-manager - app.kubernetes.io/name: deployment - app.kubernetes.io/instance: controller-manager - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize spec: selector: diff --git a/testdata/helm/memcached-operator/config/prometheus/monitor.yaml b/testdata/helm/memcached-operator/config/prometheus/monitor.yaml index 6b9c71cb9a..ad29d61499 100644 --- a/testdata/helm/memcached-operator/config/prometheus/monitor.yaml +++ b/testdata/helm/memcached-operator/config/prometheus/monitor.yaml @@ -4,11 +4,7 @@ kind: ServiceMonitor metadata: labels: control-plane: controller-manager - app.kubernetes.io/name: servicemonitor - app.kubernetes.io/instance: controller-manager-metrics-monitor - app.kubernetes.io/component: metrics - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: controller-manager-metrics-monitor namespace: system diff --git a/testdata/helm/memcached-operator/config/rbac/auth_proxy_client_clusterrole.yaml b/testdata/helm/memcached-operator/config/rbac/auth_proxy_client_clusterrole.yaml index a2a3b44315..3b93efaf42 100644 --- a/testdata/helm/memcached-operator/config/rbac/auth_proxy_client_clusterrole.yaml +++ b/testdata/helm/memcached-operator/config/rbac/auth_proxy_client_clusterrole.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: metrics-reader - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: metrics-reader rules: diff --git a/testdata/helm/memcached-operator/config/rbac/auth_proxy_role.yaml b/testdata/helm/memcached-operator/config/rbac/auth_proxy_role.yaml index b7c9c6f4a8..4cfaa83cfa 100644 --- a/testdata/helm/memcached-operator/config/rbac/auth_proxy_role.yaml +++ b/testdata/helm/memcached-operator/config/rbac/auth_proxy_role.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: proxy-role - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: proxy-role rules: diff --git a/testdata/helm/memcached-operator/config/rbac/auth_proxy_role_binding.yaml b/testdata/helm/memcached-operator/config/rbac/auth_proxy_role_binding.yaml index a4a1a852c7..4eb2764345 100644 --- a/testdata/helm/memcached-operator/config/rbac/auth_proxy_role_binding.yaml +++ b/testdata/helm/memcached-operator/config/rbac/auth_proxy_role_binding.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: - app.kubernetes.io/name: clusterrolebinding - app.kubernetes.io/instance: proxy-rolebinding - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: proxy-rolebinding roleRef: diff --git a/testdata/helm/memcached-operator/config/rbac/auth_proxy_service.yaml b/testdata/helm/memcached-operator/config/rbac/auth_proxy_service.yaml index ecaef24135..3e75af73b0 100644 --- a/testdata/helm/memcached-operator/config/rbac/auth_proxy_service.yaml +++ b/testdata/helm/memcached-operator/config/rbac/auth_proxy_service.yaml @@ -3,11 +3,7 @@ kind: Service metadata: labels: control-plane: controller-manager - app.kubernetes.io/name: service - app.kubernetes.io/instance: controller-manager-metrics-service - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: controller-manager-metrics-service namespace: system diff --git a/testdata/helm/memcached-operator/config/rbac/kustomization.yaml b/testdata/helm/memcached-operator/config/rbac/kustomization.yaml index 731832a6ac..3dc289427b 100644 --- a/testdata/helm/memcached-operator/config/rbac/kustomization.yaml +++ b/testdata/helm/memcached-operator/config/rbac/kustomization.yaml @@ -16,3 +16,9 @@ resources: - auth_proxy_role.yaml - auth_proxy_role_binding.yaml - auth_proxy_client_clusterrole.yaml +# For each CRD, "Editor" and "Viewer" roles are scaffolded by +# default, aiding admins in cluster management. Those roles are +# not used by the Project itself. You can comment the following lines +# if you do not want those helpers be installed with your Project. +- memcached_editor_role.yaml +- memcached_viewer_role.yaml diff --git a/testdata/helm/memcached-operator/config/rbac/leader_election_role.yaml b/testdata/helm/memcached-operator/config/rbac/leader_election_role.yaml index ce7088ecbd..d085625358 100644 --- a/testdata/helm/memcached-operator/config/rbac/leader_election_role.yaml +++ b/testdata/helm/memcached-operator/config/rbac/leader_election_role.yaml @@ -3,11 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: labels: - app.kubernetes.io/name: role - app.kubernetes.io/instance: leader-election-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: leader-election-role rules: diff --git a/testdata/helm/memcached-operator/config/rbac/leader_election_role_binding.yaml b/testdata/helm/memcached-operator/config/rbac/leader_election_role_binding.yaml index 4ee27a3d01..4fb0caf652 100644 --- a/testdata/helm/memcached-operator/config/rbac/leader_election_role_binding.yaml +++ b/testdata/helm/memcached-operator/config/rbac/leader_election_role_binding.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: labels: - app.kubernetes.io/name: rolebinding - app.kubernetes.io/instance: leader-election-rolebinding - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: leader-election-rolebinding roleRef: diff --git a/testdata/helm/memcached-operator/config/rbac/memcached_editor_role.yaml b/testdata/helm/memcached-operator/config/rbac/memcached_editor_role.yaml index cbc4577b2c..aff7adbe77 100644 --- a/testdata/helm/memcached-operator/config/rbac/memcached_editor_role.yaml +++ b/testdata/helm/memcached-operator/config/rbac/memcached_editor_role.yaml @@ -3,11 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: memcached-editor-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: memcached-editor-role rules: diff --git a/testdata/helm/memcached-operator/config/rbac/memcached_viewer_role.yaml b/testdata/helm/memcached-operator/config/rbac/memcached_viewer_role.yaml index b8977ec271..373da88753 100644 --- a/testdata/helm/memcached-operator/config/rbac/memcached_viewer_role.yaml +++ b/testdata/helm/memcached-operator/config/rbac/memcached_viewer_role.yaml @@ -3,11 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: memcached-viewer-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: memcached-viewer-role rules: diff --git a/testdata/helm/memcached-operator/config/rbac/role.yaml b/testdata/helm/memcached-operator/config/rbac/role.yaml index 1a7ee30031..ac86ace7a8 100644 --- a/testdata/helm/memcached-operator/config/rbac/role.yaml +++ b/testdata/helm/memcached-operator/config/rbac/role.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: manager-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: manager-role rules: diff --git a/testdata/helm/memcached-operator/config/rbac/role_binding.yaml b/testdata/helm/memcached-operator/config/rbac/role_binding.yaml index cc2b714d50..4585b7d8a7 100644 --- a/testdata/helm/memcached-operator/config/rbac/role_binding.yaml +++ b/testdata/helm/memcached-operator/config/rbac/role_binding.yaml @@ -2,11 +2,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: - app.kubernetes.io/name: clusterrolebinding - app.kubernetes.io/instance: manager-rolebinding - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: manager-rolebinding roleRef: diff --git a/testdata/helm/memcached-operator/config/rbac/service_account.yaml b/testdata/helm/memcached-operator/config/rbac/service_account.yaml index 9712cf045e..242874a566 100644 --- a/testdata/helm/memcached-operator/config/rbac/service_account.yaml +++ b/testdata/helm/memcached-operator/config/rbac/service_account.yaml @@ -2,11 +2,7 @@ apiVersion: v1 kind: ServiceAccount metadata: labels: - app.kubernetes.io/name: serviceaccount - app.kubernetes.io/instance: controller-manager-sa - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: memcached-operator - app.kubernetes.io/part-of: memcached-operator + app.kubernetes.io/name: memcached-operator app.kubernetes.io/managed-by: kustomize name: controller-manager namespace: system