Use this flow when you want a fast feedback loop while developing the controller (e.g. debugging reconciliation logic, iterating on controller code, watching logs/events) against a local Kubernetes cluster created with kind.
For full end-to-end coverage, use the functional test harness
(./test/prepare.sh + ./test/run.sh). That path deploys IrSO into the cluster
and also installs extra dependencies (e.g. cert-manager, MariaDB operator),
which is great for E2E but typically much slower to iterate on.
gokubectlkindmake
-
Create a local cluster:
kind create cluster --name irso-dev
-
Point kubectl to the kind context and confirm it:
kubectl config use-context kind-irso-dev kubectl cluster-info
-
Install CRDs:
make install
-
Run the controller locally (outside the cluster):
make run RUNARGS="--webhook-port=0 --leader-elect=false" -
(Optional) Apply the sample Ironic resource:
kubectl apply -f config/samples/v1alpha1_ironic.yaml
-
Verify resources:
kubectl get crd | grep ironics.ironic.metal3.io kubectl get ironic -ATo stop the controller, press
Ctrl+Cin the terminal wheremake runis running. -
Delete the kind cluster:
kind delete cluster --name irso-dev