Development setup
Create a local development environment
-
Clone the Rancher Turtles 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 Rancher Turtles 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
.