# DevSpace — Developer-First Kubernetes Workflow Tool > CLI that turns any repo into a Kubernetes dev environment: build, deploy, port-forward, file-sync, and log-stream from a single devspace.yaml. ## Install Save as a script file and run: # DevSpace — Developer-First Kubernetes Workflow Tool ## Quick Use ```bash # install (macOS / Linux / Windows) brew install devspace # or: npm install -g devspace # initialize in a repo — generates devspace.yaml devspace init # start the dev loop: build, deploy, port-forward, sync, tail logs devspace dev # open an ephemeral interactive shell in the deployed Pod devspace enter # promote to staging with a different profile devspace deploy -p production ``` ## Introduction DevSpace is an open-source CLI that turns any repository into a ready-to-run Kubernetes dev environment. It reads a single `devspace.yaml`, builds your images, deploys manifests/Helm/Kustomize, starts file syncs, port-forwards, opens terminals, and streams merged logs — all from one command — and then redeploys on demand. ## What DevSpace Does - Builds images locally or remotely with BuildKit, Docker, or in-cluster buildpacks - Deploys any mix of kubectl YAML, Helm charts, and Kustomize overlays with shared variables - Live-syncs your source into running Pods so Node/Python/Go apps hot-reload - Manages ephemeral dev namespaces and multi-developer isolation by default - Scripts full workflows with pipelines — declarative equivalents of `make dev` ## Architecture Overview DevSpace is a single Go binary. It parses `devspace.yaml`, compiles it against the live cluster state, and runs a controller loop that coordinates builds, deploys, file syncs, port-forwards, and log streams. File sync uses an embedded inotify-based binary injected into the target Pod via exec, with checksums for conflict resolution. ## Self-Hosting & Configuration - `devspace init` scans your repo and writes a starter config - Profiles encode environment differences (dev/staging/prod) without forking the file - `vars` + `env` support `.env` files and secret references - `pipelines` let you compose commands in a scripting DSL (`run_pipelines`, `build_images`) - Integrates with Loft for hosted, multi-tenant dev clusters ## Key Features - Hot reload without rebuilding containers via bi-directional file sync - Ephemeral namespaces per developer keep environments clean and conflict-free - Helm + Kustomize + raw YAML in the same config with shared variables - `devspace open` auto-opens ingress URLs - Telemetry-free by default; logs stay on your machine ## Comparison with Similar Tools - **Tilt** — Starlark config, strong dashboard; DevSpace leans on YAML + pipelines - **Skaffold** — Google-maintained, similar goals, simpler live-sync story - **Okteto** — hosted SaaS with great UX; DevSpace is fully self-hosted - **Telepresence** — intercept-based; complements rather than competes with DevSpace - **Garden** — broader dev-env tool including tests; heavier config surface ## FAQ **Q: Does DevSpace require a daemon in the cluster?** A: No. It exec's into Pods as needed. Cluster installs are optional. **Q: Can it deploy Helm umbrella charts?** A: Yes — each deployment entry can be a Helm release with its own values. **Q: How are secrets handled?** A: `vars` can pull from the host env, 1Password, Vault, or any referenced file; nothing is committed by default. **Q: Is there a GUI?** A: The CLI is primary; an optional web UI is available via the Loft platform. ## Sources - https://github.com/loft-sh/devspace - https://www.devspace.sh/ --- Source: https://tokrepo.com/en/workflows/db044cf3-3900-11f1-9bc6-00163e2b0d79 Author: Script Depot