Development setup
Create a local development environment
- 
Clone the SUSE® Rancher Prime Cluster API repository locally
 - 
Create tilt-settings.yaml:
{ "k8s_context": "k3d-rancher-test", "default_registry": "ghcr.io/turtles-dev", "debug": { "turtles": { "continue": true, "port": 40000, "insecure_skip_verify": "true" } } } - 
Open a terminal in the root of the SUSE® Rancher Prime Cluster API repository
 - 
Run the following:
make dev-env # Or if you want to use a custom hostname for Rancher and your ngrok credentials NGROK_API_KEY=`key` NGROK_AUTHTOKEN=`token` RANCHER_HOSTNAME=my.customhost.dev make dev-env - 
If you don’t have ngrok credentials and have not provided them in earlier step, you can also open a new terminal and start ngrok or inlets after tilt has started:
kubectl port-forward --namespace cattle-system svc/rancher 10000:443 ngrok http https://localhost:10000 
What happens when you run make dev-env?
- 
A kind cluster will be created using the following configuration.
 - 
The following prerequisite components will be installed using Helm:
- 
Rancher manager.
 - 
Cert manager.
 - 
ngrok Kubernetes Operator.
 
 - 
 - 
Docker images will be built locally, and Helm will deploy the following controllers in the cluster:
- 
Core Cluster API controller.
 - 
RKE2 Bootstrap/Control Plane Provider controllers.
 - 
Docker Infrastructure Provider controller.
 - 
CAPI Add-on Provider for Fleet controller.
 - 
Rancher Turtles controller.
 - 
Rancher Turtles Cluster API Operator controller.
 - 
Rancher Turtles ClusterClass controller.
 - 
Rancher Turtles Day 2 operations controller.
 
 - 
 - 
The development environment will be started using
tilt up.