Skip to content

Conversation

@perylemke
Copy link
Contributor

What does this PR do?

This PR proposes creating examples of Cluster API resources.

How to run (bootstrap)

Important

We are testing on Ubuntu

Please install Docker manually before continuing: https://docs.docker.com/engine/install/ubuntu

Add your user to the docker group and refresh the session:

sudo usermod -aG docker $USER
newgrp docker
id -nG

Then test without sudo:

docker info
docker ps

Clone the repository and go into the project directory:

git clone https://github.com/latitudesh/cluster-api-provider-latitudesh.git
cd cluster-api-provider-latitudesh

Export your API Key:

export LATITUDE_API_KEY=<YOUR_API_KEY>

Run the bootstrap script:

make bootstrap

The script will:

  • Create (or reuse) the kind cluster named by $CLUSTER_NAME (see hack/.env.dev)
  • Apply CRDs and manager manifests
  • Wait for the controller rollout

Check provider installation:

kubectl get providers -A

You should see something similar to:

NAMESPACE                           NAME                        AGE   TYPE                     PROVIDER      VERSION
capi-kubeadm-bootstrap-system       bootstrap-kubeadm           17h   BootstrapProvider        kubeadm       v1.11.1
capi-kubeadm-control-plane-system   control-plane-kubeadm       17h   ControlPlaneProvider     kubeadm       v1.11.1
capi-system                         cluster-api                 17h   CoreProvider             cluster-api   v1.11.1
capl-dev                            infrastructure-latitudesh   43h   InfrastructureProvider   latitudesh    v0.1.0

List CAPL API resources:

kubectl api-resources --api-group=infrastructure.cluster.x-k8s.io

Open again the examples repository

cd examples/cluster-api

To create a cluster running the commands below:

sed -i \
  -e 's/<CLUSTER_NAME>/my-cluster/g' \
  -e 's/<PROJECT_ID>/your-project-id/g' \
  -e 's/<LOCATION>/SAO2/g' \
  -e 's/<PLAN>/c2-small-x86/g' \
  -e 's/<SSH_KEY_ID>/your-ssh-key-id/g' \
  latitude-cluster/lsh-cluster.yaml

kubectl apply -f latitude-cluster/lsh-cluster.yaml

Wait for the cluster to be ready:

kubectl get latitudecluster
kubectl describe latitudecluster <CLUSTER_NAME>

To create a machine running the commands below:

sed -i \
  -e 's/<MACHINE_NAME>/my-machine/g' \
  -e 's/<PROJECT_ID>/your-project-id/g' \
  -e 's/<LOCATION>/SAO2/g' \
  -e 's/<PLAN>/c2-small-x86/g' \
  -e 's/<SSH_KEY_ID>/your-ssh-key-id/g' \
  -e 's/<KUBEADM_CONFIG_NAME>/my-kubeadm-config/g' \
  -e 's/<CLUSTER_NAME>/my-cluster/g' \
  latitude-machine/lsh-machine.yaml

kubectl apply -f latitude-machine/lsh-machine.yaml

💻 You should also see the machine in the dashboard.

Delete all stack

kubectl delete -f latitude-cluster/lsh-cluster.yaml
kubectl delete -f latitude-machine/lsh-machine.yaml

Clean the installation

cd cluster-api-provider-latitudesh
make clean

@perylemke perylemke requested a review from leandroh September 26, 2025 12:15

## Disclaimer

This project is a work in progress and is not yet ready for production use. The project is currently in alpha and is not recommended for production use.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This project is a work in progress and is not yet ready for production use. The project is currently in alpha and is not recommended for production use.
This project is a work in progress not recommended for production use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants