Skip to content

Commit 21b7464

Browse files
committed
feat(pluginpreset): resolve cross-preset ValueFrom.Ref references (#1776)
Signed-off-by: Klaudiusz Fabryczny <klaudiusz.fabryczny@sap.com>
1 parent 241d0b4 commit 21b7464

55 files changed

Lines changed: 2770 additions & 189 deletions

Some content is hidden

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

api/meta/v1alpha1/zz_generated.deepcopy.go

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/v1alpha1/catalog_types.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
sourcev1 "github.com/fluxcd/source-controller/api/v1"
1111
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
1212
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
13+
"k8s.io/apimachinery/pkg/runtime"
1314

1415
greenhousemetav1alpha1 "github.com/cloudoperators/greenhouse/api/meta/v1alpha1"
1516
)
@@ -270,5 +271,8 @@ func (c *Catalog) CanBeSuspended() bool {
270271
}
271272

272273
func init() {
273-
SchemeBuilder.Register(&Catalog{}, &CatalogList{})
274+
SchemeBuilder.Register(func(s *runtime.Scheme) error {
275+
s.AddKnownTypes(GroupVersion, &Catalog{}, &CatalogList{})
276+
return nil
277+
})
274278
}

api/v1alpha1/cluster_types.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"strings"
99

1010
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
11+
"k8s.io/apimachinery/pkg/runtime"
1112

1213
greenhousemetav1alpha1 "github.com/cloudoperators/greenhouse/api/meta/v1alpha1"
1314
)
@@ -169,7 +170,10 @@ type ClusterList struct {
169170
}
170171

171172
func init() {
172-
SchemeBuilder.Register(&Cluster{}, &ClusterList{})
173+
SchemeBuilder.Register(func(s *runtime.Scheme) error {
174+
s.AddKnownTypes(GroupVersion, &Cluster{}, &ClusterList{})
175+
return nil
176+
})
173177
}
174178

