diff --git a/docs/book/src/clusterctl/provider-contract.md b/docs/book/src/clusterctl/provider-contract.md index 2f2da3d7f5b1..e92aaeda08a4 100644 --- a/docs/book/src/clusterctl/provider-contract.md +++ b/docs/book/src/clusterctl/provider-contract.md @@ -199,18 +199,19 @@ easier transition from `kubectl apply` to `clusterctl`. As a reference you can consider the labels applied to the following providers. -| Provider Name| Label | -|--------------|----------------------------------------------------| -|CAPI | cluster.x-k8s.io/provider=cluster-api | -|CABPK | cluster.x-k8s.io/provider=bootstrap-kubeadm | -|CACPK | cluster.x-k8s.io/provider=control-plane-kubeadm | -|CAPA | cluster.x-k8s.io/provider=infrastructure-aws | -|CAPV | cluster.x-k8s.io/provider=infrastructure-vsphere | -|CAPD | cluster.x-k8s.io/provider=infrastructure-docker | -|CAPM3 | cluster.x-k8s.io/provider=infrastructure-metal3 | -|CAPP | cluster.x-k8s.io/provider=infrastructure-packet | -|CAPZ | cluster.x-k8s.io/provider=infrastructure-azure | -|CAPO | cluster.x-k8s.io/provider=infrastructure-openstack | +| Provider Name| Label | +|--------------|--------------------------------------------------------| +|CAPI | cluster.x-k8s.io/provider=cluster-api | +|CABPK | cluster.x-k8s.io/provider=bootstrap-kubeadm | +|CACPK | cluster.x-k8s.io/provider=control-plane-kubeadm | +|CAPA | cluster.x-k8s.io/provider=infrastructure-aws | +|CAPV | cluster.x-k8s.io/provider=infrastructure-vsphere | +|CAPD | cluster.x-k8s.io/provider=infrastructure-docker | +|CAPM3 | cluster.x-k8s.io/provider=infrastructure-metal3 | +|CAPP | cluster.x-k8s.io/provider=infrastructure-packet | +|CAPZ | cluster.x-k8s.io/provider=infrastructure-azure | +|CAPO | cluster.x-k8s.io/provider=infrastructure-openstack | +|CAPDO | cluster.x-k8s.io/provider=infrastructure-digitalocean | ### Workload cluster templates diff --git a/docs/book/src/developer/tilt.md b/docs/book/src/developer/tilt.md index 2e6baa4a42dc..738ca12a9de8 100644 --- a/docs/book/src/developer/tilt.md +++ b/docs/book/src/developer/tilt.md @@ -73,7 +73,7 @@ for more details. **kustomize_substitutions** (Map{String: String}, default={}): An optional map of substitutions for `${}`-style placeholders in the provider's yaml. -{{#tabs name:"tab-tilt-kustomize-substitution" tabs:"AWS,Azure,GCP"}} +{{#tabs name:"tab-tilt-kustomize-substitution" tabs:"AWS,Azure,DigitalOcean,GCP"}} {{#tab AWS}} For example, if the yaml contains `${AWS_B64ENCODED_CREDENTIALS}`, you could do the following: @@ -123,6 +123,15 @@ Add the output of the following as a section in your `tilt-settings.json`: EOF ``` +{{#/tab }} +{{#tab DigitalOcean}} + +```json +"kustomize_substitutions": { + "DO_B64ENCODED_CREDENTIALS": "your credentials here" +} +``` + {{#/tab }} {{#tab GCP}} diff --git a/docs/book/src/reference/glossary.md b/docs/book/src/reference/glossary.md index d5205dabf0cc..1a364d45ca75 100644 --- a/docs/book/src/reference/glossary.md +++ b/docs/book/src/reference/glossary.md @@ -41,6 +41,9 @@ Cluster API Bootstrap Provider Kubeadm ### CAPD Cluster API Provider Docker +### CAPDO +Cluster API Provider DigitalOcean + ### CAPG Cluster API Google Cloud Provider diff --git a/docs/book/src/user/quick-start.md b/docs/book/src/user/quick-start.md index 13b6330d74fa..0d3a79a0c9b6 100644 --- a/docs/book/src/user/quick-start.md +++ b/docs/book/src/user/quick-start.md @@ -160,7 +160,7 @@ and `kubeadm` control-plane providers. Depending on the infrastructure provider you are planning to use, some additional prerequisites should be satisfied before getting started with Cluster API. See below for the expected settings for common providers. -{{#tabs name:"tab-installation-infrastructure" tabs:"AWS,Azure,Docker,GCP,vSphere,OpenStack,Metal3,Packet"}} +{{#tabs name:"tab-installation-infrastructure" tabs:"AWS,Azure,DigitalOcean,Docker,GCP,vSphere,OpenStack,Metal3,Packet"}} {{#tab AWS}} Download the latest binary of `clusterawsadm` from the [AWS provider releases] and make sure to place it in your path. You need at least version v0.5.5 for these instructions. @@ -216,6 +216,18 @@ export AZURE_CLIENT_SECRET_B64="$(echo -n "$AZURE_CLIENT_SECRET" | base64 | tr - clusterctl init --infrastructure azure ``` +{{#/tab }} +{{#tab DigitalOcean}} + +```bash +export DIGITALOCEAN_ACCESS_TOKEN= +export DO_B64ENCODED_CREDENTIALS="$(echo -n "${DIGITALOCEAN_ACCESS_TOKEN}" | base64 | tr -d '\n')" + +# Initialize the management cluster +clusterctl init --infrastructure digitalocean +``` + + {{#/tab }} {{#tab Docker}} @@ -362,7 +374,7 @@ before configuring a cluster with Cluster API. Instructions are provided for com Otherwise, you can look at the `clusterctl config cluster` [command][clusterctl config cluster] documentation for details about how to discover the list of variables required by a cluster templates. -{{#tabs name:"tab-configuration-infrastructure" tabs:"AWS,Azure,Docker,GCP,vSphere,OpenStack,Metal3,Packet"}} +{{#tabs name:"tab-configuration-infrastructure" tabs:"AWS,Azure,DigitalOcean,Docker,GCP,vSphere,OpenStack,Metal3,Packet"}} {{#tab AWS}} ```bash @@ -387,6 +399,21 @@ export AZURE_CONTROL_PLANE_MACHINE_TYPE="Standard_D2s_v3" export AZURE_NODE_MACHINE_TYPE="Standard_D2s_v3" ``` +{{#/tab }} +{{#tab DigitalOcean}} + +A ClusterAPI compatible image must be available in your DigitalOcean account. For instructions on how to build a compatible image +see [image-builder](https://image-builder.sigs.k8s.io/capi/capi.html). + +```bash +export DO_REGION=nyc1 +export DO_SSH_KEY_FINGERPRINT= +export DO_CONTROL_PLANE_MACHINE_TYPE=s-2vcpu-2gb +export DO_CONTROL_PLANE_MACHINE_IMAGE= +export DO_NODE_MACHINE_TYPE=s-2vcpu-2gb +export DO_NODE_MACHINE_IMAGE== +``` + {{#/tab }} {{#tab Docker}} @@ -525,8 +552,8 @@ export WORKER_NODE_TYPE="t1.small" For the purpose of this tutorial, we'll name our cluster capi-quickstart. -{{#tabs name:"tab-clusterctl-config-cluster" tabs:"Azure|AWS|GCP|vSphere|OpenStack|Metal3|Packet,Docker"}} -{{#tab Azure|AWS|GCP|vSphere|OpenStack|Metal3|Packet}} +{{#tabs name:"tab-clusterctl-config-cluster" tabs:"Azure|AWS|DigitalOcean|GCP|vSphere|OpenStack|Metal3|Packet,Docker"}} +{{#tab Azure|AWS|DigitalOcean|GCP|vSphere|OpenStack|Metal3|Packet}} ```bash clusterctl config cluster capi-quickstart \ @@ -643,8 +670,8 @@ See [Additional Notes for the Docker Provider](../clusterctl/developers.md#addit Calico is used here as an example. -{{#tabs name:"tab-deploy-cni" tabs:"AWS|Docker|GCP|vSphere|OpenStack|Metal3|Packet,Azure"}} -{{#tab AWS|Docker|GCP|vSphere|OpenStack|Metal3|Packet}} +{{#tabs name:"tab-deploy-cni" tabs:"AWS|DigitalOcean|Docker|GCP|vSphere|OpenStack|Metal3|Packet,Azure"}} +{{#tab AWS|DigitalOcean|Docker|GCP|vSphere|OpenStack|Metal3|Packet}} ```bash kubectl --kubeconfig=./capi-quickstart.kubeconfig \