Skip to content

Commit 50907ff

Browse files
feat: refactor rollout controller (#115)
1 parent d5e3c48 commit 50907ff

28 files changed

+1039
-531
lines changed

.github/.copilot/breadcrumbs/2025-06-24-0900-rollout-controller-binding-interface-refactor.md

Lines changed: 511 additions & 0 deletions
Large diffs are not rendered by default.

apis/placement/v1beta1/binding_types.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import (
2020
"k8s.io/apimachinery/pkg/api/meta"
2121
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2222
"sigs.k8s.io/controller-runtime/pkg/client"
23+
24+
"github.com/kubefleet-dev/kubefleet/apis"
2325
)
2426

2527
const (
@@ -52,7 +54,7 @@ type BindingStatusGetterSetter interface {
5254
// A BindingObj offers an abstract way to work with fleet binding objects.
5355
// +kubebuilder:object:generate=false
5456
type BindingObj interface {
55-
client.Object
57+
apis.ConditionedObj
5658
BindingSpecGetterSetter
5759
BindingStatusGetterSetter
5860
}

apis/placement/v1beta1/clusterresourceplacement_types.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ import (
2222
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2323
"k8s.io/apimachinery/pkg/util/intstr"
2424
"sigs.k8s.io/controller-runtime/pkg/client"
25+
26+
"github.com/kubefleet-dev/kubefleet/apis"
2527
)
2628

2729
const (
@@ -58,7 +60,7 @@ type PlacementStatusGetterSetter interface {
5860
// PlacementObj offers the functionality to work with fleet placement object.
5961
// +kubebuilder:object:generate=false
6062
type PlacementObj interface {
61-
client.Object
63+
apis.ConditionedObj
6264
PlacementSpecGetterSetter
6365
PlacementStatusGetterSetter
6466
}

apis/placement/v1beta1/policysnapshot_types.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import (
2020
"k8s.io/apimachinery/pkg/api/meta"
2121
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2222
"sigs.k8s.io/controller-runtime/pkg/client"
23+
24+
"github.com/kubefleet-dev/kubefleet/apis"
2325
)
2426

2527
const (
@@ -57,7 +59,7 @@ type PolicySnapshotStatusGetterSetter interface {
5759
// A PolicySnapshotObj offers an abstract way to work with a fleet policy snapshot object.
5860
// +kubebuilder:object:generate=false
5961
type PolicySnapshotObj interface {
60-
client.Object
62+
apis.ConditionedObj
6163
PolicySnapshotSpecGetterSetter
6264
PolicySnapshotStatusGetterSetter
6365
}

apis/placement/v1beta1/resourcesnapshot_types.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ import (
2121
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2222
"k8s.io/apimachinery/pkg/runtime"
2323
"sigs.k8s.io/controller-runtime/pkg/client"
24+
25+
"github.com/kubefleet-dev/kubefleet/apis"
2426
)
2527

2628
const (
@@ -74,7 +76,7 @@ type ResourceSnapshotStatusGetterSetter interface {
7476
// A ResourceSnapshotObj offers an abstract way to work with a resource snapshot object.
7577
// +kubebuilder:object:generate=false
7678
type ResourceSnapshotObj interface {
77-
client.Object
79+
apis.ConditionedObj
7880
ResourceSnapshotSpecGetterSetter
7981
ResourceSnapshotStatusGetterSetter
8082
}

charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterresourceenvelopes.yaml

Lines changed: 0 additions & 58 deletions
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../config/crd/bases/placement.kubernetes-fleet.io_clusterresourceenvelopes.yaml
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../config/crd/bases/placement.kubernetes-fleet.io_resourcebindings.yaml

charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_resourceenvelopes.yaml

Lines changed: 0 additions & 58 deletions
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../config/crd/bases/placement.kubernetes-fleet.io_resourceenvelopes.yaml

0 commit comments

Comments
 (0)