Skip to content

Commit

Permalink
Merge pull request #25 from sunilarjun/fix-tabs
Browse files Browse the repository at this point in the history
Syncing Next Version
  • Loading branch information
sunilarjun authored Oct 16, 2024
2 parents f2ab568 + 6d04fa8 commit 12150a9
Show file tree
Hide file tree
Showing 8 changed files with 63 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ helm install ... --set infrastructure="docker:v1.7.3;aws:v2.6.1"

The `infrastructure` flag is set to `docker:v1.7.3;aws:v2.6.1`, representing the desired provider names. This means that the `Cluster API Operator` will install and manage multiple providers, `Docker` and `AWS`, with versions `v1.7.3` and `v2.6.1` respectively.

The cluster is now ready to install {product_name}. The default behavior when installing the chart is to install Cluster API Operator as a Helm dependency. Since we decided to install it manually before installing {product_name}, the feature `cluster-api-operator.enabled` must be explicitly disabled as otherwise it would conflict with the existing installation. You can refer to xref:../developer-guide/install_capi_operator.adoc#_install_rancher_turtles_without_cluster_api_operator_as_a_helm_dependency[Install {product_name} without Cluster API Operator] to see next steps.
The cluster is now ready to install {product_name}. The default behavior when installing the chart is to install Cluster API Operator as a Helm dependency. Since we decided to install it manually before installing {product_name}, the feature `cluster-api-operator.enabled` must be explicitly disabled as otherwise it would conflict with the existing installation. You can refer to xref:../developer-guide/install_capi_operator.adoc#_install_suse_rancher_prime_cluster_api_without_cluster_api_operator_as_a_helm_dependency[Install {product_name} without Cluster API Operator] to see next steps.

[TIP]
====
Expand All @@ -120,7 +120,7 @@ and then it can be installed into the `rancher-turtles-system` namespace with:

[source,bash]
----
helm install rancher-turtles turtles/rancher-turtles --version v0.11.0
helm install rancher-turtles turtles/rancher-turtles --version v0.12.0
-n rancher-turtles-system
--set cluster-api-operator.enabled=false
--set cluster-api-operator.cluster-api.enabled=false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ CAPI Operator allows handling the lifecycle of Cluster API Providers using a dec

[IMPORTANT]
====
Before <<_install_rancher_turtles_with_cluster_api_operator_as_a_helm_dependency,installing {product_name}>> in your Rancher environment, Rancher's `embedded-cluster-api` functionality must be disabled. This includes also cleaning up Rancher-specific webhooks that otherwise would conflict with CAPI ones.
Before <<_install_suse_rancher_prime_cluster_api_with_cluster_api_operator_as_a_helm_dependency,installing {product_name}>> in your Rancher environment, Rancher's `embedded-cluster-api` functionality must be disabled. This includes also cleaning up Rancher-specific webhooks that otherwise would conflict with CAPI ones.
To simplify setting up Rancher for installing {product_name}, the official {product_name} Helm chart includes a `pre-install` hook that applies these changes, making it transparent to the end user:
Expand Down Expand Up @@ -45,7 +45,7 @@ As mentioned before, installing {product_name} requires the https://github.com/k

[source,bash]
----
helm install rancher-turtles turtles/rancher-turtles --version v0.11.0 \
helm install rancher-turtles turtles/rancher-turtles --version v0.12.0 \
-n rancher-turtles-system \
--dependency-update \
--create-namespace --wait \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ In case you need to review the list of prerequisites (including `cert-manager`),