175179
func (c *Cluster) SetDefaultTokenValidityIfNeeded() {

api/v1alpha1/clusterkubeconfig_types.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ package v1alpha1
55

66
import (
77
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
8+
"k8s.io/apimachinery/pkg/runtime"
89
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
910

1011
greenhousemetav1alpha1 "github.com/cloudoperators/greenhouse/api/meta/v1alpha1"
@@ -103,5 +104,8 @@ type ClusterKubeconfigList struct {
103104
}
104105

105106
func init() {
106-
SchemeBuilder.Register(&ClusterKubeconfig{}, &ClusterKubeconfigList{})
107+
SchemeBuilder.Register(func(s *runtime.Scheme) error {
108+
s.AddKnownTypes(GroupVersion, &ClusterKubeconfig{}, &ClusterKubeconfigList{})
109+
return nil
110+
})
107111
}

api/v1alpha1/clusterplugindefinition_types.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"slices"
88

99
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
10+
"k8s.io/apimachinery/pkg/runtime"
1011

1112
greenhousemetav1alpha1 "github.com/cloudoperators/greenhouse/api/meta/v1alpha1"
1213
)
@@ -90,5 +91,8 @@ func (c *ClusterPluginDefinition) CanBeSuspended() bool {
9091
}
9192

9293
func init() {
93-
SchemeBuilder.Register(&ClusterPluginDefinition{}, &ClusterPluginDefinitionList{})
94+
SchemeBuilder.Register(func(s *runtime.Scheme) error {
95+
s.AddKnownTypes(GroupVersion, &ClusterPluginDefinition{}, &ClusterPluginDefinitionList{})
96+
return nil
97+
})
9498
}

api/v1alpha1/groupversion_info.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77
package v1alpha1
88

99
import (
10+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
11+
"k8s.io/apimachinery/pkg/runtime"
1012
"k8s.io/apimachinery/pkg/runtime/schema"
11-
"sigs.k8s.io/controller-runtime/pkg/scheme"
1213

1314
apis "github.com/cloudoperators/greenhouse/api"
1415
)
@@ -18,7 +19,10 @@ var (
1819
GroupVersion = schema.GroupVersion{Group: apis.GroupName, Version: "v1alpha1"}
1920

2021
// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
21-
SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} //nolint:staticcheck // scheme.Builder is deprecated; full migration requires updating all Register call sites
22+
SchemeBuilder = runtime.NewSchemeBuilder(func(s *runtime.Scheme) error {
23+
metav1.AddToGroupVersion(s, GroupVersion)
24+
return nil
25+
})
2226

2327
// AddToScheme adds the types in this group-version to the given scheme.
2428
AddToScheme = SchemeBuilder.AddToScheme

api/v1alpha1/organization_types.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"slices"
88

99
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
10+
"k8s.io/apimachinery/pkg/runtime"
1011

1112
greenhousemetav1alpha1 "github.com/cloudoperators/greenhouse/api/meta/v1alpha1"
1213
"github.com/cloudoperators/greenhouse/internal/scim"
@@ -139,7 +140,10 @@ type OrganizationList struct {
139140
}
140141

141142
func init() {
142-
SchemeBuilder.Register(&Organization{}, &OrganizationList{})
143+
SchemeBuilder.Register(func(s *runtime.Scheme) error {
144+
s.AddKnownTypes(GroupVersion, &Organization{}, &OrganizationList{})
145+
return nil
146+
})
143147
}
144148

145149
func (o *Organization) GetConditions() greenhousemetav1alpha1.StatusConditions {

api/v1alpha1/plugin_types.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
1010
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
11+
"k8s.io/apimachinery/pkg/runtime"
1112

1213
greenhousemetav1alpha1 "github.com/cloudoperators/greenhouse/api/meta/v1alpha1"
1314
)
@@ -158,9 +159,6 @@ const (
158159
// PluginDefinitionNotBackedByHelmChartReason is set when the PluginDefinition is not backed by a Helm chart.
159160
PluginDefinitionNotBackedByHelmChartReason greenhousemetav1alpha1.ConditionReason = "PluginDefinitionNotBackedByHelmChart"
160161

161-
// HelmReleaseUninstalledReason is set when the Helm release has been uninstalled.
162-
HelmReleaseUninstalledReason greenhousemetav1alpha1.ConditionReason = "HelmReleaseUninstalled"
163-
164162
// HelmUninstallFailedReason is set when the Helm release could not be uninstalled.
165163
HelmUninstallFailedReason greenhousemetav1alpha1.ConditionReason = "HelmUninstallFailed"
166164

@@ -302,7 +300,10 @@ type PluginList struct {
302300
}
303301

304302
func init() {
305-
SchemeBuilder.Register(&Plugin{}, &PluginList{})
303+
SchemeBuilder.Register(func(s *runtime.Scheme) error {
304+
s.AddKnownTypes(GroupVersion, &Plugin{}, &PluginList{})
305+
return nil
306+
})
306307
}
307308

308309
func (o *Plugin) GetConditions() greenhousemetav1alpha1.StatusConditions {

api/v1alpha1/plugindefinition_types.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010

1111
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
1212
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
13+
"k8s.io/apimachinery/pkg/runtime"
1314

1415
greenhousemetav1alpha1 "github.com/cloudoperators/greenhouse/api/meta/v1alpha1"
1516
)
@@ -327,5 +328,8 @@ func (p *PluginDefinition) CanBeSuspended() bool {
327328
}
328329

329330
func init() {
330-
SchemeBuilder.Register(&PluginDefinition{}, &PluginDefinitionList{})
331+
SchemeBuilder.Register(func(s *runtime.Scheme) error {
332+
s.AddKnownTypes(GroupVersion, &PluginDefinition{}, &PluginDefinitionList{})
333+
return nil
334+
})
331335
}

api/v1alpha1/pluginpreset_types.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
1010
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
11+
"k8s.io/apimachinery/pkg/runtime"
1112

1213
greenhousemetav1alpha1 "github.com/cloudoperators/greenhouse/api/meta/v1alpha1"
1314
)
@@ -21,10 +22,6 @@ const (
2122

2223
// PluginDefinitionNotFound is set when the PluginDefinition referenced by the PluginPreset does not exist.
2324
PluginDefinitionNotFound greenhousemetav1alpha1.ConditionReason = "PluginDefinitionNotFound"
24-
25-
// PreventDeletionAnnotation is the annotation used to prevent deletion of a PluginPreset.
26-
// If the annotation is set the PluginPreset cannot be deleted.
27-
PreventDeletionAnnotation = "greenhouse.sap/prevent-deletion"
2825
)
2926

3027
// PluginPresetSpec defines the desired state of PluginPreset
@@ -193,5 +190,8 @@ type PluginPresetList struct {
193190
}
194191

195192
func init() {
196-
SchemeBuilder.Register(&PluginPreset{}, &PluginPresetList{})
193+
SchemeBuilder.Register(func(s *runtime.Scheme) error {
194+
s.AddKnownTypes(GroupVersion, &PluginPreset{}, &PluginPresetList{})
195+
return nil
196+
})
197197
}

0 commit comments

Comments
 (0)