Development setup

Prerequisites:

Create a local development environment

  1. Clone the Rancher Turtles repository locally

  2. Create tilt-settings.yaml:

    {
        "k8s_context": "k3d-rancher-test",
        "default_registry": "ghcr.io/turtles-dev",
        "debug": {
            "turtles": {
                "continue": true,
                "port": 40000
            }
        }
    }
  3. Open a terminal in the root of the Rancher Turtles repository

  4. Run the following:

    make dev-env
    
    # Or if you want to use a custom hostname for Rancher
    RANCHER_HOSTNAME=my.customhost.dev make dev-env
  5. When tilt has started, open a new terminal and start ngrok or inlets

    kubectl port-forward --namespace cattle-system svc/rancher 10000:443
    ngrok http https://localhost:10000

What happens when you run make dev-env?

  1. A kind cluster is created with the following configuration.

  2. Cluster API Operator is installed using helm, which includes:

    • Core Cluster API controller

    • Kubeadm Bootstrap and Control Plane Providers

    • Docker Infrastructure Provider

    • Cert manager

  3. Rancher manager is installed using helm.

  4. tilt up is run to start the development environment.