Skip to content

Commit 1411db4

Browse files
authored
✨ Promote feature CRS to GA (#11365)
* initial changes: promote CRS to GA * Remove CRS from experimental-features * Address reviews * Fix Lint
1 parent 1b5e6b8 commit 1411db4

File tree

7 files changed

+12
-9
lines changed

7 files changed

+12
-9
lines changed

.golangci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ linters-settings:
7474
exclude:
7575
- '^ \+.*'
7676
- '^ ANCHOR.*'
77+
- '^ (alpha|beta|GA): v.*'
7778
gocritic:
7879
enabled-tags:
7980
- diagnostic

config/crd/bases/addons.cluster.x-k8s.io_clusterresourcesets.yaml

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

docs/book/src/SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
- [Experimental Features](./tasks/experimental-features/experimental-features.md)
3232
- [MachinePools](./tasks/experimental-features/machine-pools.md)
3333
- [MachineSetPreflightChecks](./tasks/experimental-features/machineset-preflight-checks.md)
34-
- [ClusterResourceSet](./tasks/experimental-features/cluster-resource-set.md)
3534
- [ClusterClass](./tasks/experimental-features/cluster-class/index.md)
3635
- [Writing a ClusterClass](./tasks/experimental-features/cluster-class/write-clusterclass.md)
3736
- [Changing a ClusterClass](./tasks/experimental-features/cluster-class/change-clusterclass.md)
@@ -45,6 +44,7 @@
4544
- [Running multiple providers](./tasks/multiple-providers.md)
4645
- [Verification of Container Images](./tasks/verify-container-images.md)
4746
- [Diagnostics](./tasks/diagnostics.md)
47+
- [ClusterResourceSet](./tasks/cluster-resource-set.md)
4848
- [Security Guidelines](./security/index.md)
4949
- [Pod Security Standards](./security/pod-security-standards.md)
5050
- [clusterctl CLI](./clusterctl/overview.md)

docs/book/src/tasks/experimental-features/cluster-resource-set.md renamed to docs/book/src/tasks/cluster-resource-set.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
# Experimental Feature: ClusterResourceSet (beta)
1+
# ClusterResourceSet (GA)
22

33
The `ClusterResourceSet` feature is introduced to provide a way to automatically apply a set of resources (such as CNI/CSI) defined by users to matching newly-created/existing clusters.
4+
`ClusterResourceSet` provides a basic solution for installing & managing resources, while for advanced use cases an addon provider must be used.
45

56
**Feature gate name**: `ClusterResourceSet`
67

78
**Variable name to enable/disable the feature gate**: `EXP_CLUSTER_RESOURCE_SET`
89

9-
The `ClusterResourceSet` feature is enabled by default, but can be disabled by setting the `EXP_CLUSTER_RESOURCE_SET` environment variable to `false`.
10+
The `ClusterResourceSet` feature is now GA and is enabled by default, but can be disabled by setting the `EXP_CLUSTER_RESOURCE_SET` environment variable to `false`.
1011

1112
More details on `ClusterResourceSet` can be found at:
1213
[ClusterResourceSet CAEP](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20200220-cluster-resource-set.md)

docs/book/src/tasks/experimental-features/experimental-features.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ Cluster API now ships with a new experimental package that lives under the `exp/
44
temporary location for features which will be moved to their permanent locations after graduation. Users can experiment with these features by enabling them using feature gates.
55

66
Currently Cluster API has the following experimental features:
7-
* `ClusterResourceSet` (env var: `EXP_CLUSTER_RESOURCE_SET`): [ClusterResourceSet](./cluster-resource-set.md)
87
* `MachinePool` (env var: `EXP_MACHINE_POOL`): [MachinePools](./machine-pools.md)
98
* `MachineSetPreflightChecks` (env var: `EXP_MACHINE_SET_PREFLIGHT_CHECKS`): [MachineSetPreflightChecks](./machineset-preflight-checks.md)
109
* `PriorityQueue` (env var: `EXP_PRIORITY_QUEUE`): Enables the usage of the controller-runtime PriorityQueue: https://github.com/kubernetes-sigs/controller-runtime/issues/2374
@@ -93,7 +92,7 @@ Following controller manager deployments have to be edited in order to enable/di
9392
* [CAPD](https://cluster-api.sigs.k8s.io/reference/glossary.html?highlight=Providers#capd). Other [Infrastructure Providers](https://cluster-api.sigs.k8s.io/reference/glossary.html?highlight=Providers#infrastructure-provider)
9493
might also require this. Please consult the docs of the concrete [Infrastructure Provider](https://cluster-api.sigs.k8s.io/reference/providers#infrastructure)
9594
regarding this.
96-
* [ClusterResourceSet](./cluster-resource-set.md):
95+
9796
* [CAPI](https://cluster-api.sigs.k8s.io/reference/glossary.html?highlight=Gloss#capi).
9897
* [ClusterClass](./cluster-class/index.md):
9998
* [CAPI](https://cluster-api.sigs.k8s.io/reference/glossary.html?highlight=Gloss#capi).
@@ -110,7 +109,6 @@ Following controller manager deployments have to be edited in order to enable/di
110109
## Active Experimental Features
111110

112111
* [MachinePools](./machine-pools.md)
113-
* [ClusterResourceSet](./cluster-resource-set.md)
114112
* [ClusterClass](./cluster-class/index.md)
115113
* [Ignition Bootstrap configuration](./ignition.md)
116114
* [Runtime SDK](runtime-sdk/index.md)

exp/addons/api/v1beta1/clusterresourceset_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ func (m *ClusterResourceSet) SetV1Beta2Conditions(conditions []metav1.Condition)
174174
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of ClusterResourceSet"
175175

176176
// ClusterResourceSet is the Schema for the clusterresourcesets API.
177+
// For advanced use cases an add-on provider should be used instead.
177178
type ClusterResourceSet struct {
178179
metav1.TypeMeta `json:",inline"`
179180
metav1.ObjectMeta `json:"metadata,omitempty"`

feature/feature.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ const (
3939
//
4040
// alpha: v0.3
4141
// beta: v0.4
42+
// GA: v1.10
4243
ClusterResourceSet featuregate.Feature = "ClusterResourceSet"
4344

4445
// ClusterTopology is a feature gate for the ClusterClass and managed topologies functionality.
@@ -84,7 +85,7 @@ func init() {
8485
// To add a new feature, define a key for it above and add it here.
8586
var defaultClusterAPIFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{
8687
// Every feature should be initiated here:
87-
ClusterResourceSet: {Default: true, PreRelease: featuregate.Beta},
88+
ClusterResourceSet: {Default: true, PreRelease: featuregate.GA},
8889
MachinePool: {Default: true, PreRelease: featuregate.Beta},
8990
MachineSetPreflightChecks: {Default: true, PreRelease: featuregate.Beta},
9091
MachineWaitForVolumeDetachConsiderVolumeAttachments: {Default: true, PreRelease: featuregate.Beta},

0 commit comments

Comments
 (0)