diff --git a/config/crd/bases/addons.cluster.x-k8s.io_clusterresourcesets.yaml b/config/crd/bases/addons.cluster.x-k8s.io_clusterresourcesets.yaml index 8d8ac27c60ea..59d1a613cccd 100644 --- a/config/crd/bases/addons.cluster.x-k8s.io_clusterresourcesets.yaml +++ b/config/crd/bases/addons.cluster.x-k8s.io_clusterresourcesets.yaml @@ -366,8 +366,10 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: ClusterResourceSet is the Schema for the clusterresourcesets - API. + description: |- + ClusterResourceSet is the Schema for the clusterresourcesets API + it provides a basic solution for installing & managing resources + while for advanced use cases an addon provider must be used. properties: apiVersion: description: |- diff --git a/docs/book/src/SUMMARY.md b/docs/book/src/SUMMARY.md index 8bf8fa477298..e3a79a953063 100644 --- a/docs/book/src/SUMMARY.md +++ b/docs/book/src/SUMMARY.md @@ -31,7 +31,6 @@ - [Experimental Features](./tasks/experimental-features/experimental-features.md) - [MachinePools](./tasks/experimental-features/machine-pools.md) - [MachineSetPreflightChecks](./tasks/experimental-features/machineset-preflight-checks.md) - - [ClusterResourceSet](./tasks/experimental-features/cluster-resource-set.md) - [ClusterClass](./tasks/experimental-features/cluster-class/index.md) - [Writing a ClusterClass](./tasks/experimental-features/cluster-class/write-clusterclass.md) - [Changing a ClusterClass](./tasks/experimental-features/cluster-class/change-clusterclass.md) @@ -45,6 +44,7 @@ - [Running multiple providers](./tasks/multiple-providers.md) - [Verification of Container Images](./tasks/verify-container-images.md) - [Diagnostics](./tasks/diagnostics.md) + - [ClusterResourceSet](./tasks/cluster-resource-set.md) - [Security Guidelines](./security/index.md) - [Pod Security Standards](./security/pod-security-standards.md) - [clusterctl CLI](./clusterctl/overview.md) diff --git a/docs/book/src/tasks/experimental-features/cluster-resource-set.md b/docs/book/src/tasks/cluster-resource-set.md similarity index 87% rename from docs/book/src/tasks/experimental-features/cluster-resource-set.md rename to docs/book/src/tasks/cluster-resource-set.md index 8a666e73fd6f..6a6144c8ea85 100644 --- a/docs/book/src/tasks/experimental-features/cluster-resource-set.md +++ b/docs/book/src/tasks/cluster-resource-set.md @@ -1,12 +1,13 @@ -# Experimental Feature: ClusterResourceSet (beta) +# ClusterResourceSet (GA) 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. +`ClusterResourceSet` provides a basic solution for installing & managing resources, while for advanced use cases an addon provider must be used. **Feature gate name**: `ClusterResourceSet` **Variable name to enable/disable the feature gate**: `EXP_CLUSTER_RESOURCE_SET` -The `ClusterResourceSet` feature is enabled by default, but can be disabled by setting the `EXP_CLUSTER_RESOURCE_SET` environment variable to `false`. +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`. More details on `ClusterResourceSet` can be found at: [ClusterResourceSet CAEP](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20200220-cluster-resource-set.md) diff --git a/docs/book/src/tasks/experimental-features/experimental-features.md b/docs/book/src/tasks/experimental-features/experimental-features.md index 4fbd42d6cfed..4583d848023d 100644 --- a/docs/book/src/tasks/experimental-features/experimental-features.md +++ b/docs/book/src/tasks/experimental-features/experimental-features.md @@ -92,7 +92,7 @@ Following controller manager deployments have to be edited in order to enable/di * [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) might also require this. Please consult the docs of the concrete [Infrastructure Provider](https://cluster-api.sigs.k8s.io/reference/providers#infrastructure) regarding this. -* [ClusterResourceSet](./cluster-resource-set.md): + * [CAPI](https://cluster-api.sigs.k8s.io/reference/glossary.html?highlight=Gloss#capi). * [ClusterClass](./cluster-class/index.md): * [CAPI](https://cluster-api.sigs.k8s.io/reference/glossary.html?highlight=Gloss#capi). @@ -109,7 +109,6 @@ Following controller manager deployments have to be edited in order to enable/di ## Active Experimental Features * [MachinePools](./machine-pools.md) -* [ClusterResourceSet](./cluster-resource-set.md) * [ClusterClass](./cluster-class/index.md) * [Ignition Bootstrap configuration](./ignition.md) * [Runtime SDK](runtime-sdk/index.md) diff --git a/exp/addons/api/v1beta1/clusterresourceset_types.go b/exp/addons/api/v1beta1/clusterresourceset_types.go index 780bd28c5627..0050f003a26e 100644 --- a/exp/addons/api/v1beta1/clusterresourceset_types.go +++ b/exp/addons/api/v1beta1/clusterresourceset_types.go @@ -153,7 +153,9 @@ func (m *ClusterResourceSet) SetV1Beta2Conditions(conditions []metav1.Condition) // +kubebuilder:storageversion // +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of ClusterResourceSet" -// ClusterResourceSet is the Schema for the clusterresourcesets API. +// ClusterResourceSet is the Schema for the clusterresourcesets API +// it provides a basic solution for installing & managing resources +// while for advanced use cases an addon provider must be used. type ClusterResourceSet struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/feature/feature.go b/feature/feature.go index 9d1af07ab350..c9545f2b70c1 100644 --- a/feature/feature.go +++ b/feature/feature.go @@ -39,6 +39,7 @@ const ( // // alpha: v0.3 // beta: v0.4 + // GA: v1.9. ClusterResourceSet featuregate.Feature = "ClusterResourceSet" // ClusterTopology is a feature gate for the ClusterClass and managed topologies functionality. @@ -78,7 +79,7 @@ func init() { // To add a new feature, define a key for it above and add it here. var defaultClusterAPIFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{ // Every feature should be initiated here: - ClusterResourceSet: {Default: true, PreRelease: featuregate.Beta}, + ClusterResourceSet: {Default: true, PreRelease: featuregate.GA}, MachinePool: {Default: true, PreRelease: featuregate.Beta}, MachineSetPreflightChecks: {Default: true, PreRelease: featuregate.Beta}, MachineWaitForVolumeDetachConsiderVolumeAttachments: {Default: true, PreRelease: featuregate.Beta},