[IMPORTANT]
====
Before xref:./using_helm.adoc#install-rancher-turtles-with-cluster-api-operator-as-a-helm-dependency[installing {product_name}] in your Rancher environment, Rancher's `embedded-cluster-api` functionality must be disabled. This includes also cleaning up Rancher-specific webhooks that otherwise would conflict with CAPI ones.
Before xref:./using_helm.adoc#_install_suse_rancher_prime_cluster_api_with_cluster_api_operator_as_a_helm_dependency[installing {product_name}] in your Rancher environment, Rancher's `embedded-cluster-api` functionality must be disabled. This includes also cleaning up Rancher-specific webhooks that otherwise would conflict with CAPI ones.
To simplify setting up Rancher for installing {product_name}, the official {product_name} Helm chart includes a `pre-install` hook that applies these changes, making it transparent to the end user:
Expand Down Expand Up @@ -41,7 +41,7 @@ If uninstalling, you can refer to xref:../getting-started/uninstall_turtles.adoc
* Wait for the `turtles` repository to have a status of `Active`.
* Go to `Apps` \-> `Charts`.
* Filter for `turtles`.
* Click `{product_name} - the Cluster API Extension`
* Click `Rancher Turtles - the Cluster API Extension`
* Click `Install` \-> `Next` \-> `Install`.

[CAUTION]
Expand Down
4 changes: 2 additions & 2 deletions versions/next/modules/en/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,15 @@ This demo shows how to use the Rancher UI to install {product_name}, create/impo
| Using https://cert-manager.io/docs/installation/helm/#installing-with-helm[helm] based installation or via https://cert-manager.io/docs/installation/#default-static-install[kubectl apply].

| Cluster API Operator
| `>=v0.12.0`
| `>=v0.13.0`
| Using xref:./getting-started/install-rancher-turtles/using_rancher_dashboard.adoc[Rancher UI] (recommended) or https://github.com/kubernetes-sigs/cluster-api-operator/blob/main/docs/README.md#method-2-use-helm-charts[Helm install] (for development use cases)

| Cluster API
| `v1.7.3`
|

| {product_name}
| `>v0.11.0`
| `>v0.12.0`
| Using xref:./getting-started/install-rancher-turtles/using_rancher_dashboard.adoc[Rancher UI] (recommended) or xref:./getting-started/install-rancher-turtles/using_helm.adoc[Helm install] (for advanced use cases)
|===

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ This is a list of the officially certified CAPI Providers by Turtles. These prov
| *RKE2*
| CAPRKE2
| Bootstrap/Control Plane
| https://github.com/rancher/cluster-api-provider-rke2
| https://rancher.github.io/cluster-api-provider-rke2

| *Kubeadm*
| Kubeadm
| Bootstrap/Control Plane
| https://github.com/kubernetes-sigs/cluster-api
| https://cluster-api.sigs.k8s.io/tasks/bootstrap/kubeadm-bootstrap

| *AWS*
| CAPA
Expand All @@ -40,7 +40,7 @@ This is a list of the officially certified CAPI Providers by Turtles. These prov
| Infrastructure
| https://github.com/kubernetes-sigs/cluster-api-provider-vsphere

| *Azure* (Only AKS clusters)
| *Azure* (Only AKS managed clusters)
| CAPZ
| Infrastructure
| https://capz.sigs.k8s.io/
Expand All @@ -59,10 +59,4 @@ This is a list of providers that are in an advanced state of development and wil

|===
| Platform | Code Name | Provider Type | Docs

| *Elemental*
| elemental
| Infrastructure
| https://github.com/rancher-sandbox/cluster-api-provider-elemental

|===
10 changes: 5 additions & 5 deletions versions/next/modules/en/pages/reference/glossary.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -259,10 +259,6 @@ A component deployed by Rancher in each Kubernetes cluster it manages. Its prima

The Rancher Manager (or Rancher Server) is where the Rancher UI and API are hosted, and it communicates with managed clusters through components like the <<_rancher_cluster_agent,Rancher Cluster Agent>>. It allows users to manage their Kubernetes clusters, applications, and Rancher-specific resources such as Catalogs, Users, Global Roles, and more.

=== {product_name}

A <<_kubernetes_operator,Kubernetes operator>> that provides integration between Rancher Manager and Cluster API (CAPI) with the aim of bringing full CAPI support to Rancher.

=== RKE2

