Skip to content

Commit 4a40038

Browse files
authored
chore: Last backport of March (#1281)
2 parents be38af7 + 25aaed7 commit 4a40038

File tree

33 files changed

+3543
-840
lines changed

33 files changed

+3543
-840
lines changed

apis/placement/v1/clusterresourceplacement_types.go

Lines changed: 520 additions & 129 deletions
Large diffs are not rendered by default.

apis/placement/v1/commons.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,19 @@ limitations under the License.
1717
package v1
1818

1919
const (
20-
// fleetPrefix is the prefix used for official fleet labels/annotations.
20+
// FleetPrefix is the prefix used for official fleet labels/annotations.
2121
// Unprefixed labels/annotations are reserved for end-users
2222
// See https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#label-selector-and-annotation-conventions
23-
fleetPrefix = "kubernetes-fleet.io/"
23+
FleetPrefix = "kubernetes-fleet.io/"
2424
)
2525

2626
// NamespacedName comprises a resource name, with a mandatory namespace.
2727
type NamespacedName struct {
2828
// Name is the name of the namespaced scope resource.
29-
// +required
29+
// +kubebuilder:validation:Required
3030
Name string `json:"name"`
31+
3132
// Namespace is namespace of the namespaced scope resource.
32-
// +required
33+
// +kubebuilder:validation:Required
3334
Namespace string `json:"namespace"`
3435
}

apis/placement/v1/override_types.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
// +genclient:nonNamespaced
2626
// +kubebuilder:object:root=true
2727
// +kubebuilder:resource:scope="Cluster",categories={fleet,fleet-placement}
28+
// +kubebuilder:validation:XValidation:rule="!has(self.spec.placement) || self.spec.placement.scope != 'Namespaced'",message="clusterResourceOverride placement reference cannot be Namespaced scope"
2829
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
2930

3031
// ClusterResourceOverride defines a group of override policies about how to override the selected cluster scope resources
@@ -48,7 +49,6 @@ type ClusterResourceOverrideSpec struct {
4849
// If set, the override will trigger the placement rollout immediately when the rollout strategy type is RollingUpdate.
4950
// Otherwise, it will be applied to the next rollout.
5051
// The recommended way is to set the placement so that the override can be rolled out immediately.
51-
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="The placement field is immutable"
5252
// +optional
5353
Placement *PlacementRef `json:"placement,omitempty"`
5454

@@ -61,7 +61,7 @@ type ClusterResourceOverrideSpec struct {
6161
// +kubebuilder:validation:MinItems=1
6262
// +kubebuilder:validation:MaxItems=20
6363
// +required
64-
ClusterResourceSelectors []ClusterResourceSelector `json:"clusterResourceSelectors"`
64+
ClusterResourceSelectors []ResourceSelectorTerm `json:"clusterResourceSelectors"`
6565

6666
// Policy defines how to override the selected resources on the target clusters.
6767
// +required
@@ -84,8 +84,8 @@ const (
8484
type PlacementRef struct {
8585
// Name is the reference to the name of placement.
8686
// +required
87-
8887
Name string `json:"name"`
88+
8989
// Scope defines the scope of the placement.
9090
// A clusterResourceOverride can only reference a clusterResourcePlacement (cluster-scoped),
9191
// and a resourceOverride can reference either a clusterResourcePlacement or resourcePlacement (namespaced).

apis/placement/v1/overridesnapshot_types.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2020

2121
const (
2222

23-
// OverrideIndexLabel is the label that indicate the policy snapshot index of a cluster policy.
24-
OverrideIndexLabel = fleetPrefix + "override-index"
23+
// OverrideIndexLabel is the label that indicates the override snapshot index of an override.
24+
OverrideIndexLabel = FleetPrefix + "override-index"
2525

2626
// OverrideSnapshotNameFmt is clusterResourceOverrideSnapshot name format: {CROName}-{OverrideSnapshotIndex}.
2727
OverrideSnapshotNameFmt = "%s-%d"
2828

2929
// OverrideTrackingLabel is the label that points to the cluster resource override that creates a resource snapshot.
30-
OverrideTrackingLabel = fleetPrefix + "parent-resource-override"
30+
OverrideTrackingLabel = FleetPrefix + "parent-resource-override"
3131

3232
// OverrideFinalizer is a finalizer added by the override controllers to all override, to make sure
3333
// that the override controller can react to override deletions if necessary.
34-
OverrideFinalizer = fleetPrefix + "override-cleanup"
34+
OverrideFinalizer = FleetPrefix + "override-cleanup"
3535
)
3636

3737
// +genclient

0 commit comments

Comments
 (0)