File tree Expand file tree Collapse file tree 4 files changed +27
-7
lines changed
pkg/controllers/updaterun Expand file tree Collapse file tree 4 files changed +27
-7
lines changed Original file line number Diff line number Diff line change @@ -74,14 +74,32 @@ type OverrideRule struct {
7474 // +optional
7575 ClusterSelector * placementv1beta1.ClusterSelector `json:"clusterSelector,omitempty"`
7676
77+ // OverrideType defines the type of the override rules.
78+ // +kubebuilder:validation:Enum=JSONPatch;Delete
79+ // +kubebuilder:default:JSONPatch
80+ // +optional
81+ OverrideType OverrideType `json:"overrideType,omitempty"`
82+
7783 // JSONPatchOverrides defines a list of JSON patch override rules.
84+ // This field is only allowed when OverrideType is JSONPatch.
7885 // +kubebuilder:validation:Required
7986 // +kubebuilder:validation:MinItems=1
8087 // +kubebuilder:validation:MaxItems=20
81- // +required
82- JSONPatchOverrides []JSONPatchOverride `json:"jsonPatchOverrides"`
88+ // +optional
89+ JSONPatchOverrides []JSONPatchOverride `json:"jsonPatchOverrides,omitempty "`
8390}
8491
92+ // OverrideType defines the type of Override
93+ type OverrideType string
94+
95+ const (
96+ // JSONPatchOverrideType applies a JSON patch on the selected resources following [RFC 6902](https://datatracker.ietf.org/doc/html/rfc6902).
97+ JSONPatchOverrideType OverrideType = "JSONPatch"
98+
99+ // DeleteOverrideType deletes the selected resources on the target clusters.
100+ DeleteOverrideType OverrideType = "Delete"
101+ )
102+
85103// +genclient
86104// +genclient:Namespaced
87105// +kubebuilder:object:root=true
Original file line number Diff line number Diff line change @@ -11,8 +11,6 @@ import (
1111 "fmt"
1212 "time"
1313
14- "go.goms.io/fleet/pkg/utils"
15- "go.goms.io/fleet/pkg/utils/controller"
1614 "k8s.io/apimachinery/pkg/types"
1715 "k8s.io/client-go/tools/record"
1816 "k8s.io/client-go/util/workqueue"
@@ -27,6 +25,8 @@ import (
2725 "sigs.k8s.io/controller-runtime/pkg/reconcile"
2826
2927 placementv1alpha1 "go.goms.io/fleet/apis/placement/v1alpha1"
28+ "go.goms.io/fleet/pkg/utils"
29+ "go.goms.io/fleet/pkg/utils/controller"
3030)
3131
3232// Reconciler reconciles a ClusterStagedUpdateRun object.
Original file line number Diff line number Diff line change @@ -8,11 +8,12 @@ package updaterun
88import (
99 "testing"
1010
11- placementv1alpha1 "go.goms.io/fleet/apis/placement/v1alpha1"
1211 "k8s.io/client-go/util/workqueue"
1312 "sigs.k8s.io/controller-runtime/pkg/client"
1413 "sigs.k8s.io/controller-runtime/pkg/controller/controllertest"
1514 "sigs.k8s.io/controller-runtime/pkg/reconcile"
15+
16+ placementv1alpha1 "go.goms.io/fleet/apis/placement/v1alpha1"
1617)
1718
1819func TestHandleClusterApprovalRequest (t * testing.T ) {
You can’t perform that action at this time.
0 commit comments