Rancher's next-generation, fully conformant Kubernetes distribution that focuses on security and compliance within the U.S. Federal Government sector. See https://docs.rke2.io/[documentation] for more details.
Expand Down Expand Up @@ -290,6 +286,10 @@ is running as a static pod.

The infrastructure that backs a <<_machine,Machine Resource>>, typically either a cloud instance, virtual machine, or physical host.

=== {product_name}

A <<_kubernetes_operator,Kubernetes operator>> that provides integration between Rancher Manager and Cluster API (CAPI) with the aim of bringing full CAPI support to Rancher.

== T

=== Topology
Expand All @@ -301,7 +301,7 @@ See <<_clusterclass,ClusterClass>>

=== Turtles

Refers to <<_rancher_turtles,{product_name}>>
Refers to <<_suse_rancher_prime_cluster_api,{product_name}>>

== W

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
= ClusterctlConfig Resource

The `ClusterctlConfig` resource allows managing overrides for clusterctl (CAPI Operator) configurations in a declarative way. It is used to configure clusterctl providers and their urls, as well as version restrictions.

`ClusterctlConfig` follows a GitOps model - the spec fields are declarative user inputs. Turtles does not create or update the resource, it is up to user to specify provider url overrides and maintain its state. It takes precedence over embedded defaults or `clusterctl` default set of provider definitions.

https://github.com/rancher/turtles/blob/main/docs/adr/0012-clusterctl-provider.md[ADR]

== Usage

To use the `ClusterctlConfig` resource:

. Create a `ClusterctlConfig` resource with the `clusterctl-config` name in the `turtles` namespace.
. The `ClusterctlConfig` controller will handle updates for the `ConfigMap` mounted to the `cluster-api-operator` with the required clusterctl configuration based on the `ClusterctlConfig` spec.
. Manage the `ClusterctlConfig` object declaratively to apply changes to the generated provider configurations. It may require some time for changes to take effect, as `kubelet` takes care of updating mounted point based on `ConfigMap` state.

Here is an example `ClusterctlConfig` manifest:

[,yaml]
----
apiVersion: turtles-capi.cattle.io/v1alpha1
kind: ClusterctlConfig
metadata:
name: clusterctl-config
namespace: rancher-turtles-system
spec:
providers:
- name: metal3
url: https://github.com/metal3-io/cluster-api-provider-metal3/releases/v1.7.1/infrastructure-components.yaml
type: InfrastructureProvider
----

This example will generate a clusterctl configuration for the `metal3` provider with the specified URL and type.

== Specification

The key fields in the `ClusterctlConfig` spec are:

* `providers[].name` - Name of the provider (e.g. metal3)
* `providers[].url` - URL of the provider configuration (e.g.
https://github.com/metal3-io/cluster-api-provider-metal3/releases/v1.7.1/infrastructure-components.yaml). This can use `latest` release, if supported, or pin the maximum version to `v1.7.1` for example.
* `providers[].type` - Type of the provider (e.g. InfrastructureProvider)

== Deletion

When a `ClusterctlConfig` resource is deleted, the config map is reverted to its original state, managed by turtles.
1 change: 1 addition & 0 deletions versions/next/modules/en/version-next-sidebars.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
*** xref:tasks/capi-operator/basic_cluster_api_provider_installation.adoc[Basic Cluster API Provider Installation]
*** xref:tasks/capi-operator/installing_core_provider.adoc[Installing the CoreProvider using CAPIProvider resource]
*** xref:tasks/capi-operator/capiprovider_resource.adoc[CAPIProvider Resource]
*** xref:tasks/capi-operator/clusterctlconfig_resource.adoc[ClusterctlConfig Resource]
*** xref:tasks/capi-operator/add_infrastructure_provider.adoc[Installing AWS Infrastructure Provider using CAPIProvider resource]
** Maintenance
*** xref:tasks/maintenance/early_adopter_upgrade.adoc[Upgrade Instructions for Early Adopters]
Expand Down

0 comments on commit 12150a9

Please sign in to comment.