Skip to content

ct dev

Run live development workflows directly on cluster workloads from dev.ct (DevSpace-inspired flow).

ct dev executes dev.ct, applies rendered resources, then starts development features such as port forwarding, logs, file sync, and terminal according to your dev targets.

Terminal window
ct dev
ct dev [flags]
FlagTypeDefaultDescription
--env-filestring".env"Path to .env file (empty string to skip)
--contextstring(current)Kubeconfig context to use
--namestring"dev"Release name used for labels and inventory
--deleteboolfalseDelete resources from the last dev inventory and exit

Start dev mode (looks for dev.ct in current directory):

Terminal window
ct dev

Use a custom env file:

Terminal window
ct dev --env-file .env.dev

Skip env file loading entirely:

Terminal window
ct dev --env-file ""

Use a specific kubeconfig context:

Terminal window
ct dev --context staging

Start named dev session (multiple sessions in one namespace):

Terminal window
ct dev --name dev-alice

Cleanup previously deployed dev resources:

Terminal window
ct dev --delete --name dev-alice --context staging
ct dev
├─ Load .env + system environment
├─ Bundle + execute dev.ct → extract config + dev targets
├─ Deep merge config.values with values.json
├─ Render main.ct with merged values
├─ Inject release labels (managed-by + instance)
├─ Resolve dev target selectors from rendered resources
├─ Patch workloads (remove probes, override command/env/replicas)
├─ Apply manifests to cluster (Server-Side Apply)
├─ Save release inventory
└─ Start in parallel:
├─ Port forwarding (per target, with reconnect)
├─ File sync — local → container (tar + exec, fsnotify)
├─ Log streaming (colored per target)
└─ Terminal auto-attach (first target with .terminal)

When --delete is used, ct dev runs cleanup flow only:

ct dev --delete
├─ Execute dev.ct to resolve namespace
├─ Load inventory for release (--name, default: dev)
├─ Delete resources from inventory
└─ Delete inventory ConfigMap

The dev.ct file uses four global functions to configure development mode. See the full API documentation: