From 2f8d21dc8efc4ade7bf3aaab2b252476fff1e9a6 Mon Sep 17 00:00:00 2001 From: Johannes Aubart Date: Thu, 22 May 2025 15:53:14 +0200 Subject: [PATCH 1/2] bump controller-utils library dependency to v0.9.0 --- go.mod | 2 +- go.sum | 4 ++-- .../provider/install/deployment.go | 13 +++++++---- .../controllers/provider/install/installer.go | 2 +- internal/controllers/provider/install/job.go | 19 ++++++++-------- internal/controllers/provider/install/rbac.go | 14 +++++++----- .../controllers/provider/install/rbac_init.go | 22 +++++++++---------- 7 files changed, 42 insertions(+), 34 deletions(-) diff --git a/go.mod b/go.mod index 0c81144..e639904 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( dario.cat/mergo v1.0.2 github.com/onsi/ginkgo/v2 v2.23.4 github.com/onsi/gomega v1.37.0 - github.com/openmcp-project/controller-utils v0.0.0-20250514103840-36be6cfff45a + github.com/openmcp-project/controller-utils v0.9.0 github.com/openmcp-project/openmcp-operator/api v0.4.0 github.com/spf13/cobra v1.9.1 k8s.io/api v0.33.1 diff --git a/go.sum b/go.sum index e690ffd..02e5790 100644 --- a/go.sum +++ b/go.sum @@ -99,8 +99,8 @@ github.com/onsi/ginkgo/v2 v2.23.4 h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus github.com/onsi/ginkgo/v2 v2.23.4/go.mod h1:Bt66ApGPBFzHyR+JO10Zbt0Gsp4uWxu5mIOTusL46e8= github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y= github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0= -github.com/openmcp-project/controller-utils v0.0.0-20250514103840-36be6cfff45a h1:Fw5gFq/cToWe4PKzTTjsSwreXRm98VKDTIFX18b8cxE= -github.com/openmcp-project/controller-utils v0.0.0-20250514103840-36be6cfff45a/go.mod h1:/PeEIAdVHe9W1u0Nw8PlrKr5Gp3Wqwhnr2uo/Q7BtEI= +github.com/openmcp-project/controller-utils v0.9.0 h1:S9g23FFbUBfHOkRTvpjT826hcbX5SXd/gZ9VT83V7Lg= +github.com/openmcp-project/controller-utils v0.9.0/go.mod h1:j0FuxU5JhlDq+XkWNhDUY+k8AuqFINqXWjX7dlpQlNU= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= diff --git a/internal/controllers/provider/install/deployment.go b/internal/controllers/provider/install/deployment.go index 0edaced..7b4cfca 100644 --- a/internal/controllers/provider/install/deployment.go +++ b/internal/controllers/provider/install/deployment.go @@ -8,7 +8,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/utils/ptr" - "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" "github.com/openmcp-project/controller-utils/pkg/resources" @@ -18,16 +17,22 @@ import ( type deploymentMutator struct { values *Values - meta resources.Mutator[client.Object] + meta resources.MetadataMutator } var _ resources.Mutator[*appsv1.Deployment] = &deploymentMutator{} func newDeploymentMutator(values *Values) resources.Mutator[*appsv1.Deployment] { - return &deploymentMutator{ + res := &deploymentMutator{ values: values, - meta: resources.NewMetadataMutator(values.LabelsController(), nil), + meta: resources.NewMetadataMutator(), } + res.meta.WithLabels(values.LabelsController()) + return res +} + +func (m *deploymentMutator) MetadataMutator() resources.MetadataMutator { + return m.meta } func (m *deploymentMutator) String() string { diff --git a/internal/controllers/provider/install/installer.go b/internal/controllers/provider/install/installer.go index 6253705..895a98c 100644 --- a/internal/controllers/provider/install/installer.go +++ b/internal/controllers/provider/install/installer.go @@ -38,7 +38,7 @@ func (a *Installer) InstallInitJob(ctx context.Context) (completed bool, err err values := NewValues(a.Provider, a.DeploymentSpec, a.Environment) - if err := resources.CreateOrUpdateResource(ctx, a.PlatformClient, resources.NewNamespaceMutator(values.Namespace(), nil, nil)); err != nil { + if err := resources.CreateOrUpdateResource(ctx, a.PlatformClient, resources.NewNamespaceMutator(values.Namespace())); err != nil { return false, err } diff --git a/internal/controllers/provider/install/job.go b/internal/controllers/provider/install/job.go index 1b8b110..179ddda 100644 --- a/internal/controllers/provider/install/job.go +++ b/internal/controllers/provider/install/job.go @@ -9,7 +9,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/utils/ptr" - "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" "github.com/openmcp-project/openmcp-operator/api/install" @@ -19,21 +18,23 @@ import ( type jobMutator struct { values *Values deploymentSpec *v1alpha1.DeploymentSpec - meta resources.Mutator[client.Object] + meta resources.MetadataMutator } var _ resources.Mutator[*v1.Job] = &jobMutator{} -func newJobMutator( - values *Values, - deploymentSpec *v1alpha1.DeploymentSpec, - annotations map[string]string, -) resources.Mutator[*v1.Job] { - return &jobMutator{ +func newJobMutator(values *Values, deploymentSpec *v1alpha1.DeploymentSpec, annotations map[string]string) resources.Mutator[*v1.Job] { + res := &jobMutator{ values: values, deploymentSpec: deploymentSpec, - meta: resources.NewMetadataMutator(values.LabelsInitJob(), annotations), + meta: resources.NewMetadataMutator(), } + res.meta.WithLabels(values.LabelsInitJob()).WithAnnotations(annotations) + return res +} + +func (m *jobMutator) MetadataMutator() resources.MetadataMutator { + return m.meta } func (m *jobMutator) String() string { diff --git a/internal/controllers/provider/install/rbac.go b/internal/controllers/provider/install/rbac.go index 5c328f5..368b124 100644 --- a/internal/controllers/provider/install/rbac.go +++ b/internal/controllers/provider/install/rbac.go @@ -7,15 +7,16 @@ import ( ) func newProviderServiceAccountMutator(values *Values) resources.Mutator[*corev1.ServiceAccount] { - return resources.NewServiceAccountMutator( + res := resources.NewServiceAccountMutator( values.NamespacedDefaultResourceName(), values.Namespace(), - values.LabelsController(), - nil) + ) + res.MetadataMutator().WithLabels(values.LabelsController()) + return res } func newProviderClusterRoleBindingMutator(values *Values) resources.Mutator[*rbac.ClusterRoleBinding] { - return resources.NewClusterRoleBindingMutator( + res := resources.NewClusterRoleBindingMutator( values.ClusterScopedDefaultResourceName(), []rbac.Subject{ { @@ -25,6 +26,7 @@ func newProviderClusterRoleBindingMutator(values *Values) resources.Mutator[*rba }, }, resources.NewClusterRoleRef("cluster-admin"), - values.LabelsController(), - nil) + ) + res.MetadataMutator().WithLabels(values.LabelsController()) + return res } diff --git a/internal/controllers/provider/install/rbac_init.go b/internal/controllers/provider/install/rbac_init.go index a5db7fd..1f11ab4 100644 --- a/internal/controllers/provider/install/rbac_init.go +++ b/internal/controllers/provider/install/rbac_init.go @@ -7,16 +7,14 @@ import ( ) func newInitServiceAccountMutator(values *Values) resources.Mutator[*corev1.ServiceAccount] { - return resources.NewServiceAccountMutator( - values.NamespacedResourceName(initPrefix), - values.Namespace(), - values.LabelsInitJob(), - nil) + res := resources.NewServiceAccountMutator(values.NamespacedResourceName(initPrefix), values.Namespace()) + res.MetadataMutator().WithLabels(values.LabelsInitJob()) + return res } func newInitClusterRoleBindingMutator(values *Values) resources.Mutator[*rbac.ClusterRoleBinding] { clusterRoleName := values.ClusterScopedResourceName(initPrefix) - return resources.NewClusterRoleBindingMutator( + res := resources.NewClusterRoleBindingMutator( clusterRoleName, []rbac.Subject{ { @@ -26,12 +24,13 @@ func newInitClusterRoleBindingMutator(values *Values) resources.Mutator[*rbac.Cl }, }, resources.NewClusterRoleRef(clusterRoleName), - values.LabelsInitJob(), - nil) + ) + res.MetadataMutator().WithLabels(values.LabelsInitJob()) + return res } func newInitClusterRoleMutator(values *Values) resources.Mutator[*rbac.ClusterRole] { - return resources.NewClusterRoleMutator( + res := resources.NewClusterRoleMutator( values.ClusterScopedResourceName(initPrefix), []rbac.PolicyRule{ { @@ -50,6 +49,7 @@ func newInitClusterRoleMutator(values *Values) resources.Mutator[*rbac.ClusterRo Verbs: []string{"get", "list", "watch", "create", "update", "patch", "delete"}, }, }, - values.LabelsInitJob(), - nil) + ) + res.MetadataMutator().WithLabels(values.LabelsInitJob()) + return res } From 9809554edad3b7dc2a295bb8add9184d96cb3173 Mon Sep 17 00:00:00 2001 From: Johannes Aubart Date: Thu, 22 May 2025 15:53:21 +0200 Subject: [PATCH 2/2] release v0.6.0 --- VERSION | 2 +- go.mod | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index 77dd692..e07d136 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v0.5.0-dev \ No newline at end of file +v0.6.0 \ No newline at end of file diff --git a/go.mod b/go.mod index e639904..955e491 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/onsi/ginkgo/v2 v2.23.4 github.com/onsi/gomega v1.37.0 github.com/openmcp-project/controller-utils v0.9.0 - github.com/openmcp-project/openmcp-operator/api v0.4.0 + github.com/openmcp-project/openmcp-operator/api v0.6.0 github.com/spf13/cobra v1.9.1 k8s.io/api v0.33.1 k8s.io/apimachinery v0.33.1