This guide is for contributors working from a local checkout.
Install CRDs into the current cluster:
make installRun the controller locally against the current kubeconfig context:
make runBuild and deploy the controller image:
export IMG=<registry>/cluster-api-provider-stackit:<tag>
make docker-build docker-push IMG="$IMG"
make deploy IMG="$IMG"For a local kind management cluster, build and load the image instead of pushing it:
export IMG=cluster-api-provider-stackit:dev
make docker-build IMG="$IMG"
kind load docker-image "$IMG" --name capi-stackit
make deploy IMG="$IMG"The local development cluster used during validation is kind-capi-stackit.
Build a local clusterctl repository:
export IMG=cluster-api-provider-stackit:dev
make clusterctl-release IMG="${IMG}"
export STACKIT_CLUSTERCTL_REPOSITORY="$(pwd)/dist/clusterctl"Create a Kind management cluster and install the local provider assets:
kind create cluster --name capi-stackit
kubectl config use-context kind-capi-stackit
clusterctl init \
--config hack/clusterctl-local.yaml \
--core cluster-api \
--bootstrap kubeadm \
--control-plane kubeadm \
--infrastructure stackit:v0.1.0Build and load the image, then deploy the controller:
make docker-build IMG="${IMG}"
kind load docker-image "${IMG}" --name capi-stackit
make deploy IMG="${IMG}"hack/clusterctl-local.yaml enables CLUSTER_TOPOLOGY so ClusterClass and
topology clusters can pass the Cluster API admission webhooks.