Works with any Kubernetes cluster

DevSpace is a very lightweight, client-only CLI tool which uses your current kube-context, just like kubectl or helm. It does not require you to install anything inside your cluster and works out of the box with every Kubernetes cluster.

5 Reasons

Why Developers Love DevSpace

#1 Streamlined Workflow

DevSpace lets you automate all build and deployment steps

Automate Image Building

  • Building Images

    Builds all images in parallel using Docker, kaniko or any custom build commands (e.g. using cloud build)

  • Tagging Images

    Tags images according to customizable tag schema and updates tags in manifests and Helm chart values

  • Pushing Images (skipped for local clusters)

    Pushes images to any public or private registry and automatically creates pull secrets if needed

Automate Deployments

  • Kubectl, Helm, Kustomize, ...

    DevSpace supports a variety of deployment tools and even lets you run custom scripts.

  • Cross-Repository Dependencies

    If your project depends on a service which is part of a different git repository, you can add a devspace.yaml config file to each of the repositories and define dependencies between them.

  • Easy CI/CD Integration

    DevSpace works in non-interactive environments which allows you to share the same base config for deploying during development as well as for deploying to staging or production environments via your CI/CD pipeline.

#2 Faster Iterations

DevSpace updates your containers in real-time while you're coding

When running the 'devspace dev' command, DevSpace deploys the application and establishes a real-time connection to the deployed containers. If you change the source code, DevSpace will detect these changes, synchronize them into the running containers and rebuild/restart your application using hot reloading. So, instead of rebuilding images and redeploying containers over and over again, DevSpace uses a bi-directional file sync and hot reloading, which is much faster.

#3 Feature-Rich UI

DevSpace ships with a built-in UI optimized for development

  • Namespace Inspection

    Get a list of all containers including their status for every context and namespace (+ pod YAML viewer).

  • Real-Time Log Streaming

    Click on a container to start log streaming including real terminal colors for the entire log stream.

  • Status Monitoring & Alerts

    Quickly detect when containers are failing or pods have issues starting.

  • Interactive Terminal Sessions

    Start interactive terminal sessions for each container with just a single click.

  • 1-Click Port-Forwarding

    Open any application running inside a container by clicking the 'Open' button which starts port-forwarding and opens the localhost address of the forwarded port inside your browser.

#4 Localhost Experience

DevSpace works with your favorite IDE and other developer tools

Launch a dev environment
from any terminal

  • Multi-Container Log Streaming

    By default, DevSpace streams the logs of all deployed containers while you are coding.

  • Interactive Terminal

    You can also start DevSpace using the interactive mode which overrides the entrypoint of one of your Docker images with a sleep command and then opens an interactive terminal session to the deployed container instead of the log streaming. This allows you to start the container yourself using a manual entrypoint command.

Use DevSpace
within your IDE

  • Reduce Context Switches

    Stay focused and see the merged logs of all your containers directly inside the terminal of your IDE.

  • Works With Every IDE

    You can start DevSpace from the terminal of any IDE

#5 Cross-Env Consistency

DevSpace lets you bring dev, staging and production closer together

  • Declarative Configuration

    DevSpace uses one declarative config file which helps you to make workflow knowledge explicit and share a declarative configuration across environments and between the members of your team.

  • Profiles & Config Patches

    To account for the differences between different target environments, DevSpace lets you define so-called profiles which can overwrite certain parts of the config or change the config using patches.

  • Config Variables

    The DevSpace config is highly dynamic and can contain variables which can be regular environment variables, git-based information or even a custom question asked to the developer running a certain command.

  • Custom Commands

    DevSpace allows you to store your most common development commands inside the devspace.yaml, so you can repeatedly execute them, version them and share them with your team.

The term "DevSpace" is a registered trademark of the provider of this site. All other trademarks and names referenced in this site are property of their respective owners.