From 67c449e5551306810cae78ecc718bd770eca99a8 Mon Sep 17 00:00:00 2001 From: jgs_bankdata Date: Mon, 29 Jun 2026 15:54:36 +0200 Subject: [PATCH 1/2] remove nonlint --- api/config/v2alpha2/groupversion_info.go | 2 +- api/styra/v1alpha1/groupversion_info.go | 2 +- api/styra/v1beta1/groupversion_info.go | 2 +- api/test/v1/groupversion_info.go | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/config/v2alpha2/groupversion_info.go b/api/config/v2alpha2/groupversion_info.go index 39b25f01..a1e41169 100644 --- a/api/config/v2alpha2/groupversion_info.go +++ b/api/config/v2alpha2/groupversion_info.go @@ -30,7 +30,7 @@ var ( GroupVersion = schema.GroupVersion{Group: "config.bankdata.dk", Version: "v2alpha2"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme - SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} //nolint:staticcheck // SA1019 + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme diff --git a/api/styra/v1alpha1/groupversion_info.go b/api/styra/v1alpha1/groupversion_info.go index ea2613ea..c9c50377 100644 --- a/api/styra/v1alpha1/groupversion_info.go +++ b/api/styra/v1alpha1/groupversion_info.go @@ -29,7 +29,7 @@ var ( GroupVersion = schema.GroupVersion{Group: "styra.bankdata.dk", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme - SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} //nolint:staticcheck // SA1019 + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme diff --git a/api/styra/v1beta1/groupversion_info.go b/api/styra/v1beta1/groupversion_info.go index 4db11932..d68fe1d6 100644 --- a/api/styra/v1beta1/groupversion_info.go +++ b/api/styra/v1beta1/groupversion_info.go @@ -29,7 +29,7 @@ var ( GroupVersion = schema.GroupVersion{Group: "styra.bankdata.dk", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme - SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} //nolint:staticcheck // SA1019 + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme diff --git a/api/test/v1/groupversion_info.go b/api/test/v1/groupversion_info.go index 59d2c8de..3a2fc22e 100644 --- a/api/test/v1/groupversion_info.go +++ b/api/test/v1/groupversion_info.go @@ -29,7 +29,7 @@ var ( GroupVersion = schema.GroupVersion{Group: "test.bankdata.dk", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme - SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} //nolint:staticcheck // SA1019 + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme From 4a8df6f5780f1f687e1588c94dbebfc037b56912 Mon Sep 17 00:00:00 2001 From: jgs_bankdata Date: Tue, 30 Jun 2026 15:31:17 +0200 Subject: [PATCH 2/2] migrate to apimachinery from scheme.builder --- api/config/v2alpha2/groupversion_info.go | 20 ++++++++++++++------ api/config/v2alpha2/projectconfig_types.go | 6 +++++- api/config/v2alpha2/zz_generated.deepcopy.go | 2 +- api/styra/v1alpha1/groupversion_info.go | 20 ++++++++++++++------ api/styra/v1alpha1/library_types.go | 6 +++++- api/styra/v1alpha1/zz_generated.deepcopy.go | 2 +- api/styra/v1beta1/groupversion_info.go | 20 ++++++++++++++------ api/styra/v1beta1/system_types.go | 5 ++++- api/test/v1/groupversion_info.go | 16 ++++++++++++---- api/test/v1/object_types.go | 6 +++++- api/test/v1/zz_generated.deepcopy.go | 2 +- internal/config/config.go | 4 ++-- internal/config/config_test.go | 2 +- 13 files changed, 79 insertions(+), 32 deletions(-) diff --git a/api/config/v2alpha2/groupversion_info.go b/api/config/v2alpha2/groupversion_info.go index a1e41169..f10edd0d 100644 --- a/api/config/v2alpha2/groupversion_info.go +++ b/api/config/v2alpha2/groupversion_info.go @@ -21,16 +21,24 @@ limitations under the License. package v2alpha2 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "sigs.k8s.io/controller-runtime/pkg/scheme" ) var ( - // GroupVersion is group version used to register these objects - GroupVersion = schema.GroupVersion{Group: "config.bankdata.dk", Version: "v2alpha2"} - - // SchemeBuilder is used to add go types to the GroupVersionKind scheme - SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + // SchemeGroupVersion is group version used to register these objects. + // This name is used by applyconfiguration generators (e.g. controller-gen). + SchemeGroupVersion = schema.GroupVersion{Group: "config.bankdata.dk", Version: "v2alpha2"} + + // GroupVersion is an alias for SchemeGroupVersion, for backward compatibility. + GroupVersion = SchemeGroupVersion + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme. + SchemeBuilder = runtime.NewSchemeBuilder(func(scheme *runtime.Scheme) error { + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil + }) // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme diff --git a/api/config/v2alpha2/projectconfig_types.go b/api/config/v2alpha2/projectconfig_types.go index 7cf4d85a..5c1f25a6 100644 --- a/api/config/v2alpha2/projectconfig_types.go +++ b/api/config/v2alpha2/projectconfig_types.go @@ -18,6 +18,7 @@ package v2alpha2 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" ) //+kubebuilder:object:root=true @@ -194,5 +195,8 @@ type HTTP struct { } func init() { - SchemeBuilder.Register(&ProjectConfig{}) + SchemeBuilder.Register(func(s *runtime.Scheme) error { + s.AddKnownTypes(SchemeGroupVersion, &ProjectConfig{}) + return nil + }) } diff --git a/api/config/v2alpha2/zz_generated.deepcopy.go b/api/config/v2alpha2/zz_generated.deepcopy.go index 96261a4f..32032c92 100644 --- a/api/config/v2alpha2/zz_generated.deepcopy.go +++ b/api/config/v2alpha2/zz_generated.deepcopy.go @@ -21,7 +21,7 @@ limitations under the License. package v2alpha2 import ( - runtime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. diff --git a/api/styra/v1alpha1/groupversion_info.go b/api/styra/v1alpha1/groupversion_info.go index c9c50377..62901e29 100644 --- a/api/styra/v1alpha1/groupversion_info.go +++ b/api/styra/v1alpha1/groupversion_info.go @@ -20,16 +20,24 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "sigs.k8s.io/controller-runtime/pkg/scheme" ) var ( - // GroupVersion is group version used to register these objects - GroupVersion = schema.GroupVersion{Group: "styra.bankdata.dk", Version: "v1alpha1"} - - // SchemeBuilder is used to add go types to the GroupVersionKind scheme - SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + // SchemeGroupVersion is group version used to register these objects. + // This name is used by applyconfiguration generators (e.g. controller-gen). + SchemeGroupVersion = schema.GroupVersion{Group: "styra.bankdata.dk", Version: "v1alpha1"} + + // GroupVersion is an alias for SchemeGroupVersion, for backward compatibility. + GroupVersion = SchemeGroupVersion + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme. + SchemeBuilder = runtime.NewSchemeBuilder(func(scheme *runtime.Scheme) error { + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil + }) // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme diff --git a/api/styra/v1alpha1/library_types.go b/api/styra/v1alpha1/library_types.go index 93c9c34a..98e184f8 100644 --- a/api/styra/v1alpha1/library_types.go +++ b/api/styra/v1alpha1/library_types.go @@ -18,6 +18,7 @@ package v1alpha1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" ) // LibrarySpec defines the desired state of Library @@ -136,5 +137,8 @@ type LibraryList struct { } func init() { - SchemeBuilder.Register(&Library{}, &LibraryList{}) + SchemeBuilder.Register(func(s *runtime.Scheme) error { + s.AddKnownTypes(SchemeGroupVersion, &Library{}, &LibraryList{}) + return nil + }) } diff --git a/api/styra/v1alpha1/zz_generated.deepcopy.go b/api/styra/v1alpha1/zz_generated.deepcopy.go index acb9438c..bf717b35 100644 --- a/api/styra/v1alpha1/zz_generated.deepcopy.go +++ b/api/styra/v1alpha1/zz_generated.deepcopy.go @@ -21,7 +21,7 @@ limitations under the License. package v1alpha1 import ( - runtime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. diff --git a/api/styra/v1beta1/groupversion_info.go b/api/styra/v1beta1/groupversion_info.go index d68fe1d6..4f7754b7 100644 --- a/api/styra/v1beta1/groupversion_info.go +++ b/api/styra/v1beta1/groupversion_info.go @@ -20,16 +20,24 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "sigs.k8s.io/controller-runtime/pkg/scheme" ) var ( - // GroupVersion is group version used to register these objects - GroupVersion = schema.GroupVersion{Group: "styra.bankdata.dk", Version: "v1beta1"} - - // SchemeBuilder is used to add go types to the GroupVersionKind scheme - SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + // SchemeGroupVersion is group version used to register these objects. + // This name is used by applyconfiguration generators (e.g. controller-gen). + SchemeGroupVersion = schema.GroupVersion{Group: "styra.bankdata.dk", Version: "v1beta1"} + + // GroupVersion is an alias for SchemeGroupVersion, for backward compatibility. + GroupVersion = SchemeGroupVersion + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme. + SchemeBuilder = runtime.NewSchemeBuilder(func(scheme *runtime.Scheme) error { + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil + }) // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme diff --git a/api/styra/v1beta1/system_types.go b/api/styra/v1beta1/system_types.go index 58c361fe..36587e6a 100644 --- a/api/styra/v1beta1/system_types.go +++ b/api/styra/v1beta1/system_types.go @@ -434,7 +434,10 @@ type SystemList struct { } func init() { - SchemeBuilder.Register(&System{}, &SystemList{}) + SchemeBuilder.Register(func(s *runtime.Scheme) error { + s.AddKnownTypes(SchemeGroupVersion, &System{}, &SystemList{}) + return nil + }) } // SetCondition updates the matching condition under the System's status field. diff --git a/api/test/v1/groupversion_info.go b/api/test/v1/groupversion_info.go index 3a2fc22e..f2e9e0a7 100644 --- a/api/test/v1/groupversion_info.go +++ b/api/test/v1/groupversion_info.go @@ -20,16 +20,24 @@ limitations under the License. package v1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "sigs.k8s.io/controller-runtime/pkg/scheme" ) var ( - // GroupVersion is group version used to register these objects - GroupVersion = schema.GroupVersion{Group: "test.bankdata.dk", Version: "v1"} + // SchemeGroupVersion is group version used to register these objects. + // This name is used by applyconfiguration generators (e.g. controller-gen). + SchemeGroupVersion = schema.GroupVersion{Group: "test.bankdata.dk", Version: "v1"} + + // GroupVersion is an alias for SchemeGroupVersion, for backward compatibility. + GroupVersion = SchemeGroupVersion // SchemeBuilder is used to add go types to the GroupVersionKind scheme - SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + SchemeBuilder = runtime.NewSchemeBuilder(func(scheme *runtime.Scheme) error { + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil + }) // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme diff --git a/api/test/v1/object_types.go b/api/test/v1/object_types.go index 4ab42596..aaf1b17e 100644 --- a/api/test/v1/object_types.go +++ b/api/test/v1/object_types.go @@ -20,6 +20,7 @@ package v1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" ) // Object is a very simple kubernetes object which doesn't have a spec or @@ -32,5 +33,8 @@ type Object struct { } func init() { - SchemeBuilder.Register(&Object{}) + SchemeBuilder.Register(func(s *runtime.Scheme) error { + s.AddKnownTypes(SchemeGroupVersion, &Object{}) + return nil + }) } diff --git a/api/test/v1/zz_generated.deepcopy.go b/api/test/v1/zz_generated.deepcopy.go index 9483962e..f3e90fba 100644 --- a/api/test/v1/zz_generated.deepcopy.go +++ b/api/test/v1/zz_generated.deepcopy.go @@ -21,7 +21,7 @@ limitations under the License. package v1 import ( - runtime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. diff --git a/internal/config/config.go b/internal/config/config.go index d0847b60..605966d1 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -118,7 +118,7 @@ func deserialize(data []byte, scheme *runtime.Scheme) (*v2alpha2.ProjectConfig, return nil, errors.Wrap(err, "could not decode config") } - if gvk.Group != v2alpha2.GroupVersion.Group { + if gvk.Group != v2alpha2.SchemeGroupVersion.Group { return nil, errors.New("unsupported api group") } @@ -129,7 +129,7 @@ func deserialize(data []byte, scheme *runtime.Scheme) (*v2alpha2.ProjectConfig, cfg := &v2alpha2.ProjectConfig{} switch gvk.Version { - case v2alpha2.GroupVersion.Version: + case v2alpha2.SchemeGroupVersion.Version: if _, _, err := decoder.Decode(data, nil, cfg); err != nil { return nil, errors.Wrap(err, "could not decode into kind") } diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 612f6b3f..6c4020f3 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -63,7 +63,7 @@ opaControlPlaneConfig: &v2alpha2.ProjectConfig{ TypeMeta: metav1.TypeMeta{ Kind: "ProjectConfig", - APIVersion: v2alpha2.GroupVersion.Identifier(), + APIVersion: v2alpha2.SchemeGroupVersion.Identifier(), }, OPAControlPlaneConfig: &v2alpha2.OPAControlPlaneConfig{ Token: "my-token",