diff --git a/.github/workflows/test_chart.yaml b/.github/workflows/test_chart.yaml index 7b697ebd..241ba828 100644 --- a/.github/workflows/test_chart.yaml +++ b/.github/workflows/test_chart.yaml @@ -59,7 +59,7 @@ jobs: run: kind load docker-image ${{ env.MANIFEST_IMG }}:${{ env.TAG }} - name: Run chart-testing (install) - run: helm install rancher-turtles out/charts/rancher-turtles/ -n rancher-turtles-system --create-namespace --wait --set cluster-api-operator.cert-manager.enabled=true + run: helm install rancher-turtles out/charts/rancher-turtles/ -n rancher-turtles-system --create-namespace --wait --set cluster-api-operator.cert-manager.enabled=true --set capi.enabled=false - name: Run chart-testing (un-install) run: helm uninstall rancher-turtles -n rancher-turtles-system --wait diff --git a/README.md b/README.md index 2dad1d03..449963d1 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,72 @@ Currently this project has the following functionality: ## How to use this? -Instructions coming soon :) +### Installation + +``` +Note: The following will only work after we release the first version of the extension. +``` + +Prerequisites: + +- Running [Rancher Manager cluster](https://ranchermanager.docs.rancher.com/) with cert-manager +- [Helm](https://helm.sh/) + +Quick start: + +These commands will install: Rancher turtles extension, CAPI Operator, CAPI itself with kubeadmin bootstrap and control plane providers. + +```bash +helm repo add rancher-turtles https://rancher-sandbox.github.io/rancher-turtles +helm repo update +helm install rancher-turtles rancher-turtles/rancher-turtles --create-namespace -n rancher-turtles-system +``` + +Customizing the deployment: + +The Rancher turtles Helm chart supports the following values: + +```yaml +rancherTurtles: + image: controller # image to use for the extension + tag: v0.0.0 # tag to use for the extension + imagePullPolicy: Never # image pull policy to use for the extension + namespace: rancher-turtles-system # namespace to deploy to (default: rancher-turtles-system) +clusterAPI: + enabled: true # indicates if core CAPI controllers should be installed (default: true) + version: v1.4.6 # version of CAPI to install (default: v1.4.6) + configSecret: + name: "" # name of the config secret to use for core CAPI controllers, used by the CAPI operator. See [CAPI operator](https://github.com/kubernetes-sigs/cluster-api-operator/tree/main/docs#installing-azure-infrastructure-provider) docs for more details. + namespace: "" # namespace of the config secret to use for core CAPI controllers, used by the CAPI operator. + core: + namespace: capi-system + fetchConfig: # (only required for airgapped environments) + url: "" # url to fetch config from, used by the CAPI operator. See [CAPI operator](https://github.com/kubernetes-sigs/cluster-api-operator/tree/main/docs#provider-spec) docs for more details. + selector: "" # selector to use for fetching config, used by the CAPI operator. + kubeadmBootstrap: + namespace: capi-kubeadm-bootstrap-system + fetchConfig: + url: "" + selector: "" + kubeadmControlPlane: + namespace: capi-kubeadm-control-plane-system + fetchConfig: + url: "" + selector: "" +cluster-api-operator: + enabled: true # indicates if CAPI operator should be installed (default: true) + +``` +### Installing CAPI providers + +The Rancher turtles extension does not install any CAPI providers, you will need to install them yourself using [CAPI operator](https://github.com/kubernetes-sigs/cluster-api-operator/tree/main/docs). + +To quickly deploy docker infrastructure, kubeadm bootstrap and control plane providers, apply the following: + +``` +kubectl apply -f https://raw.githubusercontent.com/rancher-sandbox/rancher-turtles/main/test/e2e/resources/config/capi-providers-secret.yaml +kubectl apply -f https://raw.githubusercontent.com/rancher-sandbox/rancher-turtles/main/test/e2e/resources/config/capi-providers.yaml +``` ## How to contribute? See our [contributor guide](CONTRIBUTING.md) for more details on how to get involved. @@ -68,4 +133,4 @@ What happens when you run `make dev-env`? ## Code of Conduct -Participation in the project is governed by [Code of Conduct](code-of-conduct.md). \ No newline at end of file +Participation in the project is governed by [Code of Conduct](code-of-conduct.md).