devspace Documentation

DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.

RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy devspace on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name devspace --restart always devspace-sh/devspace:latest

File: README.md

**[Website](https://devspace.sh)** • **[Quickstart](#quickstart)** • **[Documentation](https://devspace.sh/cli/docs/introduction)** • **[Blog](https://loft.sh/blog)** • **[Twitter](https://twitter.com/devspace)**

Client-Only Developer Tool for Cloud-Native Development with Kubernetes

  • Build, test and debug applications directly inside Kubernetes
  • Develop with hot reloading: updates your running containers without rebuilding images or restarting containers
  • Unify deployment workflows within your team and across dev, staging and production
  • Automate repetitive tasks for image building and deployment

DevSpace was created by Loft Labs and is a Cloud Native Computing Foundation (CNCF) sandbox project.

Contents

Why DevSpace?

Building modern, distributed and highly scalable microservices with Kubernetes is hard - and it is even harder for large teams of developers. DevSpace is the next-generation tool for fast cloud-native software development.

Standardize & Version Your Workflows

DevSpace allows you to store all your workflows in one declarative config file: devspace.yaml

  • Codify workflow knowledge about building images, deploying your project and its dependencies etc.
  • Version your workflows together with your code (i.e. you can get any old version up and running with just a single command)
  • Share your workflows with your team mates

Let Everyone on Your Team Deploy to Kubernetes

DevSpace helps your team to standardize deployment and development workflows without requiring everyone on your team to become a Kubernetes expert.

  • The DevOps and Kubernetes expert on your team can configure DevSpace using devspace.yaml and simply commits it via git
  • If other developers on your team check out the project, they only need to run devspace deploy to deploy the project (including image building and deployment of other related project etc.) and they have a running instance of the project
  • The configuration of DevSpace is highly dynamic, so you can configure everything using config variables that make it much easier to have one base configuration but still allow differences among developers (e.g. different sub-domains for testing)

Giving everyone on your team on-demand access to a Kubernetes cluster is a challenging problem for system administrators and infrastructure managers. If you want to efficiently share dev clusters for your engineering team, take a look at www.loft.sh.

Speed Up Cloud-Native Development

Instead of rebuilding images and redeploying containers, DevSpace allows you to hot reload running containers while you are coding:

  • Simply edit your files with your IDE and see how your application reloads within the running container.
  • The high performance, bi-directional file synchronization detects code changes immediately and synchronizes files immediately between your local dev environment and the containers running in Kubernetes
  • Stream logs, connect debuggers or open a container terminal directly from your IDE with just a single command.

Automate Repetitive Tasks

Deploying and debugging services with Kubernetes requires a lot of knowledge and forces you to repeatedly run commands like kubectl get pod and copy pod ids back and forth. Stop wasting time and let DevSpace automate the tedious parts of working with Kubernetes:

  • DevSpace lets you build multiple images in parallel, tag them automatically and and deploy your entire application (including its dependencies) with just a single command
  • Let DevSpace automatically start port-fowarding and log streaming, so you don't have to constantly copy and paste pod ids or run 10 commands to get everything started.

Works with Any Kubernetes Clusters

DevSpace is battle tested with many Kubernetes distributions including:

  • local Kubernetes clusters like minikube, k3s, MikroK8s, kind
  • managed Kubernetes clusters in GKE (Google Cloud), EKS (Amazon Web Service), AKS (Microsoft Azure), Digital Ocean
  • self-managed Kubernetes clusters created with Rancher

DevSpace also lets you switch seamlessly between clusters and namespaces. You can work with a local cluster as long as that is sufficient. If things get more advanced, you need cloud power like GPUs or you simply want to share a complex system such as Kafka with your team, simply tell DevSpace to use a remote cluster by switching your kube-context and continue working.

Quickstart

Please take a look at our getting started guide.

Architecture & Workflow

DevSpace runs as a single binary CLI tool directly on your computer and ideally, you use it straight from the terminal within your IDE. DevSpace does not require a server-side component as it communicates directly to your Kubernetes cluster using your kube-context, just like kubectl.

Contributing

Participation in the DevSpace project is governed by the CNCF code of conduct.

Help us make DevSpace the best tool for developing, deploying and debugging Kubernetes apps.

Reporting Issues

If you find a bug while working with the DevSpace, please open an issue on GitHub and let us know what went wrong. We will try to fix it as quickly as we can.

Feedback & Feature Requests

You are more than welcome to open issues in this project to:

Contributing Code

This project is mainly written in Golang. If you want to contribute code:

  1. Ensure you are running golang version 1.11.4 or greater for go module support
  2. Set the following environment variables:
    text
    GO111MODULE=on
    GOFLAGS=-mod=vendor
  3. Check-out the project: git clone https://github.com/loft-sh/devspace && cd devspace
  4. Make changes to the code
  5. Build the project, e.g. via go build -o devspace[.exe]
  6. Evaluate and test your changes ./devspace [SOME_COMMAND]

See Contributing Guidelines for more information.

The DevSpace project follows the CNCF Code of Conduct.

FAQ

What is DevSpace?

DevSpace is an open-source command-line tool that provides everything you need to develop, deploy and debug applications with Docker and Kubernetes. It lets you streamline deployment workflows and share them with your colleagues through a declarative configuration file devspace.yaml.

Is DevSpace free?

YES. DevSpace is open-source and you can use it for free for any private projects and even for commercial projects.

Do I need a Kubernetes cluster to use DevSpace?

Yes. You can either use a local cluster such as Docker Desktop Kubernetes, minikube, or Kind, but you can also use a remote cluster such as GKE, EKS, AKS, RKE (Rancher), or DOKS.

Can I use DevSpace with my existing Kubernetes clusters?

Yes. DevSpace is using your regular kube-context. As long as you can run kubectl commands with a cluster, you can use this cluster with DevSpace as well.

What is a Helm chart?

Helm is the package manager for Kubernetes. Packages in Helm are called Helm charts.

License

DevSpace is released under the Apache 2.0 license. See the LICENSE file for details.

DevSpace is a Cloud Native Computing Foundation (CNCF) sandbox project and was contributed by Loft Labs.


File: CHANGELOG.md

[Empty file]


File: CODE_OF_CONDUCT.md

Contributor Covenant Code of Conduct

Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.

Our Standards

Examples of behavior that contributes to creating a positive environment
include:

  • Using welcoming and inclusive language
  • Being respectful of differing viewpoints and experiences
  • Gracefully accepting constructive criticism
  • Focusing on what is best for the community
  • Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

  • The use of sexualized language or imagery and unwelcome sexual attention or
    advances
  • Trolling, insulting/derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others' private information, such as a physical or electronic
    address, without explicit permission
  • Other conduct which could reasonably be considered inappropriate in a
    professional setting

Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [email protected]. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq


File: CONTRIBUTING.md

Contribution Guidelines

Please read this guide if you plan to contribute to the DevSpace CLI. We welcome any kind of contribution. No matter if you are an experienced programmer or just starting, we are looking forward to your contribution.

Reporting Issues

If you find a bug while working with the DevSpace CLI, please open an issue on GitHub and let us know what went wrong. We will try to fix it as quickly as we can.

Feature Requests

You are more than welcome to open issues in this project to suggest new features.

Contributing Code

This project is mainly written in Golang. To contribute code,

  1. Ensure you are running golang version 1.11.4 or greater for go module support

  2. Set the following environment variables:

    text
    GO111MODULE=on
    GOFLAGS=-mod=vendor
  3. Fork the project

  4. Clone the project: git clone https://github.com/[YOUR_USERNAME]/devspace && cd devspace

  5. Run go clean -modcache

  6. Run go mod vendor to update the dependencies

  7. Build the project, e.g. via go build -o devspace.exe

  8. Build devspacehelper using below command

    text
    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-extldflags=-static" -o ~/.devspace/devspacehelper/latest/devspacehelper helper/main.go
    CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags "-extldflags=-static" -o ~/.devspace/devspacehelper/latest/devspacehelper-arm64 helper/main.go
    chmod +x ~/.devspace/devspacehelper/latest/devspacehelper
    chmod +x ~/.devspace/devspacehelper/latest/devspacehelper-arm64

    The above command is required to be executed as sometimes you may observe below error,

    text
    start_dev: error setting up proxy commands in container:   Internal error occurred: error executing command in container: failed to exec in container: failed to start exec "38d5fc79b8a7c63d38ba5f99237d80df186871fa4b43987a83a926628d1c47e1": OCI runtime exec failed: exec failed: unable to start container process: exec /tmp/devspacehelper: text file busy: unknown
  9. Make changes

  10. Run unit tests: ./hack/coverage.bash

  11. Run E2E tests: cd e2e/ && go test -v -ginkgo.v

  12. Format your code: go fmt ./...

  13. Commit changes (Please refer the commit message conventions)

  14. Push commits

  15. Open pull request

Improving the Documentation

The documentation is contained within ./docs and made with Docusaurus. See the Docs README for infos about developing the docs.


File: MAINTAINERS.md

Maintainers

This page lists all active members of the maintainers for the ko project and any subprojects.

  • Fabian Kramm (@FabianKramm)
  • Lukas Gentele (@LukasGentele)
  • Russell Centanni (@lizardruss)
  • Ryan Swanson (@zerbitx)

New projects and new maintainers can be added or removed with the consensus approval of the current maintainers.


File: PULL_REQUEST_TEMPLATE.md

What issue type does this pull request address? (keep at least one, remove the others)
/kind bugfix
/kind enhancement
/kind feature
/kind documentation
/kind test

What does this pull request do? Which issues does it resolve? (use resolves # if possible)
resolves #

Please provide a short message that should be published in the DevSpace release notes
Fixed an issue where DevSpace ...

What else do we need to know?


File: ROADMAP.md

DevSpace Roadmap

This is a collection of roadmap priority items for DevSpace. Please add a PR to update this doc and ideally reference issues where applicable.

Short-Term Priorities

Long-Term Priorities


File: robots.txt

User-agent: *
Allow: /


File: SECURITY.md

Security Policy

We will disclose fixes for vulnerabilities in the release notes and urge you to upgrade once a new release is published. DevSpace versions the configuration in devspace.yaml and allows you to use any older configuration with a newer CLI version.

To receive update warnings in the CLI (as part of the terminal output whenever you run a command), you must use an official release binary as published on the GitHub releases page of this project.

See the install instructions for DevSpace for the recommended methods of downloading an official release binary for your platform. Community maintained release binaries (e.g. brew formular for DevSpace) may not contain the version number and will therefore not be able to perform a version check.

Reporting a Vulnerability

Please report vulnerabilities to: [email protected]


File: .codeclimate.yml

version: "2"
checks:
argument-count:
enabled: false
complex-logic:
enabled: false
file-lines:
enabled: false
method-complexity:
enabled: false
method-count:
enabled: false
method-lines:
enabled: false
nested-control-flow:
enabled: false
return-statements:
enabled: false
similar-code:
enabled: false
identical-code:
enabled: false
plugins:
gofmt:
enabled: true
govet:
enabled: true
golint:
enabled: true
exclude_paths:

  • vendor/
  • hack/
  • docs/
  • examples/

File: .golangci.yml

version: "2"

run:
timeout: 10m

linters:
default: none
enable:
# - deadcode # deprecated https://github.com/golangci/golangci-lint/issues/1841
- govet
- ineffassign
- misspell
- unused
# - varcheck # deprecated https://github.com/golangci/golangci-lint/issues/1841
- staticcheck # includes gosimple and stylecheck in v2
- errcheck
# - goimports
- dupl
- nakedret
# - gofmt
# - golint
# - structcheck # deprecated https://github.com/golangci/golangci-lint/issues/1841
settings:
dupl:
threshold: 400
exclusions:
paths:
- hack/
- docs/
- assets/assets.go


File: docs/README.md

Website

This website is built using Docusaurus 2, a modern static website generator.

Contributing

Installation

text
yarn

Development

text
yarn start

This command starts a local development server and open up a browser window. Most changes are reflected live without having to restart the server.

Production Build

text
yarn build

This command generates static content into the build directory and can be served using any static contents hosting service.

Create New Major Version

bash
yarn run docusaurus docs:version 5.x

Generate CLI Reference

bash
cd ../ # main project directory
go run ./docs/hack/cli/main.go

Generate Partials For Config (devspace.yaml)

bash
cd ../ # main project directory

go run ./docs/hack/config/partials/main.go

Generate Schema For Config (devspace.yaml)

bash
cd ../ # main project directory

go run ./docs/hack/config/schemas/main.go

Generate Function Docs

bash
cd ../ # main project directory

go run ./docs/hack/functions/main.go

File: docs/package.json

{
"name": "devspace-cloud",
"version": "0.0.0",
"private": true,
"engines": {
"node": ">=20.0"
},
"scripts": {
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy"
},
"dependencies": {
"@docusaurus/core": "^3.8.0",
"@docusaurus/preset-classic": "^3.8.0",
"@saucelabs/theme-github-codeblock": "^0.2.3",
"classnames": "^2.2.6",
"docusaurus-plugin-sass": "^0.2.6",
"mdx-link-checker": "^0.1.1",
"plugin-image-zoom": "ataft/plugin-image-zoom",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"redocusaurus": "^2.1.1",
"resolve-glob": "^1.0.0",
"sass": "^1.93.2"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}


File: docs/versions.json

[
"5.x",
"4.x"
]


File: docs/pages/cli.md


title: "devspace --help" sidebar_label: devspace

devspace

Welcome to the DevSpace!

Synopsis

DevSpace accelerates developing, deploying and debugging applications with Docker and Kubernetes. Get started by running the init command in one of your projects:

text
devspace init
	# Develop an existing application
	devspace dev
	DEVSPACE_CONFIG=other-config.yaml devspace dev

Options

text
--debug                        Prints the stack trace if an error occurs
      --disable-profile-activation   If true will ignore all profile activations
  -h, --help                         help for devspace
      --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
      --kube-context string          The kubernetes context to use
      --kubeconfig string            The kubeconfig path to use
  -n, --namespace string             The kubernetes namespace to use
      --no-colors                    Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
      --no-warn                      If true does not show any warning when deploying into a different namespace or kube-context than before
      --override-name string         If specified will override the DevSpace project name provided in the devspace.yaml
  -p, --profile strings              The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
      --silent                       Run in silent mode and prevents any devspace log output except panics & fatals
  -s, --switch-context               Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
      --var strings                  Variables to override during execution (e.g. --var=MYVAR=MYVALUE)
text

Flags

Global & Inherited Flags


File: docs/pages/_partials/choose-project.mdx

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

<Tabs
defaultValue="javascript"
groupId="language"
values={[
{ label: 'Node.js', value: 'javascript', },
{ label: 'Python', value: 'python', },
{ label: 'Java', value: 'java', },
{ label: 'Ruby', value: 'ruby', },
{ label: 'Golang', value: 'golang', },
{ label: 'PHP', value: 'php', },
{ label: 'ASP.NET', value: 'dotnet', },
{ label: 'Your Own Project', value: 'custom', },
]
}>

bash
git clone https://github.com/loft-sh/devspace-quickstart-nodejs
cd devspace-quickstart-nodejs
bash
git clone https://github.com/loft-sh/devspace-quickstart-python
cd devspace-quickstart-python
bash
git clone https://github.com/loft-sh/devspace-quickstart-ruby
cd devspace-quickstart-ruby
bash
git clone https://github.com/loft-sh/devspace-quickstart-golang
cd devspace-quickstart-golang
bash
git clone https://github.com/loft-sh/devspace-quickstart-java
cd devspace-quickstart-java
bash
git clone https://github.com/loft-sh/devspace-quickstart-php
cd devspace-quickstart-php
bash
git clone https://github.com/loft-sh/devspace-quickstart-asp-dotnet
cd devspace-quickstart-asp-dotnet
bash
# Navigate to the root directory of your project
cd /path/to/your/project

:::info
If you are using DevSpace for the first time, it is highly recommended that you use one of the demo projects.
:::


File: docs/pages/_partials/command_cat.mdx

The function cat prints the content of a given filename to the terminal.

Arguments

`[filename]`

Takes an existing filename.

text
cat [filename]

Examples

Use cat as a function under your pipeline definitions:

yaml
pipelines:
  dev:
    run: |-
      cat file.txt

File: docs/pages/_partials/command_is_command.mdx

The function is_command checks if a given argument is a command in DevSpace.

Arguments

`[DevSpace command]`

text
is_command [command]

Example

yaml
pipelines:
  dev:
    run: |-
      if is_command dev; then
        start_dev --all
      fi

File: docs/pages/_partials/command_is_equal.mdx

The function is_equal checks if two given arguments are a command in DevSpace.

Arguments

`[arg1 arg2]`

text
is_equal [arg1] [arg2]

Example

Use is_equal as a function under your pipeline definitions:

yaml
pipelines:
  dev:
    run: |-
      is_equal 1 1

Returns exit status 0

yaml
pipelines:
  dev:
    run: |-
      is_equal 1 2

Returns exist status 1 (fatal)


File: docs/pages/_partials/command_is_in.mdx

The function is_in checks if the first argument can be found in the second argument.

Arguments

`[arg1 arg2]`

text
is_in [arg1] [arg2]

Example

Use is_in as a function under your pipeline definitions:

yaml
pipelines:
  dev:
    run: |-
      is_in apples "apples peaches"

Returns exit status 0

yaml
pipelines:
  dev:
    run: |-
      is_in apples "peaches bananas"

Returns exist status 1 (fatal)


File: docs/pages/_partials/command_is_os.mdx

The function is_os checks if a given argument is the current runtime GOOS.

Arguments

`[operatingSystemString]`

text
is_os [os]

Example

yaml
pipelines:
  dev:
    run: |-
      if is_os windows; then
        echo "Running on Windows!"
      fi

File: docs/pages/_partials/command_is_true.mdx

The function is_true checks for the string "true". NOTE: This function does not check for a boolean value.

Arguments

`["true"|]`

text
is_true [value]

Example

Use is_true as a function under your pipeline definitions:

yaml
pipelines:
  dev:
    run: |-
      is_true true

Returns exit status 0

yaml
pipelines:
  dev:
    run: |-
      is_true nope!

Returns exit status 1 (fatal)


File: docs/pages/_partials/command_run_watch.mdx

The function run_watch takes in a path to watch and a subcommand to run on that path.

Arguments

`--fail-on-error`

If true, the command will fail on an error while running the subcommand.

text
run_watch --path [MY_PATH] -- [my_command]

`--path`, `-p`

The paths to watch. Can be patterns in the form of "./**/my-file.txt".

Please note that globgs need to be quoted in order to avoid them being expanded
by your shell, for example:

text
run_watch --path "**/*.go" -- devspace dev
text

Example

yaml
commands:
  # Overwrites dev
  dev: |-
    run_watch -p devspace.yaml -p *.go -- devspace run-pipeline dev $@

File: docs/pages/_partials/command_sleep.mdx

The function sleep takes in the number of seconds for a process to wait before continuing.

Arguments

[seconds]

text
sleep 5   # process waits for 5 seconds

Example

Use sleep as a function under your pipeline definitions:

yaml
pipelines:
  dev:
    run: |-
      sleep 5

File: docs/pages/_partials/command_xargs.mdx

The function xargs allows a user to overwrite current flags and utilities.

Usage

text
xargs [utility [argument ...]]

Arguments

Example

yaml
pipelines:
  dev:
    run: |-
      echo [image1] [image2] | xargs build_images

File: docs/pages/_partials/config-commands.mdx

yaml
commands:                             # struct[]  | Array of custom commands
- name: "debug-backend"               # string    | Name of the command to run via `devspace run debug-backend`
  command: "devspace dev -i backend"  # string    | Command to be executed when running `devspace run [name]`
  appendArgs: false                   # bool      | If true, DevSpace will append all arguments to the command
  args: ...                           # string[]  | Args for the command to be executed

File: docs/pages/_partials/config-dependencies.mdx

yaml
dependencies:                       # struct[]  | Array of dependencies (other projects containing a devspace.yaml or devspace-configs.yaml) that need to be deployed before this project
- source:                           # struct    | Defines where to find the dependency (exactly one source is allowed)
    git: https://github.com/my-repo # string    | HTTP(S) URL of the git repository (recommended method for referencing dependencies, must have the format of the git remote repo as usually checked out via git clone)
    subPath: repo/sub/path          # string    | Path within the git repo where devspace.yaml can be found
    branch: main                  # string    | Git branch to checkout
    tag: v1.2.3                     # string    | Git tag to checkout
    revision: ac66e49               # string    | Git revision (commit has) to checkout
    disableShallow: false           # bool      | Allows to disable shallow git clones using "--depth 1"
    cloneArgs: []                   # string[]  | Array of args for the "git clone" command for retrieving git based dependencies
    path: ../../my-projects/repo    # string    | Path to a project on your local computer (not recommended, instead of using git-related options)
  profiles: []                      # string[]  | Profiles used to deploy this dependency (when multiple profiles are defined in the devspace.yaml of the dependency)
  disabled: false                   # bool      | If true, the dependency will be skipped
  skipBuild: false                  # bool      | Do not build images of this dependency (= only start deployments)
  ignoreDependencies: false         # bool      | Do not build and deploy dependencies of this dependency
  namespace: ""                     # string    | Kubernetes namespace to deploy dependency to (Default: default namespace of current kube-context)
  dev:                              # struct    | Define which dev config should be reused from a dependency
    ports: false                    # bool      | Reuse dev.ports config from the dependency
    sync: false                     # bool      | Reuse dev.sync config from the dependency
  overwriteVars: true               # bool      | If not defined or true, will overwrite values of variables with the same name in the dependency
  vars:                             # struct[]  | Variables in the dependency config that should be overriden with the specified values 
  - name: NAME
    value: value
  disableProfileActivation: true    # bool      | If true will ignore profile activations for this dependency

File: docs/pages/_partials/config-deployments.mdx

yaml
deployments:                        # struct[] | Array of deployments
- name: my-deployment               # string   | Name of the deployment
  namespace: ""                     # string   | Namespace to deploy to (Default: "" = namespace of the active namespace/Space)
  disabled: false                   # bool     | If true, the deployment will not be deployed, purged or rendered
  concurrent: false                 # bool     | Deploy concurrently with other deployments that also have concurrency enabled (Default: false)
  helm: ...                         # struct   | Use Helm as deployment tool and set options for Helm
  kubectl: ...                      # struct   | Use "kubectl apply" as deployment tool and set options for kubectl

File: docs/pages/_partials/config-dev.mdx

yaml
dev:                                # struct   | Options for "devspace dev"
  ports: []                         # struct[] | Array of port-forwarding settings for selected pods
  open: []                          # struct[] | Array of auto-open settings
  sync: []                          # struct[] | Array of file sync settings for selected pods
  logs: ...                         # struct   | Options for configuring multi-container log streaming
  autoReload: ...                   # struct   | Options for auto-reloading (i.e. re-deploying deployments and re-building images)
  interactive: ...                  # struct   | Options for configuring the interactive mode

File: docs/pages/_partials/config-hooks.mdx

yaml
hooks:                              # struct[]  | Array of hooks to be executed. A hook can only have either one of the following fields defined:
                                    #           | - hooks[*].command which will either execute a command locally or remotely in a container
                                    #           | - hooks[*].upload which will upload files or folders into a container
                                    #           | - hooks[*].download which will download files or folder from a container
                                    #           | - hooks[*].wait which will wait for a container to become running or terminate
                                    #           | - hooks[*].logs which will print the logs for a certain container
- name: "my-hook-name"              # string    | Optional string stating the name of this hook configuration
  events: ["before:deploy"]         # struct    | Events at which this hook should get executed
  disabled: false                   # bool      | If true the hook will be not executed and skipped
  command: "echo Hello World!"      # string    | Command to be executed when this hook is triggered (if no args a specified, will be executed in a golang shell)
  args: []                          # string[]  | (Optional) Array of arguments for the command of this hook. If this is specified, command has to be present in PATH
  upload:                           # struct    | If defined will upload files or folders into the container.
    localPath: ./test               # string    | The local path of the file or folder
    containerPath: /app             # string    | The remote path where to upload the file or folder into
  download:                         # struct    | If defined will download files or folders from the container.
    containerPath: /app             # string    | The remote path where to download the file or folder from
    localPath: ./test               # string    | The local path where to download the file or folder
  logs:                             # struct    | If logs is defined will print the logs of the target container. This is useful for containers 
                                    #           | that should finish like init containers or job pods. Otherwise this hook will never terminate.
    tailLines: /app                 # int       | If set, the number of lines from the end of the logs to show
  wait:                             # struct    | If wait is defined the hook will wait until the matched pod or container is running or is terminated
                                    #           | with a certain exit code.
    running: true                   # bool      | If running is true, will wait until the matched containers are running. Can be used together with terminatedWithCode.
    terminatedWithCode: 0           # int       | If terminatedWithCode is not nil, will wait until the matched containers are terminated with the given exit code. 
                                    #           | If the container has exited with a different exit code, the hook will fail. Can be used together with running.
    timeout: 150                    # int       | Timeout of seconds to wait for matched containers to reach the given state until the hook will fail.
  os: darwin                        # string    | If specified then this hook is only executed on the given operating system
  background: false                 # bool      | If true DevSpace will not wait for the command to finish and directly move on
  silent: false                     # bool      | If true DevSpace will not print any command output to the console
  container:                        # struct    | If specified, DevSpace will run the command in the container instead of locally
    imageSelector: nginx            # string    | Image of a container by which DevSpace should select the pod
    labelSelector: ...              # struct    | Key Value map of labels and values to select pods with
    containerName: ""               # string    | Container name to use after selecting a pod
    namespace: ""                   # string    | Kubernetes namespace to select pods in
    once: false                     # bool      | If true the command will execute once - unless the targeted container is restarted and the hook is re-executing according to its lifecycle events (default false)

File: docs/pages/_partials/config-images.mdx

yaml
images:                             # map[string]struct | Images to be built and pushed
  image1:                           # string   | Name of the image
    image: gcr.io/username/image    # string   | Image repository and name 
    tags:                           # string[] | Image tags (may be a tagging schema with variables)
    - latest
    - 0.0.1
    - dev-${devspace.git.commit}
    - random-####                   #          | Each hashtag is replaced with a random character during building
    dockerfile: ./Dockerfile        # string   | Relative path to the Dockerfile used for building (Default: ./Dockerfile)
    context: ./                     # string   | Relative path to the context used for building (Default: ./)
    entrypoint: []                  # string[] | Override ENTRYPOINT defined in Dockerfile
    cmd: []                         # string[] | Override CMD defined in Dockerfile
    createPullSecret: true          # bool     | Create a pull secret containing your Docker credentials (Default: false)
    rebuildStrategy: ''             # string   | One of [always, ignoreContextChanges] which determines when DevSpace rebuilds the image
    injectRestartHelper: true       # bool     | If true will inject the restart helper into the container to restart the container automatically
    restartHelperPath: ./script.sh  # string   | If configured devspace will inject this script into the container and wrap the ENTRYPOINT around this 
    appendDockerfileInstructions:   # string[] | Dockerfile instructions that should be appended for the current build
    - USER root                    
    build: ...                      # struct   | Build options for this image
  image2: ...

File: docs/pages/_partials/config-overwrite-flags.mdx

Config Overwrite Flags

These flags can be used to overwrite values in the current configuration.

`--set`

Set configuration.

Assigns argument to configuration.

text
devspace [command] --set=[configuration value]

`--set-string`

Set configuration as string.

Takes a map and parses values to their new configuration keys.

text
devspace [command] --set-string=[key1:value1, key2:value2]

`--from`

Reuse an existing configuration.

text
devspace [command] --from=[existing configuration]

`--from-file`

Reuse an existing configuration from a file

text
devspace [command] --from-file=[path to existing configuration file]

Example


File: docs/pages/_partials/config-profiles.mdx

yaml
profiles:                             # struct[]  | Array of config profiles
- name: profile-name                  # string    | Name of the profile
  parents: 
  - profile: parent-profile           # string    | Name of the parent of this profile (profile inheritance)
    source:                           #           | Optional source where to find the profile
      git: https://github.com/my-repo # string    | HTTP(S) URL of the git repository to retrieve the profile from
      subPath: repo/sub/path          # string    | Path within the git repo where devspace.yaml can be found
      branch: main                  # string    | Git branch to checkout
      tag: v1.2.3                     # string    | Git tag to checkout
      revision: ac66e49               # string    | Git revision (commit has) to checkout
      disableShallow: false           # bool      | Allows to disable shallow git clones using "--depth 1"
      cloneArgs: []                   # string[]  | Array of args for the "git clone" command for retrieving git based dependencies
      path: ../../my-projects/repo    # string    | Path to a project on your local computer or an URL to a devspace.yaml
  merge: {}                           # struct    | Merge the provided object into the config
  patches:                            # struct[]  | Array of config patches
  - op: "replace"                     # enum      | Patch operation (replace, add, remove)
    path: "images.backend.cmd"        # string    | Jsonpath or xpath to config option that should be patched
    value: ""                         # arbitrary | Value to use for patch operation
  replace:                            # struct    | Array of replacements for entire config sections
    images: {}                        # struct    | Replacement for entire `images` section
    deployments: {}                   # struct    | Replacement for entire `deployments` section
    dev: {}                           # struct    | Replacement for entire `dev` section
    dependencies: {}                  # struct    | Replacement for entire `dependencies` section
    hooks: {}                         # struct    | Replacement for entire `hooks` section

File: docs/pages/_partials/config-vars.mdx

yaml
vars:                               # struct[]  | Array of config variables
- name: CONFIG_VAR                  # string    | Name of the config variable
  value: my-value                   # any       | The fixed value of the config variable
  alwaysResolve: false              # bool      | If enabled, the variable will be loaded even though it is not used in config
  question: "What is CONFIG_VAR?"   # string    | Question to ask the user if no value is found for variable
  options: []                       # string[]  | Options for picker (selector) to show to user (to choose a value for variable)
  noCache: false                    # bool      | Disable caching and prompt for value on every run.
  password: false                   # bool      | Hide user input when providing value via command-line, i.e. replaces input with `*****` (Default: false)
  validationPattern: ""             # string    | Regexp to validate user input
  validationMessage: ""             # string    | Message to show to user for input validation
  default: ""                       # any       | Default value for variable
  source: "all"                     # enum      | Source for variable (all = default, env, input, command)
  command: ""                       # string    | If specified will retrieve the variable from the command
  args: []                          # string[]  | The arguments for the command to retrieve the variable from
  commands:                 
  - command: ""                     # string    | Os specified command to retrieve the variable from
    args: []                        # string[]  | The arguments for the os specific command
    os: darwin                      # string    | The os to execute this command on

File: docs/pages/_partials/dependency-dev.mdx

The dev option allows you to reuse certain parts of a dependencies dev configuration.

:::note
If dev configuration is reused this will be merged into the top-level devspace.yaml and executed after image building and deployment
:::

Example: Override Config Vars for Dependency

yaml
# This will use the dev.ports configuration of the dependency
# component-1
dependencies:
- source:
    path: component-1
  dev:
    ports: true

`dev.ports`

If enabled will reuse the dependency's dev.ports configuration.

`dev.sync`

If enabled will reuse the dependency's dev.sync configuration. The base path of the sync configurations reused from a dependency is the folder where the dependency is saved in and not the current working directory.

`dev.replacePods`

If enabled will reuse the dependency's dev.replacePods configuration.


File: docs/pages/_partials/dependency-ignoreDependencies.mdx

The ignoreDependencies option expects a boolean that defines if the dependencies of this dependencies should not be resolved and deployed.

:::info
Using ignoreDependencies can be useful to prevent problematic circular dependencies.
:::

Default Value For `ignoreDependencies`

yaml
ignoreDependencies: false

Example: Ignore Dependencies of Dependency

yaml
dependencies:
- source:
    git: https://github.com/my-api-server
  ignoreDependencies: true

File: docs/pages/_partials/dependency-name.mdx

The name option is optional and expects a string stating the name of this dependency.

:::note
Adding a name for a dependency makes it possible to reference the dependency using flags, e.g.

bash
devspace deploy --dependency=[name]
devspace purge --dependency=[name]
devspace render --dependency=[name]

:::


File: docs/pages/_partials/dependency-namespace.mdx

The namespace option is optional and expects a string stating a namespace that should be used to deploy the dependency to.

:::note
By default, DevSpace deploys project dependencies in the same namespace as the project itself.
:::

:::info
You should only use the namespace option if you are an advanced user because using this option requires any user that deploys this project to be able to create this namespace during the deployment process or to have access to the namespace with the current kube-context, if the namespace already exists.
:::


File: docs/pages/_partials/dependency-overwrite-vars.mdx

The overwriteVars option is optional and expects a boolean. If this option is enabled it will overwrite all defined variables within the dependency config with the values of the variables defined in the base config. Variables that are not used or not defined within the base config aren't overwritten in the dependency config.

For example:

yaml
# devspace.yaml
vars:
- name: DEFINED_AND_USED
  value: my-base-value
- name: DEFINED_AND_NOT_USED
  value: my-other-base-value
dependencies:
- name: dep1
  source:
    path: dep1
  overwriteVars: true
  # If overwriteVars is true, all variables that are used within this
  # config are passed to the dependency and will overwrite the values of variables with 
  # the same name there. In this case only the variable DEFINED_AND_USED
  # will be passed to the dependency, as DEFINED_AND_NOT_USED is not used within the config.
  # overwriteVars: true
  #
  # If you want to pass the variable DEFINED_AND_NOT_USED to the dependency as well,
  # you can either use it somewhere within the config or explicitly pass it to the dependency with vars.
  # vars:
  # - name: DEFINED_AND_NOT_USED
  #   value: ${DEFINED_AND_NOT_USED}
deployments:
- name: deployment
  helm:
    componentChart: true
    values:
      containers:
      - image: ${DEFINED_AND_USED}

and

yaml
# dep1/devspace.yaml
vars:
- name: DEFINED_AND_USED
  value: my-dep-value
- name: DEFINED_AND_NOT_USED
  value: my-other-dep-value
deployments:
  # This will be my-other-dep-value
- name: ${DEFINED_AND_NOT_USED}
  helm:
    componentChart: true
    values:
      containers:
        # This will be my-base-value
      - image: ${DEFINED_AND_USED}

File: docs/pages/_partials/dependency-profile.mdx

The profile option expects a string with the name of a profile defined in the devspace.yaml of this dependency. When configuring this option, this profile will be used to deploy the dependency, i.e. the dependency will be deployed similar to running devspace deploy -p [profile] within the folder of the dependency.

Example: Use Config Profile for Dependency

yaml
dependencies:
- source:
    git: https://github.com/my-api-server
  profile: production

File: docs/pages/_partials/dependency-skipBuild.mdx

The skipBuild option expects a boolean that defines if the image building process should be skipped when deploying this dependency. This is often useful if you rather want to use the tags that are defined in the deployment files (e.g. manifests or helm charts) which may reference more stable, production-like versions of the images.

:::info
Using skipBuild is useful when trying to speed up the dependency deployment process, especially when working with many dependencies that frequently change.
:::

Default Value For `skipBuild`

yaml
skipBuild: false

Example: Skip Build for Dependency

yaml
dependencies:
- source:
    git: https://github.com/my-api-server
  skipBuild: true

File: docs/pages/_partials/dependency-vars.mdx

The vars option expects an array of objects with name and value of variables defined in the devspace.yaml of this dependency. When configuring this option, the variables will be overriden similar to passing variables via the --var flag to devspace.
It is also useful to deploy the same dependency multiple times with just small adjustments.

Example: Override Config Vars for Dependency

yaml
# This will deploy the api server two times with
# different variable configurations
dependencies:
- source:
    git: https://github.com/my-api-server
  vars:
  - name: NAME
    value: api-server-1
- source:
    git: https://github.com/my-api-server
  vars:
  - name: NAME
    value: api-server-2

File: docs/pages/_partials/faq-image-context.mdx

What does "context" mean in terms of image building?

The context is archived and sent to the Docker daemon before starting to process the Dockerfile. All references of local files within the Dockerfile are relative to the root directory of the context.

That means that a Dockerfile statement such as COPY ./src /app would copy the folder src/ within the context path into the path /app within the container image. So, if the context would be /my/project/database, for example, the folder that would be copied into /app would have the absolute path /my/project/database/src on your local computer.


File: docs/pages/_partials/info-component-chart.mdx

:::info Component Chart Docs
The component chart is a flexible Helm chart for deploying custom applications in a standardized manner. Learn more about configuring component-chart deployments.
:::


File: docs/pages/_partials/install-cli.mdx

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

DevSpace is a client-only binary. It is super lightweight, does not require any server-side component, and it does not have any dependencies.

<Tabs
defaultValue="brew"
values={[
{ label: 'brew', value: 'brew', },
{ label: 'Mac', value: 'mac', },
{ label: 'Linux', value: 'linux', },
{ label: 'Windows Powershell', value: 'windows-ps', },
{ label: 'Windows Scoop', value: 'windows-scoop', },
]
}>

bash
brew install devspace
bash
# AMD64 / Intel
curl -L -o devspace "https://github.com/loft-sh/devspace/releases/latest/download/devspace-darwin-amd64" && sudo install -c -m 0755 devspace /usr/local/bin

# ARM64 / Silicon Mac
curl -L -o devspace "https://github.com/loft-sh/devspace/releases/latest/download/devspace-darwin-arm64" && sudo install -c -m 0755 devspace /usr/local/bin
bash
# AMD64
curl -L -o devspace "https://github.com/loft-sh/devspace/releases/latest/download/devspace-linux-amd64" && sudo install -c -m 0755 devspace /usr/local/bin

# ARM64
curl -L -o devspace "https://github.com/loft-sh/devspace/releases/latest/download/devspace-linux-arm64" && sudo install -c -m 0755 devspace /usr/local/bin
powershell
md -Force "$Env:APPDATA\devspace"; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls,Tls11,Tls12';
Invoke-WebRequest -URI "https://github.com/loft-sh/devspace/releases/latest/download/devspace-windows-amd64.exe" -o $Env:APPDATA\devspace\devspace.exe;
$env:Path += ";" + $Env:APPDATA + "\devspace";
[Environment]::SetEnvironmentVariable("Path", $env:Path, [System.EnvironmentVariableTarget]::User);
powershell
scoop install devspace

Alternatively, you can simply download the binary for your platform from the GitHub Releases page and add this binary to your PATH.


File: docs/pages/_partials/kube-context.mdx

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import Step from '@site/src/components/Step/Step';
import FragmentTipUseNamespace from './tip-use-namespace.mdx';
import FragmentNoteCreateSpace from './note-create-space.mdx';

<Tabs
defaultValue="local"
values={[
{ label: 'Local Cluster', value: 'local', },
{ label: 'Remote Cluster', value: 'remote', },
]
}>

:::note Local Clusters
Local clusters run on your local dev machine and include: minikube, kind, k3s, mikrok8s etc.
:::

If you want to deploy to a local Kubernetes cluster, make sure your current kube-context points to this cluster and tell DevSpace which namespace to use:

bash
devspace use context                  # to select the right k8s cluster
devspace use namespace my-namespace   # will be automatically created during deployment

:::note Remote Clusters
Remote clusters run in a cloud or private data center and include: GKE, EKS, AKS, bare metal etc.
:::

<Tabs
defaultValue="alone"
values={[
{ label: 'Use cluster alone', value: 'alone', },
{ label: 'Share cluster with others', value: 'shared', },
]
}>

bash
devspace use context                  # to select the right k8s cluster
devspace use namespace my-namespace   # will be automatically created during deployment

Kubernetes multi-tenancy

One of the options for setting up a multi-tenant Kubernetes environment would be to use Loft.
It allows the developers to create isolated Kubernetes environments in a self-service fashion.

Loft offers a wide range of features to facilitate multi-tenancy in Kubernetes. One of such features is the ability to create Virtual Clusters - a lightweight, fully functional and certified Kubernetes distribution that runs fully within the host cluster.

Loft also adds a resource called "Space" into your Kubernetes cluster. A "Space" is a virtual representation of a Kubernetes namespace, and we will be creating one in the steps below.

How to use Loft

1

Setup Loft and connect your cluster

See the Loft getting started guide for details.

2

Install the Loft plugin for DevSpace

bash
devspace add plugin https://github.com/loft-sh/loft-devspace-plugin

3

Login to Loft via DevSpace

bash
devspace login https://your-loft-instance.tld

4

Create isolated namespaces (= Spaces)

bash
devspace create space my-app

5

Add cluster users and allow them to create Spaces

Learn more about how to do this in the Loft documentation.


File: docs/pages/_partials/kubectl-kustomize.mdx

The kustomize option expects a boolean stating if DevSpace should deploy using kustomize (or alternatively: kubectl apply -k when kustomize is not installed).

:::warning
If you set kustomize: true, all of your manifests must be paths to Kustomizations. If you want to deploy some plain manifests and some Kustomizations, create multiple deployments for each of them.
:::

Default Value for `kustomize`

yaml
kustomize: false

Example: Kustomize

yaml {4}
deployments:
  backend:
    kubectl:
      kustomize: true
      manifests:
      - kustomization1/
      - glob/path/to/more/kustomizations/

File: docs/pages/_partials/kubectl-options-applyArgs.mdx

The applyArgs option expects an array of strings stating additional arguments (and flags) that should be used when calling kubectl apply.

:::info Apply for Kustomize Deployments
Even if you set kustomize: true, DevSpace only renders the manifest templates using kustomize but the actual deployment will be executed using kubectl apply.
:::

Example: Custom Kubectl Args & Flags

yaml
deployments:
  backend:
    kubectl:
      manifests:
      - backend/
      applyArgs:
      - "--timeout"
      - "10s"
      - "--grace-period"
      - "30"

Deploying the above example would roughly be equivalent to this command:

bash
kubectl apply --timeout=10s --grace-period=30 -f backend/

File: docs/pages/_partials/kubectl-options-binaryPath.mdx

The kubectlBinaryPath is optional expects a path to the kubectl binary. By default, DevSpace will use the kustomize located on your $PATH. Use this to specify a location for kubectl if it is not on your $PATH and you do not want DevSpace to download the latest version.

:::warning
Setting kubectlBinaryPath makes it much harder to share your devspace.yaml with other team mates. It is recommended to add kubectl to your $PATH environment variable instead.
:::

Example: Setting Path To Kubectl Binary

yaml
deployments:
  backend:
    kubectl:
      kubectlBinaryPath: /path/to/kubectl
      manifests:
      - backend/

Explanation:
Deploying the above example would roughly be equivalent to this command:

bash
/path/to/kubectl apply -f backend/

File: docs/pages/_partials/kubectl-updateImageTags.mdx

If the updateImageTags field is set to true for a deployment, DevSpace will replace/update all image tags before deploying the project.

When enabled, DevSpace searches all your manifests for images that are defined in the images section of the devspace.yaml. If DevSpace finds an image, it replaces or appends the image tag with the tag it created during the image building process. Image tag replacement makes sure that your application will always be started with the most up-to-date image that DevSpace has built for you.

Example: Enable Tag Updates

yaml {3}
deployments:
  backend:
    updateImageTags: true
    kubectl:
      manifests:
      - backend/

:::info In-Memory Tag Replacement
Tag replacement takes place in-memory and is not writing anything to the filesystem, i.e. it will never change any of your configuration files.
:::


File: docs/pages/_partials/kustomize-options-kustomizeArgs.mdx

The kustomizeArgs option expects an array of strings stating additional arguments (and flags) that should be used when calling kustomize build.

Example: Custom Kustomize Args & Flags

yaml
deployments:
- name: backend
  kubectl:
    manifests:
    - backend/
    kustomize: true
    kustomizeArgs:
    - "--timeout"
    - "10s"
    - "--grace-period"
    - "30"

Deploying the above example would roughly be equivalent to this command:

bash
kustomize build --timeout=10s --grace-period=30 -f backend/

Note: Directly copying the example shown above would result in your deploy failing (it would result in Error: unknown flag: --timeout).


File: docs/pages/_partials/note-create-space.mdx

:::note Kube-Context
DevSpace automatically sets up a kube-context for this Space, so you can also access your namespace using kubectl, helm or any other Kubernetes tool. Try it:

bash
kubectl get pods

:::


File: docs/pages/_partials/note-general-purpose-command.mdx

:::note
This command is a general purpose command which also works for any pod/container in Kubernetes even if you are not within a DevSpace project.
:::


File: docs/pages/_partials/profiles-apply-multiple.mdx

:::tip Apply Multiple Profiles with Flags

It is possible to apply multiple profiles in a single command with the --profile flag. This flag can take one or multiple profiles that will be applied in the order that they are specified.

Example:

text
# Apply profile1, profile2 and profile3 in this order
devspace print --profile profile1 --profile profile2 --profile profile3

:::


File: docs/pages/_partials/selector-image-selector.mdx

The imageSelector option expects a string that specifies an image (e.g. my-registry.com/lib/my-image:tag) to select a target pod and container with. The newest running pod that has a container which matches this image will be selected by DevSpace.

In addition, you can also reference images from the images section in the imageSelector with:

  • If the image in imageSelector matches a images.*.image, DevSpace will automatically append the latest built tag during runtime to the imageSelector.
  • You can also let DevSpace resolve the target image and tag by using runtime variables ${runtime.images.IMAGE_NAME}, ${runtime.images.IMAGE_NAME.image} or ${runtime.images.IMAGE_NAME.tag}

For example:

yaml
images: 
  app: 
    image: my-registry.com/lib/my-image
dev:
  ...
  # DevSpace will search for the newest pod with a container that
  # uses my-registry.com/lib/other-image:latest
  - imageSelector: my-registry.com/lib/other-image:latest
  # DevSpace will search for the newest pod with a container that
  # uses my-registry.com/lib/my-image:xxxxx (latest built tag by DevSpace)
  - imageSelector: my-registry.com/lib/my-image
  # DevSpace will search for the newest pod with a container that
  # uses my-registry.com/lib/my-image:xxxxx (latest built tag by DevSpace)
  - imageSelector: ${runtime.images.app}
  # DevSpace will search for the newest pod with a container that
  # uses my-registry.com/lib/my-image:custom-tag
  - imageSelector: ${runtime.images.app.image}:custom-tag
  # DevSpace will search for the newest pod with a container that
  # uses my-registry.com/lib/my-image:xxxxx (latest built tag by DevSpace)
  - imageSelector: ${runtime.images.app.image}:${runtime.images.app.tag}
  # DevSpace will search for the newest pod with a container that
  # uses the image of app of dependency dep1 with the latest built tag by DevSpace
  - imageSelector: ${runtime.dependencies.dep1.images.app.image}:${runtime.dependencies.dep1.images.app.tag}

File: docs/pages/_partials/selector-label-selector.mdx

The labelSelector option expects a key-value map of strings with Kubernetes labels. This can be used to select the correct target pod with labels instead of the image name like imageSelector or imageName. If the pod you want to select has multiple containers, make sure to use containerName as well.


File: docs/pages/_partials/start-app.mdx

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

<Tabs
defaultValue="javascript"
groupId="language"
values={[
{ label: 'Node.js', value: 'javascript', },
{ label: 'Python', value: 'python', },
{ label: 'Java', value: 'java', },
{ label: 'Ruby', value: 'ruby', },
{ label: 'Golang', value: 'golang', },
{ label: 'PHP', value: 'php', },
{ label: 'ASP.NET', value: 'dotnet', },
{ label: 'Your Own Project', value: 'custom', },
]
}>

bash
npm start  
# or: npm run dev
# or: yarn start
bash
python main.py
bash
bundle exec rails server -p 3000 -b 0.0.0.0
bash
go run main.go
bash
./build.sh run
bash
# Your application may already be running
# Try to open the browser on localhost to access it

# You can also run other commands now:
php ...
composer ...
ps aux
bash
dotnet run
bash
# Whatever command is needed to start your application

File: docs/pages/_partials/tip-print-config.mdx

The following command is useful to verify that the profile modifies the config as intended:

bash
devspace print -p profile-1 -p profile-2

The above command would print the config after applying all profile patches and replace statements from profile-1 first and then profile-2.


File: docs/pages/_partials/tip-use-namespace.mdx

:::tip Kube-Context Namespace
Running the command above will change the default namespace of your kube-context, i.e. instead of using the default namespace, kubectl and other tools will now use a different namespace when working with this kube-context. That also means, you will not always need to use the --namespace / -n flag.
:::


File: docs/pages/_partials/vars-default.mdx

The default option expects a string, integer or boolean defining the default value for the variable. You can also use other variables in a default value, with one of the following conditions being true:

  • The used variable is defined before the variable that wants to use it
  • The used variable is a predefined variable

:::note Type Casting
If a default value is specified, DevSpace will assume the type of the default value as the type for the variable, i.e. when default: "123" is defined and a value of 123 (int) is provided it would be casted to "123" (string). To explicitly use the value of a variable as a string within devspace.yaml, use $!{VAR_NAME} instead of ${VAR_NAME}.
:::

Example:

yaml
images:
  default:
    image: ${IMAGE}
vars:
  - name: IMAGE_REPOSITORY
    default: myrepository
    source: none
  - name: IMAGE_NAME
    default: devspace
    source: none
  - name: IMAGE
    default: ${IMAGE_REPOSITORY}/${IMAGE_NAME}
    source: none
  - name: NAMESPACE
    default: ${devspace.namespace}
    source: none

File: docs/pages/_partials/vars-force-string.mdx

:::note Variable Type
By default, the type (string, int, bool) of variable will be determined by the type of its default value (if defined) or automatically detected if no default value is defined. To explicitly use the value of a variable as a string, use $!{VAR_NAME} instead of ${VAR_NAME}.
:::


File: docs/pages/_partials/vars-name.mdx

The name option expects a string stating the name of the config variable that will be used to reference it within the remainder of the configuration.

:::info Must be unique
The name of a config variable must be unique and is mandatory when defining a config variable.
:::


File: docs/pages/_partials/warning-build-tool-priority.mdx

:::warning Build Tool Priority
If you specify multiple build tools, DevSpace will try to use them in the following order:

  1. disabled
  2. custom
  3. docker (uses kaniko as fallback if Docker host not reachable)
  4. kaniko
    :::

File: docs/pages/_partials/warning-multiple-dev.mdx

:::warning
Running devspace dev multiple times in parallel for the same project does not work and returns a fatal error because multiple instances of port forwarding and file sync will disturb each other. However, running devspace dev for several different projects (i.e. 2 different devspace.yaml files with different name) works seamlessly.
:::


File: docs/pages/_partials/workflow-build-images.mdx

DevSpace triggers the image building process for the images specified in the images section of the devspace.yaml.


File: docs/pages/_partials/workflow-deploy-dependencies.mdx

DevSpace loads the dependencies section from the devspace.yaml and creates a dependency tree. The current project will represent the root of this tree. Based on this dependency tree, DevSpace will start from the leaves and run these steps for each dependency:

  • Build images of the dependency as configured in the images section of the dependency's devspace.yaml (unless skipBuild: true)
  • Deploy the dependency as configured in the deployments section of the dependency's devspace.yaml

:::note What are Dendencies?
Dependencies allow you to deploy microservices, that the project you are currently deploying relies on. Dependencies can be located in a subpath of your project or they can be automatically loaded from a different git repository.
:::


File: docs/pages/_partials/workflow-deploy-project.mdx

DevSpace iterates over every item in the deployments array defined in the devspace.yaml and deploys each of the deployments using the respective deployment tool:

  • kubectl deployments will be deployed with kubectl (optionally using kustomize if kustomize: true)
  • helm deployments will be deployed with the helm client that comes in-built with DevSpace

:::info kubectl Required
Deployments with kubectl require kubectl to be installed.
:::


  1. DevSpace starts to periodically send HTTP GET requests to the URLs provideded via dev.*.open[*].url.
  2. As soon as the first HTTP response has a status code which is neither 502 (Bad Gateway) nor 503 (Service Unavailable), DevSpace assumes that the application is now started, stops sending any further requests and opens the provided URL in the browser.
  3. If the URL is still returning status code 502 or 503 after 4min, DevSpace will stop trying to open it. To not disturb the log streaming or the interactive terminal session, DevSpace will not show an error when hitting the 4min timeout.

File: docs/pages/_partials/workflow-replace-tags.mdx

After finishing the image building process, DevSpace searches your deployments for references to the images that are specified in the images section of the devspace.yaml. If DevSpace finds that an image is used by one of your deployments and the deployment does not explicitly define a tag for the image, DevSpace will append the tag that has been auto-generated as part of the automated image tagging during the image building process.

:::warning Prevent Hard-Coded Tags
To use automated tag replacement, make sure you do not specify image tags in the deployment configuration.
:::

Replacing or appending tags to images that are used in your deployments makes sure that your deployments are always started using the most recently pushed image tag. This automated process saves a lot of time compared to manually replacing image tags each time before you deploy something.

DevSpace will replace the following things:

  • registry.url/repo/name that corresponds to a images.*.image, will be rewritten to registry.url/repo/name:generated_tag
  • ${runtime.images.image-key.image} that corresponds to a images.* key, will be rewritten to registry.url/repo/name. You can also use dependency images here with ${runtime.dependencies.dep1.images.dep-image.image}
  • ${runtime.images.image-key.tag} that corresponds to a images.* key, will be rewritten to generated_tag. You can also use dependency images here with ${runtime.dependencies.dep1.images.dep-image.tag}

File: docs/pages/cli/devspace_add.md


title: "devspace add --help" sidebar_label: devspace add

Adds something to devspace.yaml

Synopsis

text
#######################################################
#################### devspace add #####################
#######################################################
Adds config sections to devspace.yaml

Flags

text
-h, --help   help for add

Global & Inherited Flags

text
--debug                        Prints the stack trace if an error occurs
      --disable-profile-activation   If true will ignore all profile activations
      --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
      --kube-context string          The kubernetes context to use
      --kubeconfig string            The kubeconfig path to use
  -n, --namespace string             The kubernetes namespace to use
      --no-colors                    Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
      --no-warn                      If true does not show any warning when deploying into a different namespace or kube-context than before
      --override-name string         If specified will override the DevSpace project name provided in the devspace.yaml
  -p, --profile strings              The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
      --silent                       Run in silent mode and prevents any devspace log output except panics & fatals
  -s, --switch-context               Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
      --var strings                  Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

File: docs/pages/cli/devspace_add_plugin.md


title: "devspace add plugin --help" sidebar_label: devspace add plugin

Adds a plugin to devspace

Synopsis

text
devspace add plugin [flags]
text
#######################################################
############### devspace add plugin ###################
#######################################################
Adds a new plugin to devspace

devspace add plugin https://github.com/my-plugin/plugin
#######################################################

Flags

text
-h, --help             help for plugin
      --version string   The git tag to use

Global & Inherited Flags

text
--debug                        Prints the stack trace if an error occurs
      --disable-profile-activation   If true will ignore all profile activations
      --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
      --kube-context string          The kubernetes context to use
      --kubeconfig string            The kubeconfig path to use
  -n, --namespace string             The kubernetes namespace to use
      --no-colors                    Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
      --no-warn                      If true does not show any warning when deploying into a different namespace or kube-context than before
      --override-name string         If specified will override the DevSpace project name provided in the devspace.yaml
  -p, --profile strings              The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
      --silent                       Run in silent mode and prevents any devspace log output except panics & fatals
  -s, --switch-context               Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
      --var strings                  Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

File: docs/pages/cli/devspace_analyze.md


title: "devspace analyze --help" sidebar_label: devspace analyze

Analyzes a kubernetes namespace and checks for potential problems

Synopsis

text
devspace analyze [flags]
text
#######################################################
################## devspace analyze ###################
#######################################################
Analyze checks a namespaces events, replicasets, services
and pods for potential problems

Example:
devspace analyze
devspace analyze --namespace=mynamespace
#######################################################

Flags

text
-h, --help                  help for analyze
      --ignore-pod-restarts   If true, analyze will ignore the restart events of running pods
      --patient               If true, analyze will ignore failing pods and events until every deployment, statefulset, replicaset and pods are ready or the timeout is reached
      --timeout int           Timeout until analyze should stop waiting (default 120)
      --wait                  Wait for pods to get ready if they are just starting (default true)

Global & Inherited Flags

text
--debug                        Prints the stack trace if an error occurs
      --disable-profile-activation   If true will ignore all profile activations
      --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
      --kube-context string          The kubernetes context to use
      --kubeconfig string            The kubeconfig path to use
  -n, --namespace string             The kubernetes namespace to use
      --no-colors                    Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
      --no-warn                      If true does not show any warning when deploying into a different namespace or kube-context than before
      --override-name string         If specified will override the DevSpace project name provided in the devspace.yaml
  -p, --profile strings              The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
      --silent                       Run in silent mode and prevents any devspace log output except panics & fatals
  -s, --switch-context               Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
      --var strings                  Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

File: docs/pages/cli/devspace_attach.md


title: "devspace attach --help" sidebar_label: devspace attach

Attaches to a container

Synopsis

text
devspace attach [flags]
text
#######################################################
################# devspace attach #####################
#######################################################
Attaches to a running container

devspace attach
devspace attach --pick # Select pod to enter
devspace attach -c my-container
devspace attach -n my-namespace
#######################################################

Flags

text
-c, --container string        Container name within pod where to execute command
  -h, --help                    help for attach
      --image-selector string   The image to search a pod for (e.g. nginx, nginx:latest, ${runtime.images.app}, nginx:${runtime.images.app.tag})
  -l, --label-selector string   Comma separated key=value selector list (e.g. release=test)
      --pick                    Select a pod (default true)
      --pod string              Pod to open a shell to

Global & Inherited Flags

text
--debug                        Prints the stack trace if an error occurs
      --disable-profile-activation   If true will ignore all profile activations
      --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
      --kube-context string          The kubernetes context to use
      --kubeconfig string            The kubeconfig path to use
  -n, --namespace string             The kubernetes namespace to use
      --no-colors                    Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
      --no-warn                      If true does not show any warning when deploying into a different namespace or kube-context than before
      --override-name string         If specified will override the DevSpace project name provided in the devspace.yaml
  -p, --profile strings              The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
      --silent                       Run in silent mode and prevents any devspace log output except panics & fatals
  -s, --switch-context               Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
      --var strings                  Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

File: docs/pages/cli/devspace_build.md


title: "devspace build --help" sidebar_label: devspace build

Builds all defined images and pushes them

Synopsis

text
devspace build [flags]
text
#######################################################
################## devspace build #####################
#######################################################
Builds all defined images and pushes them
#######################################################

Flags

text
--build-sequential            Builds the images one after another instead of in parallel
      --dependency strings          Deploys only the specified named dependencies
  -b, --force-build                 Forces to build every image (default true)
  -d, --force-deploy                Forces to deploy every deployment
      --force-purge                 Forces to purge every deployment even though it might be in use by another DevSpace project
  -h, --help                        help for build
      --max-concurrent-builds int   The maximum number of image builds built in parallel (0 for infinite)
      --pipeline string             The pipeline to execute (default "build")
      --render                      If true will render manifests and print them instead of actually deploying them
      --sequential-dependencies     If set set true dependencies will run sequentially
      --show-ui                     Shows the ui server
      --skip-build                  Skips building of images
      --skip-dependency strings     Skips the following dependencies for deployment
      --skip-deploy                 If enabled will skip deploying
      --skip-push                   Skips image pushing, useful for minikube deployment
      --skip-push-local-kube        Skips image pushing, if a local kubernetes environment is detected (default true)
  -t, --tag strings                 Use the given tag for all built images

Global & Inherited Flags

text
--debug                        Prints the stack trace if an error occurs
      --disable-profile-activation   If true will ignore all profile activations
      --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
      --kube-context string          The kubernetes context to use
      --kubeconfig string            The kubeconfig path to use
  -n, --namespace string             The kubernetes namespace to use
      --no-colors                    Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
      --no-warn                      If true does not show any warning when deploying into a different namespace or kube-context than before
      --override-name string         If specified will override the DevSpace project name provided in the devspace.yaml
  -p, --profile strings              The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
      --silent                       Run in silent mode and prevents any devspace log output except panics & fatals
  -s, --switch-context               Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
      --var strings                  Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

File: docs/pages/cli/devspace_cleanup.md


title: "devspace cleanup --help" sidebar_label: devspace cleanup

Cleans up resources

Synopsis

text
#######################################################
################## devspace cleanup ###################
#######################################################

Flags

text
-h, --help   help for cleanup

Global & Inherited Flags

text
--debug                        Prints the stack trace if an error occurs
      --disable-profile-activation   If true will ignore all profile activations
      --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
      --kube-context string          The kubernetes context to use
      --kubeconfig string            The kubeconfig path to use
  -n, --namespace string             The kubernetes namespace to use
      --no-colors                    Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
      --no-warn                      If true does not show any warning when deploying into a different namespace or kube-context than before
      --override-name string         If specified will override the DevSpace project name provided in the devspace.yaml
  -p, --profile strings              The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
      --silent                       Run in silent mode and prevents any devspace log output except panics & fatals
  -s, --switch-context               Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
      --var strings                  Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

File: docs/pages/cli/devspace_cleanup_images.md


title: "devspace cleanup images --help" sidebar_label: devspace cleanup images

Deletes all locally created images from docker

Synopsis

text
devspace cleanup images [flags]
text
#######################################################
############# devspace cleanup images #################
#######################################################
Deletes all locally created docker images from docker
#######################################################

Flags

text
-h, --help   help for images

Global & Inherited Flags

text
--debug                        Prints the stack trace if an error occurs
      --disable-profile-activation   If true will ignore all profile activations
      --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
      --kube-context string          The kubernetes context to use
      --kubeconfig string            The kubeconfig path to use
  -n, --namespace string             The kubernetes namespace to use
      --no-colors                    Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
      --no-warn                      If true does not show any warning when deploying into a different namespace or kube-context than before
      --override-name string         If specified will override the DevSpace project name provided in the devspace.yaml
  -p, --profile strings              The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
      --silent                       Run in silent mode and prevents any devspace log output except panics & fatals
  -s, --switch-context               Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
      --var strings                  Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

File: docs/pages/cli/devspace_cleanup_local-registry.md


title: "devspace cleanup local-registry --help" sidebar_label: devspace cleanup local-registry

Deletes the local image registry

Synopsis

text
devspace cleanup local-registry [flags]
text
#######################################################
######### devspace cleanup local-registry #############
#######################################################
Deletes the local image registry
#######################################################

Flags

text
-h, --help   help for local-registry

Global & Inherited Flags

text
--debug                        Prints the stack trace if an error occurs
      --disable-profile-activation   If true will ignore all profile activations
      --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
      --kube-context string          The kubernetes context to use
      --kubeconfig string            The kubeconfig path to use
  -n, --namespace string             The kubernetes namespace to use
      --no-colors                    Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
      --no-warn                      If true does not show any warning when deploying into a different namespace or kube-context than before
      --override-name string         If specified will override the DevSpace project name provided in the devspace.yaml
  -p, --profile strings              The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
      --silent                       Run in silent mode and prevents any devspace log output except panics & fatals
  -s, --switch-context               Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
      --var strings                  Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

File: docs/pages/cli/devspace_completion.md


title: "devspace completion --help" sidebar_label: devspace completion

Outputs shell completion for the given shell (bash or zsh)

Synopsis

text
```

devspace completion SHELL [flags]

text

Outputs shell completion for the given shell (bash or zsh)

text
This depends on the bash-completion binary.  Example installation instructions:
OS X:
	$ brew install bash-completion
	$ source $(brew --prefix)/etc/bash_completion
	$ devspace completion bash > ~/.devspace-completion  # for bash users
	$ devspace completion fish > ~/.devspace-completion  # for fish users
	$ devspace completion zsh > ~/.devspace-completion   # for zsh users
	$ source ~/.devspace-completion
Ubuntu:
	$ apt-get install bash-completion
	$ source /etc/bash-completion
	$ source <(devspace completion bash) # for bash users
	$ devspace completion fish | source # for fish users
	$ source <(devspace completion zsh)  # for zsh users

Additionally, you may want to output the completion to a file and source in your .bashrc
text
## Flags

-h, --help help for completion

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_deploy.md

---
title: "devspace deploy --help"
sidebar_label: devspace deploy
---


Deploys the project

## Synopsis

devspace deploy [flags]

text

#######################################################
################## devspace deploy ####################
#######################################################
Deploys the current project to a Space or namespace:

devspace deploy
devspace deploy -n some-namespace
devspace deploy --kube-context=deploy-context
#######################################################

text
## Flags
text
--build-sequential            Builds the images one after another instead of in parallel
  --dependency strings          Deploys only the specified named dependencies

-b, --force-build Forces to build every image
-d, --force-deploy Forces to deploy every deployment
--force-purge Forces to purge every deployment even though it might be in use by another DevSpace project
-h, --help help for deploy
--max-concurrent-builds int The maximum number of image builds built in parallel (0 for infinite)
--pipeline string The pipeline to execute (default "deploy")
--render If true will render manifests and print them instead of actually deploying them
--sequential-dependencies If set set true dependencies will run sequentially
--show-ui Shows the ui server
--skip-build Skips building of images
--skip-dependency strings Skips the following dependencies for deployment
--skip-deploy If enabled will skip deploying
--skip-push Skips image pushing, useful for minikube deployment
--skip-push-local-kube Skips image pushing, if a local kubernetes environment is detected (default true)
-t, --tag strings Use the given tag for all built images

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_dev.md

---
title: "devspace dev --help"
sidebar_label: devspace dev
---


Starts the development mode

## Synopsis

devspace dev [flags]

text

#######################################################
################### devspace dev ######################
#######################################################
Starts your project in development mode
#######################################################

text
## Flags
text
--build-sequential            Builds the images one after another instead of in parallel
  --dependency strings          Deploys only the specified named dependencies

-b, --force-build Forces to build every image
-d, --force-deploy Forces to deploy every deployment
--force-purge Forces to purge every deployment even though it might be in use by another DevSpace project
-h, --help help for dev
--max-concurrent-builds int The maximum number of image builds built in parallel (0 for infinite)
--pipeline string The pipeline to execute (default "dev")
--render If true will render manifests and print them instead of actually deploying them
--sequential-dependencies If set set true dependencies will run sequentially
--show-ui Shows the ui server
--skip-build Skips building of images
--skip-dependency strings Skips the following dependencies for deployment
--skip-deploy If enabled will skip deploying
--skip-push Skips image pushing, useful for minikube deployment
--skip-push-local-kube Skips image pushing, if a local kubernetes environment is detected (default true)
-t, --tag strings Use the given tag for all built images

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_enter.md

---
title: "devspace enter --help"
sidebar_label: devspace enter
---


Open a shell to a container

## Synopsis

devspace enter [flags]

text

#######################################################
################## devspace enter #####################
#######################################################
Execute a command or start a new terminal in your
devspace:

devspace enter
devspace enter --pick # Select pod to enter
devspace enter bash
devspace enter -c my-container
devspace enter bash -n my-namespace
devspace enter bash -l release=test
devspace enter bash --image-selector nginx:latest
devspace enter bash --image-selector "${runtime.images.app.image}:${runtime.images.app.tag}"
#######################################################

text
## Flags

-c, --container string Container name within pod where to execute command
-h, --help help for enter
--image-selector string The image to search a pod for (e.g. nginx, nginx:latest, ${runtime.images.app}, nginx:${runtime.images.app.tag})
-l, --label-selector string Comma separated key=value selector list (e.g. release=test)
--pick Select a pod / container if multiple are found (default true)
--pod string Pod to open a shell to
--reconnect Will reconnect the terminal if an unexpected return code is encountered
--screen Use a screen session to connect
--screen-session string The screen session to create or connect to (default "enter")
--tty If to use a tty to start the command (default true)
--wait Wait for the pod(s) to start if they are not running
--workdir string The working directory where to open the terminal or execute the command

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_init.md

---
title: "devspace init --help"
sidebar_label: devspace init
---


Initializes DevSpace in the current folder

## Synopsis

devspace init [flags]

text

#######################################################
#################### devspace init ####################
#######################################################
Initializes a new devspace project within the current
folder. Creates a devspace.yaml as a starting point.
#######################################################

text
## Flags
text
--context string      Context path to use for intialization
  --dockerfile string   Dockerfile to use for initialization (default "./Dockerfile")

-h, --help help for init
--provider string The cloud provider to use
-r, --reconfigure Change existing configuration

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_list.md

---
title: "devspace list --help"
sidebar_label: devspace list
---


Lists configuration

## Synopsis

#######################################################
#################### devspace list ####################
#######################################################

text
## Flags

-h, --help help for list

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_list_commands.md

---
title: "devspace list commands --help"
sidebar_label: devspace list commands
---


Lists all custom DevSpace commands

## Synopsis

devspace list commands [flags]

text

#######################################################
############## devspace list commands #################
#######################################################
Lists all DevSpace custom commands defined in the
devspace.yaml
#######################################################

text
## Flags

-h, --help help for commands

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_list_contexts.md

---
title: "devspace list contexts --help"
sidebar_label: devspace list contexts
---


Lists all kube contexts

## Synopsis

devspace list contexts [flags]

text

#######################################################
############## devspace list contexts #################
#######################################################
Lists all available kube contexts

Example:
devspace list contexts
#######################################################

text
## Flags

-h, --help help for contexts

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_list_deployments.md

---
title: "devspace list deployments --help"
sidebar_label: devspace list deployments
---


Lists and shows the status of all deployments

## Synopsis

devspace list deployments [flags]

text

#######################################################
############# devspace list deployments ###############
#######################################################
Lists the status of all deployments
#######################################################

text
## Flags

-h, --help help for deployments

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_list_namespaces.md

---
title: "devspace list namespaces --help"
sidebar_label: devspace list namespaces
---


Lists all namespaces in the current context

## Synopsis

devspace list namespaces [flags]

text

#######################################################
############ devspace list namespaces #################
#######################################################
Lists all namespaces in the selected kube context
#######################################################

text
## Flags

-h, --help help for namespaces

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_list_plugins.md

---
title: "devspace list plugins --help"
sidebar_label: devspace list plugins
---


Lists all installed devspace plugins

## Synopsis

devspace list plugins [flags]

text

#######################################################
############# devspace list plugins ##################
#######################################################
Lists all installed plugins

devspace list plugins
#######################################################

text
## Flags

-h, --help help for plugins

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_list_ports.md

---
title: "devspace list ports --help"
sidebar_label: devspace list ports
---


Lists port forwarding configurations

## Synopsis

devspace list ports [flags]

text

#######################################################
############### devspace list ports ###################
#######################################################
Lists the port forwarding configurations
#######################################################

text
## Flags

-h, --help help for ports
-o, --output string The output format of the command. Can be either empty or json

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_list_profiles.md

---
title: "devspace list profiles --help"
sidebar_label: devspace list profiles
---


Lists all DevSpace profiles

## Synopsis

devspace list profiles [flags]

text

#######################################################
############## devspace list profiles #################
#######################################################
Lists all DevSpace configurations for this project
#######################################################

text
## Flags

-h, --help help for profiles

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_list_sync.md

---
title: "devspace list sync --help"
sidebar_label: devspace list sync
---


Lists sync configuration

## Synopsis

devspace list sync [flags]

text

#######################################################
################# devspace list sync ##################
#######################################################
Lists the sync configuration
#######################################################

text
## Flags

-h, --help help for sync

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_list_vars.md

---
title: "devspace list vars --help"
sidebar_label: devspace list vars
---


Lists the vars in the active config

## Synopsis

devspace list vars [flags]

text

#######################################################
############### devspace list vars ####################
#######################################################
Lists the defined vars in the devspace config with their
values
#######################################################

text
## Flags

-h, --help help for vars
-o, --output string The output format of the command. Can be either empty, keyvalue or json

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_logs.md

---
title: "devspace logs --help"
sidebar_label: devspace logs
---


Prints the logs of a pod and attaches to it

## Synopsis

devspace logs [flags]

text

#######################################################
#################### devspace logs ####################
#######################################################
Prints the last log of a pod container and attachs
to it

Example:
devspace logs
devspace logs --namespace=mynamespace
#######################################################

text
## Flags

-c, --container string Container name within pod where to execute command
-f, --follow Attach to logs afterwards
-h, --help help for logs
--image-selector string The image to search a pod for (e.g. nginx, nginx:latest, ${runtime.images.app}, nginx:${runtime.images.app.tag})
-l, --label-selector string Comma separated key=value selector list (e.g. release=test)
--lines int Max amount of lines to print from the last log (default 200)
--pick Select a pod (default true)
--pod string Pod to print the logs of
--wait Wait for the pod(s) to start if they are not running

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_open.md

---
title: "devspace open --help"
sidebar_label: devspace open
---


Opens the space in the browser

## Synopsis

devspace open [flags]

text

#######################################################
#################### devspace open ####################
#######################################################
Opens the space domain in the browser

Example:
devspace open
#######################################################

text
## Flags

-h, --help help for open
--port int The port on the localhost to listen on
--provider string The cloud provider to use

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_print.md

---
title: "devspace print --help"
sidebar_label: devspace print
---


Prints displays the configuration

## Synopsis

devspace print [flags]

text

#######################################################
################## devspace print #####################
#######################################################
Prints the configuration for the current or given
profile after all patching and variable substitution
#######################################################

text
## Flags
text
--dependency string   The dependency to print the config from. Use dot to access nested dependencies (e.g. dep1.dep2)

-h, --help help for print
--skip-info When enabled, only prints the configuration without additional information

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_purge.md

---
title: "devspace purge --help"
sidebar_label: devspace purge
---


Deletes deployed resources

## Synopsis

devspace purge [flags]

text

#######################################################
################### devspace purge ####################
#######################################################
Deletes the deployed kubernetes resources:

devspace purge
#######################################################

text
## Flags
text
--build-sequential            Builds the images one after another instead of in parallel
  --dependency strings          Deploys only the specified named dependencies

-b, --force-build Forces to build every image
-d, --force-deploy Forces to deploy every deployment
--force-purge Forces to purge every deployment even though it might be in use by another DevSpace project
-h, --help help for purge
--max-concurrent-builds int The maximum number of image builds built in parallel (0 for infinite)
--pipeline string The pipeline to execute (default "purge")
--render If true will render manifests and print them instead of actually deploying them
--sequential-dependencies If set set true dependencies will run sequentially
--show-ui Shows the ui server
--skip-build Skips building of images
--skip-dependency strings Skips the following dependencies for deployment
--skip-deploy If enabled will skip deploying
--skip-push Skips image pushing, useful for minikube deployment
--skip-push-local-kube Skips image pushing, if a local kubernetes environment is detected (default true)
-t, --tag strings Use the given tag for all built images

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_remove.md

---
title: "devspace remove --help"
sidebar_label: devspace remove
---


Removes devspace configuration

## Synopsis

#######################################################
################## devspace remove ####################
#######################################################

text
## Flags

-h, --help help for remove

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_remove_context.md

---
title: "devspace remove context --help"
sidebar_label: devspace remove context
---


Removes a kubectl-context

## Synopsis

devspace remove context [flags]

text

#######################################################
############# devspace remove context #################
#######################################################
Removes a kubectl-context

Example:
devspace remove context myspace
#######################################################

text
## Flags

-h, --help help for context

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_remove_plugin.md

---
title: "devspace remove plugin --help"
sidebar_label: devspace remove plugin
---


Removes a devspace plugin

## Synopsis

devspace remove plugin [flags]

text

#######################################################
############# devspace remove plugin ##################
#######################################################
Removes a plugin

devspace remove plugin my-plugin
#######################################################

text
## Flags

-h, --help help for plugin

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_render.md

---
title: "devspace render --help"
sidebar_label: devspace render
---


Builds all defined images and shows the yamls that would be deployed

## Synopsis

devspace render [flags]

text

#######################################################
################## devspace render #####################
#######################################################
Builds all defined images and shows the yamls that would
be deployed via helm and kubectl, but skips actual
deployment.
#######################################################

text
## Flags
text
--build-sequential            Builds the images one after another instead of in parallel
  --dependency strings          Deploys only the specified named dependencies

-b, --force-build Forces to build every image
-d, --force-deploy Forces to deploy every deployment
--force-purge Forces to purge every deployment even though it might be in use by another DevSpace project
-h, --help help for render
--max-concurrent-builds int The maximum number of image builds built in parallel (0 for infinite)
--pipeline string The pipeline to execute (default "deploy")
--render If true will render manifests and print them instead of actually deploying them (default true)
--sequential-dependencies If set set true dependencies will run sequentially
--show-ui Shows the ui server
--skip-build Skips building of images
--skip-dependency strings Skips the following dependencies for deployment
--skip-deploy If enabled will skip deploying
--skip-push Skips image pushing, useful for minikube deployment
--skip-push-local-kube Skips image pushing, if a local kubernetes environment is detected (default true)
-t, --tag strings Use the given tag for all built images

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_reset.md

---
title: "devspace reset --help"
sidebar_label: devspace reset
---


Resets an cluster token

## Synopsis

#######################################################
################## devspace reset #####################
#######################################################

text
## Flags

-h, --help help for reset

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_reset_dependencies.md

---
title: "devspace reset dependencies --help"
sidebar_label: devspace reset dependencies
---


Resets the dependencies cache

## Synopsis

devspace reset dependencies [flags]

text

#######################################################
############ devspace reset dependencies ##############
#######################################################
Deletes the complete dependency cache

Examples:
devspace reset dependencies
#######################################################

text
## Flags

-h, --help help for dependencies

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_reset_pods.md

---
title: "devspace reset pods --help"
sidebar_label: devspace reset pods
---


Resets the replaced pods

## Synopsis

devspace reset pods [flags]

text

#######################################################
############### devspace reset pods ###################
#######################################################
Resets the replaced pods to its original state

Examples:
devspace reset pods
#######################################################

text
## Flags
text
--force   If true will force resetting pods even though they might be still used by other DevSpace projects

-h, --help help for pods

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_reset_vars.md

---
title: "devspace reset vars --help"
sidebar_label: devspace reset vars
---


Resets the current config vars

## Synopsis

devspace reset vars [flags]

text

#######################################################
############### devspace reset vars ###################
#######################################################
Resets the saved variables of the current config

Examples:
devspace reset vars
#######################################################

text
## Flags

-h, --help help for vars

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_restart.md

---
title: "devspace restart --help"
sidebar_label: devspace restart
---


Restarts containers where the sync restart helper is injected

## Synopsis

devspace restart [flags]

text

#######################################################
################## devspace restart ###################
#######################################################
Restarts containers where the sync restart helper
is injected:

devspace restart
devspace restart -n my-namespace
#######################################################

text
## Flags

-c, --container string Container name within pod to restart
-h, --help help for restart
-l, --label-selector string Comma separated key=value selector list (e.g. release=test)
--name string The sync path name to restart
--pick Select a pod (default true)
--pod string Pod to restart

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_run-pipeline.md

---
title: "devspace run-pipeline --help"
sidebar_label: devspace run-pipeline
---


Starts a DevSpace pipeline

## Synopsis

devspace run-pipeline [flags]

text

#######################################################
############## devspace run-pipeline ##################
#######################################################
Execute a pipeline:
devspace run-pipeline my-pipeline
devspace run-pipeline dev
#######################################################

text
## Flags
text
--build-sequential            Builds the images one after another instead of in parallel
  --dependency strings          Deploys only the specified named dependencies

-b, --force-build Forces to build every image
-d, --force-deploy Forces to deploy every deployment
--force-purge Forces to purge every deployment even though it might be in use by another DevSpace project
-h, --help help for run-pipeline
--max-concurrent-builds int The maximum number of image builds built in parallel (0 for infinite)
--pipeline string The pipeline to execute
--render If true will render manifests and print them instead of actually deploying them
--sequential-dependencies If set set true dependencies will run sequentially
--show-ui Shows the ui server
--skip-build Skips building of images
--skip-dependency strings Skips the following dependencies for deployment
--skip-deploy If enabled will skip deploying
--skip-push Skips image pushing, useful for minikube deployment
--skip-push-local-kube Skips image pushing, if a local kubernetes environment is detected (default true)
-t, --tag strings Use the given tag for all built images

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_run.md

---
title: "devspace run --help"
sidebar_label: devspace run
---


Executes a predefined command

## Synopsis

devspace run [flags]

text

#######################################################
##################### devspace run ####################
#######################################################
Executes a predefined command from the devspace.yaml

Examples:
devspace run mycommand --myarg 123
devspace run mycommand2 1 2 3
devspace --dependency my-dependency run any-command --any-command-flag
#######################################################

text
## Flags
text
--dependency string   Run a command from a specific dependency

-h, --help help for run

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_set.md

---
title: "devspace set --help"
sidebar_label: devspace set
---


Sets global configuration changes

## Synopsis

#######################################################
#################### devspace set #####################
#######################################################

text
## Flags

-h, --help help for set

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_set_var.md

---
title: "devspace set var --help"
sidebar_label: devspace set var
---


Sets a variable

## Synopsis

devspace set var [flags]

text

#######################################################
################# devspace set var ####################
#######################################################
Sets a specific variable

Examples:
devspace set var key=value
devspace set var key=value key2=value2
#######################################################

text
## Flags

-h, --help help for var
--overwrite If true will overwrite the variables value even if its set already (default true)

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_sync.md

---
title: "devspace sync --help"
sidebar_label: devspace sync
---


Starts a bi-directional sync between the target container and the local path

## Synopsis

devspace sync [flags]

text

#############################################################################
################### devspace sync ###########################################
#############################################################################
Starts a bi-directional(default) sync between the target container path
and local path:

devspace sync --path=.:/app # localPath is current dir and remotePath is /app
devspace sync --path=.:/app --image-selector nginx:latest
devspace sync --path=.:/app --exclude=node_modules,test
devspace sync --path=.:/app --pod=my-pod --container=my-container
#############################################################################

text
## Flags

-c, --container string Container name within pod where to sync to
--download-on-initial-sync DEPRECATED: Downloads all locally non existing remote files in the beginning (default true)
--download-only If set DevSpace will only download files
-e, --exclude strings Exclude directory from sync
-h, --help help for sync
--image-selector string The image to search a pod for (e.g. nginx, nginx:latest, ${runtime.images.app}, nginx:${runtime.images.app.tag})
--initial-sync string The initial sync strategy to use (mirrorLocal, mirrorRemote, preferLocal, preferRemote, preferNewest, keepAll)
-l, --label-selector string Comma separated key=value selector list (e.g. release=test)
--no-watch Synchronizes local and remote and then stops
--path string Path to use (Default is current directory). Example: ./local-path:/remote-path or local-path:.
--pick Select a pod (default true)
--pod string Pod to sync to
--polling If polling should be used to detect file changes in the container
--upload-only If set DevSpace will only upload files
--wait Wait for the pod(s) to start if they are not running (default true)

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_ui.md

---
title: "devspace ui --help"
sidebar_label: devspace ui
---


Opens the localhost UI in the browser

## Synopsis

devspace ui [flags]

text

#######################################################
##################### devspace ui #####################
#######################################################
Opens the localhost UI in the browser
#######################################################

text
## Flags
text
--dev           Ignore errors when downloading UI

-h, --help help for ui
--host string The host to use when opening the ui server (default "localhost")
--port int The port to use when opening the ui server
--server If enabled will force start a server (otherwise an existing UI server is searched)

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_update.md

---
title: "devspace update --help"
sidebar_label: devspace update
---


Updates the current config

## Synopsis

#######################################################
################## devspace update ####################
#######################################################

text
## Flags

-h, --help help for update

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_update_plugin.md

---
title: "devspace update plugin --help"
sidebar_label: devspace update plugin
---


Updates a devspace plugin

## Synopsis

devspace update plugin [flags]

text

#######################################################
############# devspace update plugin ##################
#######################################################
Updates a plugin

devspace update plugin my-plugin
#######################################################

text
## Flags

-h, --help help for plugin
--version string The git tag to use

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_upgrade.md

---
title: "devspace upgrade --help"
sidebar_label: devspace upgrade
---


Upgrades the DevSpace CLI to the newest version

## Synopsis

devspace upgrade [flags]

text

#######################################################
################## devspace upgrade ###################
#######################################################
Upgrades the DevSpace CLI to the newest version
#######################################################

text
## Flags

-h, --help help for upgrade
--version string The version to update devspace to. Defaults to the latest stable version available

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_use.md

---
title: "devspace use --help"
sidebar_label: devspace use
---


Uses specific config

## Synopsis

#######################################################
#################### devspace use #####################
#######################################################

text
## Flags

-h, --help help for use

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_use_context.md

---
title: "devspace use context --help"
sidebar_label: devspace use context
---


Tells DevSpace which kube context to use

## Synopsis

devspace use context [flags]

text

#######################################################
############### devspace use context ##################
#######################################################
Switches the current kube-context

Example:
devspace use context my-context
#######################################################

text
## Flags

-h, --help help for context

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_use_namespace.md

---
title: "devspace use namespace --help"
sidebar_label: devspace use namespace
---


Tells DevSpace which namespace to use

## Synopsis

devspace use namespace [flags]

text

#######################################################
############## devspace use namespace #################
#######################################################
Sets the default namespace to deploy to

Example:
devspace use namespace my-namespace
#######################################################

text
## Flags
text
--create   Create the namespace if it doesn't exist

-h, --help help for namespace
--reset Resets the default namespace of the current kube-context

text
## Global & Inherited Flags
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
---

## File: docs/pages/cli/devspace_version.md

---
title: "devspace version --help"
sidebar_label: devspace version
---

## devspace version

Prints version of devspace

devspace version [flags]

text
### Options

-h, --help help for version

text
### Options inherited from parent commands
text
--debug                        Prints the stack trace if an error occurs
  --disable-profile-activation   If true will ignore all profile activations
  --inactivity-timeout int       Minutes the current user is inactive (no mouse or keyboard interaction) until DevSpace will exit automatically. 0 to disable. Only supported on windows and mac operating systems
  --kube-context string          The kubernetes context to use
  --kubeconfig string            The kubeconfig path to use

-n, --namespace string The kubernetes namespace to use
--no-colors Do not show color highlighting in log output. This avoids invisible output with different terminal background colors
--no-warn If true does not show any warning when deploying into a different namespace or kube-context than before
--override-name string If specified will override the DevSpace project name provided in the devspace.yaml
-p, --profile strings The DevSpace profiles to apply. Multiple profiles are applied in the order they are specified
--silent Run in silent mode and prevents any devspace log output except panics & fatals
-s, --switch-context Switches and uses the last kube context and namespace that was used to deploy the DevSpace project
--var strings Variables to override during execution (e.g. --var=MYVAR=MYVALUE)

text
text
## Flags
## Global & Inherited Flags

---

## File: docs/pages/configuration/expressions.mdx

---
title: Config Expressions
sidebar_label: $(expressions)
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

Config expressions are a powerful feature to load the `devspace.yaml` in a more dynamic way. A config expression works by specifying `$( my bash expression )` instead of a field and the stdout of the bash expression is taken as value for the option or complete section. Config expressions are evaluated after variables and profiles are applied to the config and can change parts of the config.

<Tabs
    defaultValue="file"
    values={[
        { label: 'Load From File', value: 'file', },
        { label: 'If Else', value: 'if', },
        { label: 'Only in dev', value: 'command', },
        { label: 'Generate Section', value: 'generate', },
        { label: 'Return JSON', value: 'json', },
        { label: 'Force String', value: 'forcestring', },
    ]
    }>
<TabItem value="file">

Load a deployment specification from file:
```yaml
deployments: $(cat deployment.yaml)

You can use either inline or multi-line if else:

yaml
deployments:
    
  # Inline If-Else
  backend: $( [ ${DEVSPACE_NAMESPACE} == "test" ] && cat deployment.yaml || echo "" )

  # Multi-Line If-Else
  frontend: |-
    $(
      if [ ${DEVSPACE_CONTEXT} == "minikube" ]; then
        cat minikube.yaml
      else
        echo ""
      fi
    )

Disable image building during devspace dev:

yaml
images:
  deploy:
    build:
      disabled: $( [ $1 == "dev" ] && echo "true" || echo "false" )

Generate a whole section through a script:

yaml
dev: $(./my-script.sh ${DEVSPACE_NAMESPACE} ${DEVSPACE_CONTEXT} ${DEVSPACE_PROFILE})

Since json is a subset of yaml, you can also return regular json in a expression:

yaml
images:
  test:
    image: my-image/image
    build: '$( echo {"disabled": true} )'

By default, DevSpace will try to convert the stdout to a number, bool or yaml value, however you can also force the return value to be a string by using $!():

yaml
deployments:
  backend:
    helm:
      chart: ...
      values:
        labels:
          test: '$!(echo true)'

:::info
Expressions are run in a golang shell that is syntax compatible to a regular POSIX shell and works on all operating systems. Check the github repository for a complete list of available commands
:::

:::info
Variables are resolved before and after applying expressions, which means that you can load a section from file within an expression that contains a variable which will still be resolved afterwards.
:::

Testing Config Expressions

The command devspace print can be used to test your config expressions and shows the config after all profiles, variables and expressions were applied.


File: docs/pages/configuration/reference.mdx


title: Config Reference sidebar_label: Config Reference

import PartialConfig from "./_partials/v2beta1/reference.mdx"

Every project you want to use with DevSpace needs a devspace.yaml which defines how to build, deploy, debug and develop this project.

The devspace.yaml file supports the following fields:


File: docs/pages/configuration/runtime-variables.mdx


title: Runtime Variables sidebar_label: ${runtime.variables}

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

Runtime variables are special variables that are only available in certain config areas and are filled during runtime. Those variables are useful to access certain runtime information, such as hook output or image tags.

<Tabs
defaultValue="var1"
values={[
{ label: 'Separate Repo & Tag', value: 'var1', },
{ label: 'Customize Helm Values', value: 'var2', },
{ label: 'Customize Kubernetes Manifests', value: 'var3', },
{ label: 'Dependency', value: 'var4', },
]
}>

yaml
images:
  app:
    image: registry.url/repo/image
deployments:
  backend:
    helm:
      chart:
        name: chart-name
        repo: https://my-charts.company.tld/
      values:
        # If registry.url/repo/image was found under images as well, will be
        # rewritten to registry.url/repo/image:generated_tag
        imageWithTag: registry.url/repo/image
        # If registry.url/repo/image was found under images.app as well, will be
        # rewritten to registry.url/repo/image
        imageWithoutTag: ${runtime.images.app.image}
        # If registry.url/repo/image was found under images.app as well, will be
        # rewritten to generated_tag
        onlyTag: ${runtime.images.app.tag}
yaml
images:
  app:
    image: myuser/image
hooks:
  - name: "image-digest"
    events: ["after:build:app"]
    command: |
      # This command prints the image digest
      echo $(docker inspect ${runtime.images.app.image}:${runtime.images.app.tag} --format='{{index .RepoDigests 0}}' | cut -d'@' -f2)
deployments:
  checkout:
    helm:
      chart:
        name: ./kubernetes/helm/app
      values:
        app:
          image:
            digest: ${runtime.hooks.image-digest.stdout}
yaml
images:
  your-image:
    image: localhost:5000/my/customalpine
    kaniko:
      insecure: true
      skipPullSecretMount: true

deployments:
  quickstart:
    kubectl:
      inlineManifest: |-
        kind: Deployment
        apiVersion: apps/v1
        metadata:
          name: devspace
        spec:
          replicas: 1
          selector:
            matchLabels:
              app.kubernetes.io/component: default
              app.kubernetes.io/name: devspace-app
          template:
            metadata:
              labels:
                app.kubernetes.io/component: default
                app.kubernetes.io/name: devspace-app
            spec:
              containers:
                - name: default
                  # The correct image tag will be inserted during devspace dev / devspace deploy
                  image: ${runtime.images.your-image}
yaml
dependencies:
  dep1:
    source:
      path: dep1
dev:
  my-dev:
    imageSelector: ${runtime.dependencies.dep1.images.image1}
    terminal: {}

Runtime variables can be used in the following DevSpace config sections:

text
/images/*/build/custom/command
/images/*/build/custom/commands/*/command
/images/*/build/custom/args/**
/images/*/build/custom/appendArgs/**
/deployments/*/helm/values/**
/deployments/*/kubectl/inlineManifest/**
/hooks/*/command
/hooks/*/args/*
/hooks/*/container/imageSelector
/dev/*/imageSelector
/dev/*/replaceImage
/dev/*/devImage
/dev/*/containers/*/replaceImage
/dev/*/containers/*/devImage
/pipelines/*
/pipelines/*/flags/**
/pipelines/*/run
/commands/*
/commands/*/command
/functions/**
/imports/**

:::info
If you try to use a runtime variable in a different config section, DevSpace will print an error and fail.
:::

The following runtime variables exist:

  • runtime.images.IMAGE_NAME: Holds the image name (defined at images.*.image) and tag that was built by DevSpace (e.g. my-repo.com/image:latest)
  • runtime.images.IMAGE_NAME.tag: Holds the image tag that was built by DevSpace (e.g. asdHTR or latest)
  • runtime.images.IMAGE_NAME.image: Holds the image name (defined at images.*.image) that was used for building (e.g. my-repo.com/image)

Accessing runtime variables of dependencies

You can also access runtime variables of an executed dependency by using runtime.dependencies.DEPENDENCY_NAME....

For example:

yaml
dependencies:
  dep1:
    source:
      path: dep1
dev:
  my-dev:
    imageSelector: ${runtime.dependencies.dep1.images.image1}
    terminal: {}

File: docs/pages/configuration/variables.mdx


title: Config Variables sidebar_label: ${VARIABLES}

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import ConfigPartial from './_partials/v2beta1/vars.mdx'
import FragmentVarsForceString from '../_partials/vars-force-string.mdx';

DevSpace allows you to make your configuration dynamic by using variables.

While there is no need to explicitly define a config variable, it allows you to customize the behavior of DevSpace when working with the variable. If you do not explicitly define a variable, DevSpace will try to load it from the user's local environment variables.

Built-In Variables

DevSpace provides a set of built-in variables:

  • ${DEVSPACE_CONTEXT} contains the name of the current kube-context (e.g. minikube)
  • ${DEVSPACE_EXECUTABLE} contains the path to the devspace binary used
  • ${DEVSPACE_GIT_BRANCH} contains the name of the local git branch that the user is currently on
  • ${DEVSPACE_GIT_COMMIT} contains the hash of the latest git commit in the current repository
  • ${DEVSPACE_KUBECTL_EXECUTABLE} contains the path to the kubectl binary
  • ${DEVSPACE_NAME} contains the value of the name field of the current devspace.yaml file
  • ${DEVSPACE_NAMESPACE} contains the current namespace
  • ${DEVSPACE_PROFILE} contains the profile that is currently active in DevSpace (e.g. the string provided via -p / --profile in a command such as devspace dev -p my-profile)
  • ${DEVSPACE_RANDOM} contains a random 6 character long string
  • ${DEVSPACE_TIMESTAMP} contains the current UNIX timestamp
  • ${DEVSPACE_TMPDIR} contains a path to a temporary folder that DevSpace cleans up after the devspace command terminates
  • ${DEVSPACE_USER_HOME} contains the path to the current user's home directory
  • ${DEVSPACE_VERSION} contains the version of DevSpace that is currently running

Custom Variables

DevSpace lets you define custom varables inside devspace.yaml within the vars section.

:::tip Mix & Match Variable Types
You can define several types of variables in the same config file, e.g. one devspace.yaml can contain static variables, env variables and more.
:::

With Static Value

To add variables with static value, just provide the value for the respective variable:

yaml title=devspace.yaml
vars:
  MY_VAR: "some value"
  ANOTHER_VAR: "some value"

:::note On-Demand Overwrite
If you want to overwrite a static variable, you can use the --var MY_VAR=new-value flag, e.g. devspace dev --var MY_VAR=value.
:::

From Env Vars

To load variables from the user's environment variables, you can just use them in the config as ${VAR_NAME} without the need to explicitly define them.

In order to specify a default value for an environment variable that is not defined, you can use:

yaml
vars:
  MY_ENV_VAR:
    source: env
    default: my-default

From Command

You can load the values from commands from custom commands via config expressions or using the long form by specifying the command field:

yaml title=devspace.yaml
vars:
  VAR_FROM_COMMAND: $(git rev-parse HEAD)
  ANOTHER_VAR_FROMCOMMAND:
    command: git
    args: ["rev-parse", "HEAD"]

From User Input (Question)

DevSpace can also ask the user to provide a value for a variable and you can provide a custom question and configure other input attributes for the question:

<Tabs
defaultValue="question"
values={[
{ label: 'Question', value: 'question', },
{ label: 'Options/Picker', value: 'options', },
{ label: 'Password', value: 'password', },
{ label: 'No Cache', value: 'noCache', },
]
}>

yaml {3,5-7}
images:
  database:
    image: "mysql:${MYSQL_VERSION}"
vars:
  MYSQL_VERSION: 
    question: Which mysql version do you want to use?
    default: "5.7"
yaml {3,5-10}
images:
  database:
    image: "mysql:${MYSQL_VERSION}"
vars:
  MYSQL_VERSION: 
    question: Which mysql version do you want to use?
    default: "5.7"
    options:
    - "5.5"
    - "5.6"
    - "5.7"
yaml {3,5-7}
images:
  database:
    image: "mysql:${MYSQL_VERSION}"
vars:
  MYSQL_VERSION: 
    question: Which mysql version do you want to use?
    password: true
yaml {3,5-7}
images:
  database:
    image: "mysql:${MYSQL_VERSION}"
vars:
  MYSQL_VERSION: 
    question: Which mysql version do you want to use?
    noCache: true

`$DEVSPACE_ENV_FILE` for `.env` File definition

DevSpace can also read environment variables from an environment file such as .env inside your project. Point DevSpace to your env file via the DEVSPACE_ENV_FILE environment variable.
This can also be used inside a devspace.yaml under the vars section:

yaml
vars:
  DEVSPACE_ENV_FILE: ".env"

The syntax of the .env file is the same as for docker-compose:

  • Each line should have the format VAR_NAME=VAR_VALUE.
  • There is no special handling of quotation marks. This means that they are part of the VAR_VALUE.
  • Lines beginning with # are processed as comments and ignored.

:::info Precedence

  • Environment variables defined in your terminal session (including system variables) always take precedence over the variables in your .env file.
  • Variables defined in your .env file take precedence over the default values defined for config variables (configured in the vars section of devspace.yaml).
    :::

`$DEVSPACE_CONFIG` For Config Path

You can tell DevSpace to load a different config via the DEVSPACE_CONFIG environment variable. You can specify this before actually executing DevSpace via:

bash
DEVSPACE_CONFIG=my-other-devspace.yaml devspace dev

`$DEVSPACE_FLAGS` For Default Flags

A common use case for the .env file is to set default flags for the devspace commands such as devspace dev or devspace deploy. You can define the following environment variables to set default flags:

  • DEVSPACE_FLAGS for global flags that should be added to each commands (e.g. DEVSPACE_FLAGS=-s -p dev)
  • DEVSPACE_[COMMAND]_FLAGS to add default flags for single commands (e.g. DEVSPACE_DEV_FLAGS=-s --verbose-dependencies)
bash title="file: .env"
DEVSPACE_FLAGS=-s -n default-namespace
DEVSPACE_DEV_FLAGS=-s --verbose-dependencies

:::note Overwrite Default Flags
Specifying flags for a command will overwrite the default flags, e.g. if DEVSPACE_FLAGS=-s -p dev is configured and you run devspace dev -p production, the following command would be executed: devspace dev -s -p production
:::

You can also use these default flags without a specialized .env file in a regular devspace.yaml:

text
vars:
  DEVSPACE_FLAGS: '-n my-default-namespace'

Useful Commands

`devspace list vars`

To get a list of all variables defined in the devspace.yaml, you can run this command:

bash
devspace list vars

`devspace reset vars`

Once DevSpace asks you to provide a value for a variable, this value will be stored in the variables cache, so you will not asked about this variable again. To reset the variables cache, run:

bash
devspace reset vars

DevSpace will fill the variables cache again, once you run the next build or deployment command.

`devspace print`

The following command prints the config after all variables have been replaced:

bash
devspace print

You can optionally add the -p / --profiles flag to this command.

`export VAR_NAME=value`

The value for a config variable can also be set by defining an environment variable named [VAR_NAME]. Setting the value of a config variable with name ${IMAGE_NAME} would be possible by setting an environment value IMAGE_NAME.

<Tabs
defaultValue="windows"
values={[
{ label: 'Windows Powershell', value: 'windows', },
{ label: 'Mac Terminal', value: 'mac', },
{ label: 'Linux Bash', value: 'linux', },
]}>

powershell
$env:IMAGE_NAME = "some-value"
bash
export IMAGE_NAME="some-value"
bash
export IMAGE_NAME="some-value"

Config Reference


File: docs/pages/configuration/_partials/functions/build_images.mdx

import PartialTag from "./build_images/tag.mdx"
import PartialSkip from "./build_images/skip.mdx"
import PartialSkippush from "./build_images/skip-push.mdx"
import PartialSkippushonlocalkubernetes from "./build_images/skip-push-on-local-kubernetes.mdx"
import PartialForcerebuild from "./build_images/force-rebuild.mdx"
import PartialSequential from "./build_images/sequential.mdx"
import PartialMaxconcurrent from "./build_images/max-concurrent.mdx"
import PartialAll from "./build_images/all.mdx"
import PartialExcept from "./build_images/except.mdx"
import PartialSet from "./build_images/set.mdx"
import PartialSetstring from "./build_images/set-string.mdx"
import PartialFrom from "./build_images/from.mdx"
import PartialFromfile from "./build_images/from-file.mdx"

`build_images` [image-1] [image-2] ... pipeline only {#build_images}

Builds all images passed as arguments in parallel


File: docs/pages/configuration/_partials/functions/cat.mdx

`cat` [file-path] string pipeline only {#cat}

Returns the content of a file


File: docs/pages/configuration/_partials/functions/create_deployments.mdx

import PartialSkipdeploy from "./create_deployments/skip-deploy.mdx"
import PartialForceredeploy from "./create_deployments/force-redeploy.mdx"
import PartialSequential from "./create_deployments/sequential.mdx"
import PartialRender from "./create_deployments/render.mdx"
import PartialSet from "./create_deployments/set.mdx"
import PartialSetstring from "./create_deployments/set-string.mdx"
import PartialFrom from "./create_deployments/from.mdx"
import PartialFromfile from "./create_deployments/from-file.mdx"
import PartialAll from "./create_deployments/all.mdx"
import PartialExcept from "./create_deployments/except.mdx"

`create_deployments` [deployment-1] [deployment-2] ... pipeline only {#create_deployments}

Creates all deployments passed as arguments in parallel


File: docs/pages/configuration/_partials/functions/ensure_pull_secrets.mdx

import PartialSet from "./ensure_pull_secrets/set.mdx"
import PartialSetstring from "./ensure_pull_secrets/set-string.mdx"
import PartialFrom from "./ensure_pull_secrets/from.mdx"
import PartialFromfile from "./ensure_pull_secrets/from-file.mdx"
import PartialAll from "./ensure_pull_secrets/all.mdx"
import PartialExcept from "./ensure_pull_secrets/except.mdx"

`ensure_pull_secrets` [image-1] [image-2] ... pipeline only {#ensure_pull_secrets}

Creates pull secrets for all images passed as arguments


File: docs/pages/configuration/_partials/functions/exec_container.mdx

import PartialImageselector from "./exec_container/image-selector.mdx"
import PartialLabelselector from "./exec_container/label-selector.mdx"
import PartialContainer from "./exec_container/container.mdx"
import PartialNamespace from "./exec_container/namespace.mdx"
import PartialDisablewait from "./exec_container/disable-wait.mdx"
import PartialTimeout from "./exec_container/timeout.mdx"

`exec_container` [command] pipeline only {#exec_container}

Executes the command provided as argument inside a container


File: docs/pages/configuration/_partials/functions/get_config_value.mdx

`get_config_value` [json.path] string pipeline only {#get_config_value}

Returns the value of the config loaded from devspace.yaml


File: docs/pages/configuration/_partials/functions/get_flag.mdx

`get_flag` [flag-name] string pipeline only {#get_flag}

Returns the value of the flag that is provided as argument


File: docs/pages/configuration/_partials/functions/get_image.mdx

import PartialDependency from "./get_image/dependency.mdx"
import PartialOnly from "./get_image/only.mdx"

`get_image` [image] string pipeline only {#get_image}

Returns the most recently built image and/or tag for a given image name


File: docs/pages/configuration/_partials/functions/group_checks.mdx

Checks

import PartialIstrue from "./is_true.mdx"
import PartialIsos from "./is_os.mdx"
import PartialIsin from "./is_in.mdx"
import PartialIsequal from "./is_equal.mdx"
import PartialIsempty from "./is_empty.mdx"
import PartialIsdependency from "./is_dependency.mdx"


File: docs/pages/configuration/_partials/functions/group_checks_global.mdx

Checks

import PartialIstrue from "./is_true.mdx"
import PartialIsos from "./is_os.mdx"
import PartialIsin from "./is_in.mdx"
import PartialIsequal from "./is_equal.mdx"
import PartialIsempty from "./is_empty.mdx"


File: docs/pages/configuration/_partials/functions/group_checks_pipeline.mdx

Checks

import PartialIsdependency from "./is_dependency.mdx"


File: docs/pages/configuration/_partials/functions/group_deployments.mdx

Deployments

import PartialPurgedeployments from "./purge_deployments.mdx"
import PartialCreatedeployments from "./create_deployments.mdx"


File: docs/pages/configuration/_partials/functions/group_deployments_global.mdx

[Empty file]


File: docs/pages/configuration/_partials/functions/group_deployments_pipeline.mdx

Deployments

import PartialPurgedeployments from "./purge_deployments.mdx"
import PartialCreatedeployments from "./create_deployments.mdx"


File: docs/pages/configuration/_partials/functions/group_dev.mdx

Dev

import PartialStopdev from "./stop_dev.mdx"
import PartialStartdev from "./start_dev.mdx"


File: docs/pages/configuration/_partials/functions/group_dev_global.mdx

[Empty file]


File: docs/pages/configuration/_partials/functions/group_dev_pipeline.mdx

Dev

import PartialStopdev from "./stop_dev.mdx"
import PartialStartdev from "./start_dev.mdx"


File: docs/pages/configuration/_partials/functions/group_images.mdx

Images

import PartialGetimage from "./get_image.mdx"
import PartialEnsurepullsecrets from "./ensure_pull_secrets.mdx"
import PartialBuildimages from "./build_images.mdx"


File: docs/pages/configuration/_partials/functions/group_images_global.mdx

[Empty file]


File: docs/pages/configuration/_partials/functions/group_images_pipeline.mdx

Images

import PartialGetimage from "./get_image.mdx"
import PartialEnsurepullsecrets from "./ensure_pull_secrets.mdx"
import PartialBuildimages from "./build_images.mdx"


File: docs/pages/configuration/_partials/functions/group_other.mdx

Other

import PartialXargs from "./xargs.mdx"
import PartialSleep from "./sleep.mdx"
import PartialRunwatch from "./run_watch.mdx"
import PartialGetflag from "./get_flag.mdx"
import PartialCat from "./cat.mdx"
import PartialGetconfigvalue from "./get_config_value.mdx"
import PartialExeccontainer from "./exec_container.mdx"
import PartialWaitpod from "./wait_pod.mdx"
import PartialSelectpod from "./select_pod.mdx"


File: docs/pages/configuration/_partials/functions/group_other_global.mdx

Other

import PartialXargs from "./xargs.mdx"
import PartialSleep from "./sleep.mdx"
import PartialRunwatch from "./run_watch.mdx"
import PartialGetflag from "./get_flag.mdx"
import PartialCat from "./cat.mdx"


File: docs/pages/configuration/_partials/functions/group_other_pipeline.mdx

Other

import PartialGetconfigvalue from "./get_config_value.mdx"
import PartialExeccontainer from "./exec_container.mdx"
import PartialWaitpod from "./wait_pod.mdx"
import PartialSelectpod from "./select_pod.mdx"


File: docs/pages/configuration/_partials/functions/group_pipelines.mdx

Pipelines

import PartialRundependencypipelines from "./run_dependency_pipelines.mdx"
import PartialRundefaultpipeline from "./run_default_pipeline.mdx"
import PartialRunpipelines from "./run_pipelines.mdx"


File: docs/pages/configuration/_partials/functions/group_pipelines_global.mdx

[Empty file]


File: docs/pages/configuration/_partials/functions/group_pipelines_pipeline.mdx

Pipelines

import PartialRundependencypipelines from "./run_dependency_pipelines.mdx"
import PartialRundefaultpipeline from "./run_default_pipeline.mdx"
import PartialRunpipelines from "./run_pipelines.mdx"


File: docs/pages/configuration/_partials/functions/is_dependency.mdx

`is_dependency` int pipeline only {#is_dependency}

Returns exit code 0 if the pipeline currently being executed is run because the project is a dependency of another project


File: docs/pages/configuration/_partials/functions/is_empty.mdx

`is_empty` [value] int pipeline only {#is_empty}

Returns exit code 0 if the value of the argument is empty string


File: docs/pages/configuration/_partials/functions/is_equal.mdx

`is_equal` [value-1] [value-2] int pipeline only {#is_equal}

Returns exit code 0 if the values of both arguments provided are equal


File: docs/pages/configuration/_partials/functions/is_in.mdx

`is_in` [value-1] [value-2] int pipeline only {#is_in}

Returns exit code 0 if the value of the first argument can be found in the second argument (second argument being a blank-separated list of strings e.g "bananas apples peaches")


File: docs/pages/configuration/_partials/functions/is_os.mdx

`is_os` [os] darwin linux windows aix android dragonfly freebsd hurd illumos ios js nacl netbsd openbsd plan9 solaris zos int pipeline only {#is_os}

Returns exit code 0 if the current operating system equals the value provided as argument


File: docs/pages/configuration/_partials/functions/is_true.mdx

`is_true` [value] int pipeline only {#is_true}

Returns exit code 0 if the value of the argument is "true"


File: docs/pages/configuration/_partials/functions/purge_deployments.mdx

import PartialForcepurge from "./purge_deployments/force-purge.mdx"
import PartialAll from "./purge_deployments/all.mdx"
import PartialExcept from "./purge_deployments/except.mdx"
import PartialSequential from "./purge_deployments/sequential.mdx"

`purge_deployments` [deployment-1] [deployment-2] ... pipeline only {#purge_deployments}

Purges all deployments passed as arguments


File: docs/pages/configuration/_partials/functions/reference.mdx

import PartialGroupother from "./group_other.mdx"
import PartialGroupchecks from "./group_checks.mdx"
import PartialGrouppipelines from "./group_pipelines.mdx"
import PartialGroupdev from "./group_dev.mdx"
import PartialGroupdeployments from "./group_deployments.mdx"
import PartialGroupimages from "./group_images.mdx"


File: docs/pages/configuration/_partials/functions/reference_global.mdx

import PartialGroupotherglobal from "./group_other_global.mdx"
import PartialGroupchecksglobal from "./group_checks_global.mdx"
import PartialGrouppipelinesglobal from "./group_pipelines_global.mdx"
import PartialGroupdevglobal from "./group_dev_global.mdx"
import PartialGroupdeploymentsglobal from "./group_deployments_global.mdx"
import PartialGroupimagesglobal from "./group_images_global.mdx"


File: docs/pages/configuration/_partials/functions/reference_pipeline.mdx

import PartialGroupotherpipeline from "./group_other_pipeline.mdx"
import PartialGroupcheckspipeline from "./group_checks_pipeline.mdx"
import PartialGrouppipelinespipeline from "./group_pipelines_pipeline.mdx"
import PartialGroupdevpipeline from "./group_dev_pipeline.mdx"
import PartialGroupdeploymentspipeline from "./group_deployments_pipeline.mdx"
import PartialGroupimagespipeline from "./group_images_pipeline.mdx"


File: docs/pages/configuration/_partials/functions/run_default_pipeline.mdx

`run_default_pipeline` [pipeline] pipeline only {#run_default_pipeline}

Runs the default pipeline passed as arguments


File: docs/pages/configuration/_partials/functions/run_dependency_pipelines.mdx

import PartialPipeline from "./run_dependency_pipelines/pipeline.mdx"
import PartialExclude from "./run_dependency_pipelines/exclude.mdx"
import PartialOnly from "./run_dependency_pipelines/only.mdx"
import PartialSequential from "./run_dependency_pipelines/sequential.mdx"
import PartialSetflag from "./run_dependency_pipelines/set-flag.mdx"
import PartialAll from "./run_dependency_pipelines/all.mdx"
import PartialExcept from "./run_dependency_pipelines/except.mdx"

`run_dependency_pipelines` [dependency-1] [dependency-2] ... pipeline only {#run_dependency_pipelines}

Runs a pipeline of each dependency passed as arguments


File: docs/pages/configuration/_partials/functions/run_pipelines.mdx

import PartialBackground from "./run_pipelines/background.mdx"
import PartialSequential from "./run_pipelines/sequential.mdx"
import PartialSetflag from "./run_pipelines/set-flag.mdx"
import PartialSet from "./run_pipelines/set.mdx"
import PartialSetstring from "./run_pipelines/set-string.mdx"

`run_pipelines` [pipeline-1] [pipeline-2] ... pipeline only {#run_pipelines}

Runs all pipelines passed as arguments


File: docs/pages/configuration/_partials/functions/run_watch.mdx

import PartialFailonerror from "./run_watch/fail-on-error.mdx"
import PartialSkipinitial from "./run_watch/skip-initial.mdx"
import PartialSilent from "./run_watch/silent.mdx"
import PartialSkipandsilent from "./run_watch/skip-and-silent.mdx"
import PartialExclude from "./run_watch/exclude.mdx"
import PartialPath from "./run_watch/path.mdx"

`run_watch` [command] pipeline only {#run_watch}

Executes the command provided as argument and watches for conditions to restart the command


File: docs/pages/configuration/_partials/functions/select_pod.mdx

import PartialImageselector from "./select_pod/image-selector.mdx"
import PartialLabelselector from "./select_pod/label-selector.mdx"
import PartialContainer from "./select_pod/container.mdx"
import PartialNamespace from "./select_pod/namespace.mdx"
import PartialDisablewait from "./select_pod/disable-wait.mdx"
import PartialTimeout from "./select_pod/timeout.mdx"

`select_pod` string pipeline only {#select_pod}

Returns the name of a Kubernetes pod


File: docs/pages/configuration/_partials/functions/sleep.mdx

`sleep` [seconds] pipeline only {#sleep}

Pauses the script execution for the number of seconds provided as argument


File: docs/pages/configuration/_partials/functions/start_dev.mdx

import PartialContinueonterminalexit from "./start_dev/continue-on-terminal-exit.mdx"
import PartialDisablesync from "./start_dev/disable-sync.mdx"
import PartialDisableportforwarding from "./start_dev/disable-port-forwarding.mdx"
import PartialDisablepodreplace from "./start_dev/disable-pod-replace.mdx"
import PartialDisableopen from "./start_dev/disable-open.mdx"
import PartialSet from "./start_dev/set.mdx"
import PartialSetstring from "./start_dev/set-string.mdx"
import PartialFrom from "./start_dev/from.mdx"
import PartialFromfile from "./start_dev/from-file.mdx"
import PartialAll from "./start_dev/all.mdx"
import PartialExcept from "./start_dev/except.mdx"

`start_dev` [dev-1] [dev-2] ... pipeline only {#start_dev}

Starts all dev modes passed as arguments


File: docs/pages/configuration/_partials/functions/stop_dev.mdx

import PartialForcepurge from "./stop_dev/force-purge.mdx"
import PartialAll from "./stop_dev/all.mdx"
import PartialExcept from "./stop_dev/except.mdx"

`stop_dev` [dev-1] [dev-2] ... pipeline only {#stop_dev}

Stops all dev modes passed as arguments


File: docs/pages/configuration/_partials/functions/wait_pod.mdx

import PartialImageselector from "./wait_pod/image-selector.mdx"
import PartialLabelselector from "./wait_pod/label-selector.mdx"
import PartialContainer from "./wait_pod/container.mdx"
import PartialNamespace from "./wait_pod/namespace.mdx"
import PartialDisablewait from "./wait_pod/disable-wait.mdx"
import PartialTimeout from "./wait_pod/timeout.mdx"

`wait_pod` [command] pipeline only {#wait_pod}

Waits for a pod to become running


File: docs/pages/configuration/_partials/functions/xargs.mdx

`xargs` [command] pipeline only {#xargs}

Reads from stdin, splits input by blanks and executes the command provided as argument for each blank-separated input value (often used in pipes, e.g. echo 'image-1 image-2' | xargs build_images)


File: docs/pages/configuration/_partials/functions/build_images/all.mdx

`--all` bool pipeline only {#build_images-all}

Build all images


File: docs/pages/configuration/_partials/functions/build_images/except.mdx

`--except` []string pipeline only {#build_images-except}

If used with --all, will exclude the following images


File: docs/pages/configuration/_partials/functions/build_images/force-rebuild.mdx

`--force-rebuild` bool pipeline only {#build_images-force-rebuild}

Skip pushing


File: docs/pages/configuration/_partials/functions/build_images/from-file.mdx

`--from-file` []string pipeline only {#build_images-from-file}

Reuse an existing configuration from a file


File: docs/pages/configuration/_partials/functions/build_images/from.mdx

`--from` []string pipeline only {#build_images-from}

Reuse an existing configuration


File: docs/pages/configuration/_partials/functions/build_images/max-concurrent.mdx

`--max-concurrent` int pipeline only {#build_images-max-concurrent}

A pointer to an integer


File: docs/pages/configuration/_partials/functions/build_images/sequential.mdx

`--sequential` bool pipeline only {#build_images-sequential}

Skip pushing


File: docs/pages/configuration/_partials/functions/build_images/set-string.mdx

`--set-string` []string pipeline only {#build_images-set-string}

Set configuration as string


File: docs/pages/configuration/_partials/functions/build_images/set.mdx

`--set` []string pipeline only {#build_images-set}

Set configuration


File: docs/pages/configuration/_partials/functions/build_images/skip-push-on-local-kubernetes.mdx

`--skip-push-on-local-kubernetes` bool pipeline only {#build_images-skip-push-on-local-kubernetes}

Skip pushing


File: docs/pages/configuration/_partials/functions/build_images/skip-push.mdx

`--skip-push` bool pipeline only {#build_images-skip-push}

Skip pushing


File: docs/pages/configuration/_partials/functions/build_images/skip.mdx

`--skip` bool pipeline only {#build_images-skip}

If enabled will skip building


File: docs/pages/configuration/_partials/functions/build_images/tag.mdx

`--tag / -t` []string pipeline only {#build_images-tag}

If enabled will override the default tags


File: docs/pages/configuration/_partials/functions/create_deployments/all.mdx

`--all` bool pipeline only {#create_deployments-all}

Deploy all deployments


File: docs/pages/configuration/_partials/functions/create_deployments/except.mdx

`--except` []string pipeline only {#create_deployments-except}

If used with --all, will exclude the following deployments


File: docs/pages/configuration/_partials/functions/create_deployments/force-redeploy.mdx

`--force-redeploy` bool pipeline only {#create_deployments-force-redeploy}

Forces redeployment


File: docs/pages/configuration/_partials/functions/create_deployments/from-file.mdx

`--from-file` []string pipeline only {#create_deployments-from-file}

Reuse an existing configuration from a file


File: docs/pages/configuration/_partials/functions/create_deployments/from.mdx

`--from` []string pipeline only {#create_deployments-from}

Reuse an existing configuration


File: docs/pages/configuration/_partials/functions/create_deployments/render.mdx

`--render` bool pipeline only {#create_deployments-render}

If true, prints the rendered manifests to the stdout instead of deploying them


File: docs/pages/configuration/_partials/functions/create_deployments/sequential.mdx

`--sequential` bool pipeline only {#create_deployments-sequential}

Sequentially deploys the deployments


File: docs/pages/configuration/_partials/functions/create_deployments/set-string.mdx

`--set-string` []string pipeline only {#create_deployments-set-string}

Set configuration as string


File: docs/pages/configuration/_partials/functions/create_deployments/set.mdx

`--set` []string pipeline only {#create_deployments-set}

Set configuration


File: docs/pages/configuration/_partials/functions/create_deployments/skip-deploy.mdx

`--skip-deploy` bool pipeline only {#create_deployments-skip-deploy}

If enabled, will skip deploying


File: docs/pages/configuration/_partials/functions/create_deployments/skip.mdx

`--skip` bool pipeline only {#create_deployments-skip}

If enabled, will skip deploying


File: docs/pages/configuration/_partials/functions/ensure_pull_secrets/all.mdx

`--all` bool pipeline only {#ensure_pull_secrets-all}

Ensure all pull secrets


File: docs/pages/configuration/_partials/functions/ensure_pull_secrets/except.mdx

`--except` []string pipeline only {#ensure_pull_secrets-except}

If used with --all, will exclude the following pull secrets


File: docs/pages/configuration/_partials/functions/ensure_pull_secrets/from-file.mdx

`--from-file` []string pipeline only {#ensure_pull_secrets-from-file}

Reuse an existing configuration from a file


File: docs/pages/configuration/_partials/functions/ensure_pull_secrets/from.mdx

`--from` []string pipeline only {#ensure_pull_secrets-from}

Reuse an existing configuration


File: docs/pages/configuration/_partials/functions/ensure_pull_secrets/set-string.mdx

`--set-string` []string pipeline only {#ensure_pull_secrets-set-string}

Set configuration as string


File: docs/pages/configuration/_partials/functions/ensure_pull_secrets/set.mdx

`--set` []string pipeline only {#ensure_pull_secrets-set}

Set configuration


File: docs/pages/configuration/_partials/functions/exec_container/container.mdx

`--container` string pipeline only {#exec_container-container}

The container to use


File: docs/pages/configuration/_partials/functions/exec_container/disable-wait.mdx

`--disable-wait` bool pipeline only {#exec_container-disable-wait}

If true, will not wait for the container to become ready


File: docs/pages/configuration/_partials/functions/exec_container/image-selector.mdx

`--image-selector` string pipeline only {#exec_container-image-selector}

The image selector to use to select the container


File: docs/pages/configuration/_partials/functions/exec_container/label-selector.mdx

`--label-selector` string pipeline only {#exec_container-label-selector}

The label selector to use to select the container


File: docs/pages/configuration/_partials/functions/exec_container/namespace.mdx

`--namespace / -n` string pipeline only {#exec_container-namespace}

The namespace to use


File: docs/pages/configuration/_partials/functions/exec_container/timeout.mdx

`--timeout` int64 pipeline only {#exec_container-timeout}

The timeout to wait. Defaults to 5 minutes


File: docs/pages/configuration/_partials/functions/get_image/dependency.mdx

`--dependency` string pipeline only {#get_image-dependency}

Retrieves the image from the named dependency


File: docs/pages/configuration/_partials/functions/get_image/only.mdx

`--only` string pipeline only {#get_image-only}

Displays either only the tag or only the image


File: docs/pages/configuration/_partials/functions/purge_deployments/all.mdx

`--all` bool pipeline only {#purge_deployments-all}

Deploy all deployments


File: docs/pages/configuration/_partials/functions/purge_deployments/except.mdx

`--except` []string pipeline only {#purge_deployments-except}

If used with --all, will exclude the following deployments


File: docs/pages/configuration/_partials/functions/purge_deployments/force-purge.mdx

`--force-purge` bool pipeline only {#purge_deployments-force-purge}

Forces purging of deployments even though they might be still in use by other DevSpace projects


File: docs/pages/configuration/_partials/functions/purge_deployments/sequential.mdx

`--sequential` bool pipeline only {#purge_deployments-sequential}

Sequentially purges the deployments


File: docs/pages/configuration/_partials/functions/run_dependency_pipelines/all.mdx

`--all` bool pipeline only {#run_dependency_pipelines-all}

Deploy all dependencies


File: docs/pages/configuration/_partials/functions/run_dependency_pipelines/except.mdx

`--except` []string pipeline only {#run_dependency_pipelines-except}

If used with --all, will exclude the following dependencies


File: docs/pages/configuration/_partials/functions/run_dependency_pipelines/exclude.mdx

`--exclude` []string pipeline only {#run_dependency_pipelines-exclude}

Dependencies to exclude


File: docs/pages/configuration/_partials/functions/run_dependency_pipelines/only.mdx

`--only` []string pipeline only {#run_dependency_pipelines-only}

Dependencies to include


File: docs/pages/configuration/_partials/functions/run_dependency_pipelines/pipeline.mdx

`--pipeline` string pipeline only {#run_dependency_pipelines-pipeline}

The pipeline to deploy from the dependency


File: docs/pages/configuration/_partials/functions/run_dependency_pipelines/sequential.mdx

`--sequential` bool pipeline only {#run_dependency_pipelines-sequential}

Run dependencies one after another


File: docs/pages/configuration/_partials/functions/run_dependency_pipelines/set-flag.mdx

`--set-flag` []string pipeline only {#run_dependency_pipelines-set-flag}

Set a pipeline flag


File: docs/pages/configuration/_partials/functions/run_pipelines/background.mdx

`--background` bool pipeline only {#run_pipelines-background}

Run the pipeline in the background


File: docs/pages/configuration/_partials/functions/run_pipelines/sequential.mdx

`--sequential` bool pipeline only {#run_pipelines-sequential}

Run pipelines one after another


File: docs/pages/configuration/_partials/functions/run_pipelines/set-flag.mdx

`--set-flag` []string pipeline only {#run_pipelines-set-flag}

Set a pipeline flag


File: docs/pages/configuration/_partials/functions/run_pipelines/set-string.mdx

`--set-string` []string pipeline only {#run_pipelines-set-string}

Set configuration as string


File: docs/pages/configuration/_partials/functions/run_pipelines/set.mdx

`--set` []string pipeline only {#run_pipelines-set}

Set configuration


File: docs/pages/configuration/_partials/functions/run_watch/exclude.mdx

`--exclude / -e` []string pipeline only {#run_watch-exclude}

The paths to ignore. Can be patterns in the form of ./**/my-file.txt


File: docs/pages/configuration/_partials/functions/run_watch/fail-on-error.mdx

`--fail-on-error` bool pipeline only {#run_watch-fail-on-error}

If true the command will fail on an error while running the sub command


File: docs/pages/configuration/_partials/functions/run_watch/path.mdx

`--path / -p` []string pipeline only {#run_watch-path}

The paths to watch. Can be patterns in the form of ./**/my-file.txt


File: docs/pages/configuration/_partials/functions/run_watch/silent.mdx

`--silent` bool pipeline only {#run_watch-silent}

If true will not print any warning about restarting the command.


File: docs/pages/configuration/_partials/functions/run_watch/skip-and-silent.mdx

`--skip-and-silent / -s` bool pipeline only {#run_watch-skip-and-silent}

If enabled will not print when the command is restarted and not execute the command initially.


File: docs/pages/configuration/_partials/functions/run_watch/skip-initial.mdx

`--skip-initial` bool pipeline only {#run_watch-skip-initial}

If true will not execute the command immediately.


File: docs/pages/configuration/_partials/functions/select_pod/container.mdx

`--container` string pipeline only {#select_pod-container}

The container to use


File: docs/pages/configuration/_partials/functions/select_pod/disable-wait.mdx

`--disable-wait` bool pipeline only {#select_pod-disable-wait}

If true, will not wait for the container to become ready


File: docs/pages/configuration/_partials/functions/select_pod/image-selector.mdx

`--image-selector` string pipeline only {#select_pod-image-selector}

The image selector to use to select the container


File: docs/pages/configuration/_partials/functions/select_pod/label-selector.mdx

`--label-selector` string pipeline only {#select_pod-label-selector}

The label selector to use to select the container


File: docs/pages/configuration/_partials/functions/select_pod/namespace.mdx

`--namespace / -n` string pipeline only {#select_pod-namespace}

The namespace to use


File: docs/pages/configuration/_partials/functions/select_pod/timeout.mdx

`--timeout` int64 pipeline only {#select_pod-timeout}

The timeout to wait. Defaults to 5 minutes


File: docs/pages/configuration/_partials/functions/start_dev/all.mdx

`--all` bool pipeline only {#start_dev-all}

Start all dev configurations


File: docs/pages/configuration/_partials/functions/start_dev/continue-on-terminal-exit.mdx

`--continue-on-terminal-exit` bool pipeline only {#start_dev-continue-on-terminal-exit}

Continue on terminal exit


File: docs/pages/configuration/_partials/functions/start_dev/disable-open.mdx

`--disable-open` bool pipeline only {#start_dev-disable-open}

If enabled will not auto-open the URL


File: docs/pages/configuration/_partials/functions/start_dev/disable-pod-replace.mdx

`--disable-pod-replace` bool pipeline only {#start_dev-disable-pod-replace}

If enabled will not replace any pods


File: docs/pages/configuration/_partials/functions/start_dev/disable-port-forwarding.mdx

`--disable-port-forwarding` bool pipeline only {#start_dev-disable-port-forwarding}

If enabled will not start any port forwarding configuration


File: docs/pages/configuration/_partials/functions/start_dev/disable-sync.mdx

`--disable-sync` bool pipeline only {#start_dev-disable-sync}

If enabled will not start any sync configuration


File: docs/pages/configuration/_partials/functions/start_dev/except.mdx

`--except` []string pipeline only {#start_dev-except}

If used with --all, will exclude the following dev configs


File: docs/pages/configuration/_partials/functions/start_dev/from-file.mdx

`--from-file` []string pipeline only {#start_dev-from-file}

Reuse an existing configuration from a file


File: docs/pages/configuration/_partials/functions/start_dev/from.mdx

`--from` []string pipeline only {#start_dev-from}

Reuse an existing configuration


File: docs/pages/configuration/_partials/functions/start_dev/set-string.mdx

`--set-string` []string pipeline only {#start_dev-set-string}

Set configuration as string


File: docs/pages/configuration/_partials/functions/start_dev/set.mdx

`--set` []string pipeline only {#start_dev-set}

Set configuration


File: docs/pages/configuration/_partials/functions/stop_dev/all.mdx

`--all` bool pipeline only {#stop_dev-all}

Stop all dev configurations


File: docs/pages/configuration/_partials/functions/stop_dev/except.mdx

`--except` []string pipeline only {#stop_dev-except}

If used with --all, will exclude the following dev configs


File: docs/pages/configuration/_partials/functions/stop_dev/force-purge.mdx

`--force-purge` bool pipeline only {#stop_dev-force-purge}

Forces purging of deployments even though they might be still in use by other DevSpace projects


File: docs/pages/configuration/_partials/functions/wait_pod/container.mdx

`--container` string pipeline only {#wait_pod-container}

The container to use


File: docs/pages/configuration/_partials/functions/wait_pod/disable-wait.mdx

`--disable-wait` bool pipeline only {#wait_pod-disable-wait}

If true, will not wait for the container to become ready


File: docs/pages/configuration/_partials/functions/wait_pod/image-selector.mdx

`--image-selector` string pipeline only {#wait_pod-image-selector}

The image selector to use to select the container


File: docs/pages/configuration/_partials/functions/wait_pod/label-selector.mdx

`--label-selector` string pipeline only {#wait_pod-label-selector}

The label selector to use to select the container


File: docs/pages/configuration/_partials/functions/wait_pod/namespace.mdx

`--namespace / -n` string pipeline only {#wait_pod-namespace}

The namespace to use


File: docs/pages/configuration/_partials/functions/wait_pod/timeout.mdx

`--timeout` int64 pipeline only {#wait_pod-timeout}

The timeout to wait. Defaults to 5 minutes


File: docs/pages/configuration/_partials/v2beta1/commands.mdx

import PartialCommandsreference from "./commands_reference.mdx"

`commands` required <command_name>:object {#commands}

Commands are custom commands that can be executed via 'devspace run COMMAND'. These commands are run within a pseudo bash
that also allows executing special commands such as run_watch or is_equal.

`` required string {#commands-name}

Name is the name of a command that is used via devspace run NAME


File: docs/pages/configuration/_partials/v2beta1/commands_reference.mdx

import PartialSection from "./commands/section.mdx"
import PartialCommand from "./commands/command.mdx"
import PartialArgs from "./commands/args.mdx"
import PartialAppendArgs from "./commands/appendArgs.mdx"
import PartialDescription from "./commands/description.mdx"
import PartialInternal from "./commands/internal.mdx"
import PartialAfter from "./commands/after.mdx"


File: docs/pages/configuration/_partials/v2beta1/dependencies.mdx

import PartialDependenciesreference from "./dependencies_reference.mdx"

`dependencies` required <dependency_name>:object {#dependencies}

Dependencies are sub devspace projects that lie in a local folder or remote git repository that can be executed
from within the pipeline. In contrast to imports, these projects pose as separate fully functional DevSpace projects
that typically lie including source code in a different folder and can be used to compose a full microservice
application that will be deployed by DevSpace. Each dependency name can only be used once and if you want to use
the same project multiple times, make sure to use a different name for each of those instances.

`` required string {#dependencies-name}

Name is used internally


File: docs/pages/configuration/_partials/v2beta1/dependencies_reference.mdx

import PartialDisabled from "./dependencies/disabled.mdx"
import PartialGrouppath from "./dependencies/group_path.mdx"
import PartialGroupgit from "./dependencies/group_git.mdx"
import PartialGroupexecution from "./dependencies/group_execution.mdx"


File: docs/pages/configuration/_partials/v2beta1/deployments.mdx

import PartialDeploymentsreference from "./deployments_reference.mdx"

`deployments` required <deployment_name>:object {#deployments}

Deployments holds configuration of how DevSpace should deploy resources to Kubernetes. By default, DevSpace will deploy all defined deployments.
If you are using a custom pipeline, you can dynamically define which deployment is deployed at which time during the
execution.

`` required string {#deployments-name}

Name of the deployment


File: docs/pages/configuration/_partials/v2beta1/deployments_reference.mdx

import PartialHelmreference from "./deployments/helm_reference.mdx"
import PartialKubectlreference from "./deployments/kubectl_reference.mdx"
import PartialUpdateImageTags from "./deployments/updateImageTags.mdx"
import PartialNamespace from "./deployments/namespace.mdx"

`helm` required {#deployments-helm}

Helm tells DevSpace to deploy this deployment via helm

`kubectl` required {#deployments-kubectl}

Kubectl tells DevSpace to deploy this deployment via kubectl or kustomize


File: docs/pages/configuration/_partials/v2beta1/dev.mdx

import PartialDevreference from "./dev_reference.mdx"

`dev` required <dev_name>:object {#dev}

Dev holds development configuration. Each dev configuration targets a single pod and enables certain dev services on that pod
or even rewrites it if certain changes are requested, such as adding an environment variable or changing the entrypoint.
Dev allows you to:

  • sync local folders to the Kubernetes pod
  • port forward remote ports to your local computer
  • forward local ports into the Kubernetes pod
  • configure an ssh tunnel to the Kubernetes pod
  • proxy local commands to the container
  • restart the container on file changes

`` required string {#dev-name}

Name of the dev configuration


File: docs/pages/configuration/_partials/v2beta1/dev_reference.mdx

import PartialGroupselector from "./dev/group_selector.mdx"
import PartialGroupmodifications from "./dev/group_modifications.mdx"
import PartialGroupports from "./dev/group_ports.mdx"
import PartialGroupsync from "./dev/group_sync.mdx"
import PartialPersistPathsreference from "./dev/persistPaths_reference.mdx"
import PartialGroupworkflows from "./dev/group_workflows.mdx"
import PartialSshreference from "./dev/ssh_reference.mdx"
import PartialGroupworkflowsbackground from "./dev/group_workflows_background.mdx"

`persistPaths` required object[] {#dev-persistPaths}

PersistPaths allows you to persist certain paths within this container with a persistent volume claim

`ssh` required {#dev-ssh}

SSH allows you to create an SSH tunnel to this container


File: docs/pages/configuration/_partials/v2beta1/functions.mdx

`functions` required <function_name>:string {#functions}

Functions are POSIX functions that can be used within pipelines. Those functions can also be imported by
imports.


File: docs/pages/configuration/_partials/v2beta1/hooks.mdx

import PartialHooksreference from "./hooks_reference.mdx"

`hooks` required object[] {#hooks}

Hooks are actions that are executed at certain points within the pipeline. Hooks are ordered and are executed
in the order they are specified. They are deprecated and pipelines should be used instead.


File: docs/pages/configuration/_partials/v2beta1/hooks_reference.mdx

import PartialName from "./hooks/name.mdx"
import PartialDisabled from "./hooks/disabled.mdx"
import PartialEvents from "./hooks/events.mdx"
import PartialCommand from "./hooks/command.mdx"
import PartialArgs from "./hooks/args.mdx"
import PartialOs from "./hooks/os.mdx"
import PartialUploadreference from "./hooks/upload_reference.mdx"
import PartialDownloadreference from "./hooks/download_reference.mdx"
import PartialLogsreference from "./hooks/logs_reference.mdx"
import PartialWaitreference from "./hooks/wait_reference.mdx"
import PartialBackground from "./hooks/background.mdx"
import PartialSilent from "./hooks/silent.mdx"
import PartialContainerreference from "./hooks/container_reference.mdx"

`upload` required {#hooks-upload}

If Upload is specified, DevSpace will upload certain local files or folders into a
remote container.

`download` required {#hooks-download}

Same as Upload, but with this option DevSpace will download files or folders from
a remote container.

`logs` required {#hooks-logs}

If logs is defined will print the logs of the target container. This is useful for containers
that should finish like init containers or job pods. Otherwise this hook will never terminate.

`wait` required {#hooks-wait}

If wait is defined the hook will wait until the matched pod or container is running or is terminated
with a certain exit code.

`container` required {#hooks-container}

Container specifies where the hook should be run. If this is omitted DevSpace expects a
local command hook.


File: docs/pages/configuration/_partials/v2beta1/images.mdx

import PartialImagesreference from "./images_reference.mdx"

`images` required <image_name>:object {#images}

Images holds configuration of how DevSpace should build images. By default, DevSpace will build all defined images.
If you are using a custom pipeline, you can dynamically define which image is built at which time during the
execution.

`` required string {#images-name}

Name of the image, will be filled automatically


File: docs/pages/configuration/_partials/v2beta1/images_reference.mdx

import PartialImage from "./images/image.mdx"
import PartialTags from "./images/tags.mdx"
import PartialGroupbuildconfig from "./images/group_buildconfig.mdx"
import PartialGroupoverwrites from "./images/group_overwrites.mdx"
import PartialGrouppushpull from "./images/group_pushpull.mdx"
import PartialGroupengines from "./images/group_engines.mdx"


File: docs/pages/configuration/_partials/v2beta1/imports.mdx

import PartialImportsreference from "./imports_reference.mdx"

`imports` required object[] {#imports}

Imports merges specified config files into this one. This is very useful to split up your DevSpace configuration
into multiple files and reuse those through git, a remote url or common local path.


File: docs/pages/configuration/_partials/v2beta1/imports_reference.mdx

import PartialEnabled from "./imports/enabled.mdx"
import PartialGrouppath from "./imports/group_path.mdx"
import PartialGroupgit from "./imports/group_git.mdx"


File: docs/pages/configuration/_partials/v2beta1/localRegistry.mdx

import PartialLocalRegistryreference from "./localRegistry_reference.mdx"

`localRegistry` required {#localRegistry}

LocalRegistry specifies the configuration for a local image registry


File: docs/pages/configuration/_partials/v2beta1/localRegistry_reference.mdx

import PartialEnabled from "./localRegistry/enabled.mdx"
import PartialLocalbuild from "./localRegistry/localbuild.mdx"
import PartialNamespace from "./localRegistry/namespace.mdx"
import PartialName from "./localRegistry/name.mdx"
import PartialImage from "./localRegistry/image.mdx"
import PartialBuildKitImage from "./localRegistry/buildKitImage.mdx"
import PartialPort from "./localRegistry/port.mdx"
import PartialPersistencereference from "./localRegistry/persistence_reference.mdx"

`persistence` required {#localRegistry-persistence}

Persistence settings for the local registry


File: docs/pages/configuration/_partials/v2beta1/name.mdx

`name` required string {#name}

Name specifies the name of the DevSpace project and uniquely identifies a project.
DevSpace will not allow multiple active projects with the same name in the same Kubernetes namespace.
If not provided, DevSpace will use the name of the current working directory.


File: docs/pages/configuration/_partials/v2beta1/pipelines.mdx

import PartialPipelinesreference from "./pipelines_reference.mdx"

`pipelines` required <pipeline_name>:object {#pipelines}

Pipelines are the work blocks that DevSpace should execute when devspace dev, devspace build, devspace deploy or devspace purge
is called. Pipelines are defined through a special POSIX script that allows you to use special commands
such as create_deployments, start_dev, build_images etc. to signal DevSpace you want to execute
a specific functionality. The pipelines dev, build, deploy and purge are special and will override
the default functionality of the respective command if defined. All other pipelines can be either run
via the devspace run-pipeline command or used within another pipeline through run_pipelines.

`` required string devdeploybuildpurge.* {#pipelines-name}

Name of the pipeline, will be filled automatically


File: docs/pages/configuration/_partials/v2beta1/pipelines_reference.mdx

import PartialRun from "./pipelines/run.mdx"
import PartialFlagsreference from "./pipelines/flags_reference.mdx"
import PartialContinueOnError from "./pipelines/continueOnError.mdx"

`flags` required object[] {#pipelines-flags}

Flags are extra flags that can be used for running the pipeline via
devspace run-pipeline.


File: docs/pages/configuration/_partials/v2beta1/pullSecrets.mdx

import PartialPullSecretsreference from "./pullSecrets_reference.mdx"

`pullSecrets` required <pullSecret_name>:object {#pullSecrets}

PullSecrets are image pull secrets that will be created by devspace in the target namespace
during devspace dev or devspace deploy. DevSpace will merge all defined pull secrets into a single
one or the one specified.

`` required string {#pullSecrets-name}

Name is the pull secret name to deploy


File: docs/pages/configuration/_partials/v2beta1/pullSecrets_reference.mdx

import PartialRegistry from "./pullSecrets/registry.mdx"
import PartialUsername from "./pullSecrets/username.mdx"
import PartialPassword from "./pullSecrets/password.mdx"
import PartialEmail from "./pullSecrets/email.mdx"
import PartialSecret from "./pullSecrets/secret.mdx"
import PartialServiceAccounts from "./pullSecrets/serviceAccounts.mdx"


File: docs/pages/configuration/_partials/v2beta1/reference.mdx

import PartialVersion from "./version.mdx"
import PartialName from "./name.mdx"
import PartialImportsreference from "./imports_reference.mdx"
import PartialFunctions from "./functions.mdx"
import PartialPipelinesreference from "./pipelines_reference.mdx"
import PartialImagesreference from "./images_reference.mdx"
import PartialDeploymentsreference from "./deployments_reference.mdx"
import PartialDevreference from "./dev_reference.mdx"
import PartialVarsreference from "./vars_reference.mdx"
import PartialCommandsreference from "./commands_reference.mdx"
import PartialDependenciesreference from "./dependencies_reference.mdx"
import PartialPullSecretsreference from "./pullSecrets_reference.mdx"
import PartialRequirereference from "./require_reference.mdx"
import PartialHooksreference from "./hooks_reference.mdx"
import PartialLocalRegistryreference from "./localRegistry_reference.mdx"

`imports` required object[] {#imports}

Imports merges specified config files into this one. This is very useful to split up your DevSpace configuration
into multiple files and reuse those through git, a remote url or common local path.

`pipelines` required <pipeline_name>:object {#pipelines}

Pipelines are the work blocks that DevSpace should execute when devspace dev, devspace build, devspace deploy or devspace purge
is called. Pipelines are defined through a special POSIX script that allows you to use special commands
such as create_deployments, start_dev, build_images etc. to signal DevSpace you want to execute
a specific functionality. The pipelines dev, build, deploy and purge are special and will override
the default functionality of the respective command if defined. All other pipelines can be either run
via the devspace run-pipeline command or used within another pipeline through run_pipelines.

`` required string devdeploybuildpurge.* {#pipelines-name}

Name of the pipeline, will be filled automatically

`images` required <image_name>:object {#images}

Images holds configuration of how DevSpace should build images. By default, DevSpace will build all defined images.
If you are using a custom pipeline, you can dynamically define which image is built at which time during the
execution.

`` required string {#images-name}

Name of the image, will be filled automatically

`deployments` required <deployment_name>:object {#deployments}

Deployments holds configuration of how DevSpace should deploy resources to Kubernetes. By default, DevSpace will deploy all defined deployments.
If you are using a custom pipeline, you can dynamically define which deployment is deployed at which time during the
execution.

`` required string {#deployments-name}

Name of the deployment

`dev` required <dev_name>:object {#dev}

Dev holds development configuration. Each dev configuration targets a single pod and enables certain dev services on that pod
or even rewrites it if certain changes are requested, such as adding an environment variable or changing the entrypoint.
Dev allows you to:

  • sync local folders to the Kubernetes pod
  • port forward remote ports to your local computer
  • forward local ports into the Kubernetes pod
  • configure an ssh tunnel to the Kubernetes pod
  • proxy local commands to the container
  • restart the container on file changes

`` required string {#dev-name}

Name of the dev configuration

`vars` required <var_name>:object {#vars}

Vars are config variables that can be used inside other config sections to replace certain values dynamically

`` required string {#vars-name}

Name is the name of the variable

`commands` required <command_name>:object {#commands}

Commands are custom commands that can be executed via 'devspace run COMMAND'. These commands are run within a pseudo bash
that also allows executing special commands such as run_watch or is_equal.

`` required string {#commands-name}

Name is the name of a command that is used via devspace run NAME

`dependencies` required <dependency_name>:object {#dependencies}

Dependencies are sub devspace projects that lie in a local folder or remote git repository that can be executed
from within the pipeline. In contrast to imports, these projects pose as separate fully functional DevSpace projects
that typically lie including source code in a different folder and can be used to compose a full microservice
application that will be deployed by DevSpace. Each dependency name can only be used once and if you want to use
the same project multiple times, make sure to use a different name for each of those instances.

`` required string {#dependencies-name}

Name is used internally

`pullSecrets` required <pullSecret_name>:object {#pullSecrets}

PullSecrets are image pull secrets that will be created by devspace in the target namespace
during devspace dev or devspace deploy. DevSpace will merge all defined pull secrets into a single
one or the one specified.

`` required string {#pullSecrets-name}

Name is the pull secret name to deploy

`require` required {#require}

Require defines what DevSpace, plugins and command versions are required to use this config and if a condition is not
fulfilled, DevSpace will fail.

`hooks` required object[] {#hooks}

Hooks are actions that are executed at certain points within the pipeline. Hooks are ordered and are executed
in the order they are specified. They are deprecated and pipelines should be used instead.

`localRegistry` required {#localRegistry}

LocalRegistry specifies the configuration for a local image registry


File: docs/pages/configuration/_partials/v2beta1/require.mdx

import PartialRequirereference from "./require_reference.mdx"

`require` required {#require}

Require defines what DevSpace, plugins and command versions are required to use this config and if a condition is not
fulfilled, DevSpace will fail.


File: docs/pages/configuration/_partials/v2beta1/require_reference.mdx

import PartialDevspace from "./require/devspace.mdx"
import PartialCommandsreference from "./require/commands_reference.mdx"
import PartialPluginsreference from "./require/plugins_reference.mdx"

`commands` required object[] {#require-commands}

Commands specifies an array of commands that need to be installed locally to use this config

`plugins` required object[] {#require-plugins}

Plugins specifies an array of plugins that need to be installed locally


File: docs/pages/configuration/_partials/v2beta1/vars.mdx

import PartialVarsreference from "./vars_reference.mdx"

`vars` required <var_name>:object {#vars}

Vars are config variables that can be used inside other config sections to replace certain values dynamically

`` required string {#vars-name}

Name is the name of the variable


File: docs/pages/configuration/_partials/v2beta1/vars_reference.mdx

import PartialGroupstatic from "./vars/group_static.mdx"
import PartialGroupquestion from "./vars/group_question.mdx"
import PartialGroupexecution from "./vars/group_execution.mdx"
import PartialAlwaysResolve from "./vars/alwaysResolve.mdx"
import PartialSource from "./vars/source.mdx"


File: docs/pages/configuration/_partials/v2beta1/version.mdx

`version` required string v2beta1v1beta11v1beta10v1beta9v1beta8v1beta7v1beta6v1beta5v1beta4v1beta3v1beta2v1beta1 {#version}

Version holds the config version. DevSpace will always convert older configs to the current latest
config version, which makes it possible to use the newest DevSpace version also with older config
versions.


File: docs/pages/configuration/_partials/v2beta1/commands/after.mdx

`after` required string {#commands-after}

After is executed after the command was run. It is executed also when
the command was interrupted which will set the env variable COMMAND_INTERRUPT
to true as well as when the command errored which will set the error string to
COMMAND_ERROR.


File: docs/pages/configuration/_partials/v2beta1/commands/appendArgs.mdx

`appendArgs` required boolean false {#commands-appendArgs}

AppendArgs will append arguments passed to the DevSpace command automatically to
the specified command.


File: docs/pages/configuration/_partials/v2beta1/commands/args.mdx

`args` required string[] {#commands-args}

Args are optional and if defined, command is not executed within a shell
and rather directly.


File: docs/pages/configuration/_partials/v2beta1/commands/command.mdx

`command` required string {#commands-command}

Command is the command that should be executed. For example: 'echo 123'


File: docs/pages/configuration/_partials/v2beta1/commands/description.mdx

`description` required string {#commands-description}

Description describes what the command is doing and can be seen in devspace list commands


File: docs/pages/configuration/_partials/v2beta1/commands/internal.mdx

`internal` required boolean false {#commands-internal}

Internal commands are not show in list and are usable through run_command


File: docs/pages/configuration/_partials/v2beta1/commands/section.mdx

`section` required string {#commands-section}

Section can be used to group similar commands together in devspace list commands


File: docs/pages/configuration/_partials/v2beta1/dependencies/branch.mdx

`branch` required string {#dependencies-branch}

Branch is the git branch to pull


File: docs/pages/configuration/_partials/v2beta1/dependencies/cloneArgs.mdx

`cloneArgs` required string[] {#dependencies-cloneArgs}

CloneArgs are additional arguments that should be supplied to the git CLI


File: docs/pages/configuration/_partials/v2beta1/dependencies/disabled.mdx

`disabled` required boolean false {#dependencies-disabled}

Disabled excludes this dependency from variable resolution and pipeline runs


File: docs/pages/configuration/_partials/v2beta1/dependencies/disablePull.mdx

`disablePull` required boolean false {#dependencies-disablePull}

DisablePull will disable pulling every time DevSpace is reevaluating this source


File: docs/pages/configuration/_partials/v2beta1/dependencies/disableShallow.mdx

`disableShallow` required boolean false {#dependencies-disableShallow}

DisableShallow can be used to turn off shallow clones as these are the default used
by devspace


File: docs/pages/configuration/_partials/v2beta1/dependencies/git.mdx

`git` required string {#dependencies-git}

Git is the remote repository to download the artifact from. You can either use
https projects or ssh projects here, but need to make sure git can pull the project.
This option is mutually exclusive with the path option.


File: docs/pages/configuration/_partials/v2beta1/dependencies/group_execution.mdx

import PartialPipeline from "./pipeline.mdx"
import PartialVars from "./vars.mdx"
import PartialOverwriteVars from "./overwriteVars.mdx"
import PartialIgnoreDependencies from "./ignoreDependencies.mdx"
import PartialNamespace from "./namespace.mdx"

Execution


File: docs/pages/configuration/_partials/v2beta1/dependencies/group_git.mdx

import PartialGit from "./git.mdx"
import PartialSubPath from "./subPath.mdx"
import PartialBranch from "./branch.mdx"
import PartialTag from "./tag.mdx"
import PartialRevision from "./revision.mdx"
import PartialCloneArgs from "./cloneArgs.mdx"
import PartialDisableShallow from "./disableShallow.mdx"
import PartialDisablePull from "./disablePull.mdx"

Source: Git Repository


File: docs/pages/configuration/_partials/v2beta1/dependencies/group_path.mdx

import PartialPath from "./path.mdx"

Source: Local Filesystem


File: docs/pages/configuration/_partials/v2beta1/dependencies/ignoreDependencies.mdx

`ignoreDependencies` required boolean false {#dependencies-ignoreDependencies}

IgnoreDependencies defines if dependencies of the dependency should be excluded


File: docs/pages/configuration/_partials/v2beta1/dependencies/namespace.mdx

`namespace` required string {#dependencies-namespace}

Namespace specifies the namespace this dependency should be deployed to


File: docs/pages/configuration/_partials/v2beta1/dependencies/overwriteVars.mdx

`overwriteVars` required boolean false {#dependencies-overwriteVars}

OverwriteVars specifies if DevSpace should pass the parent variables to the dependency


File: docs/pages/configuration/_partials/v2beta1/dependencies/path.mdx

`path` required string {#dependencies-path}

Path is the local path where DevSpace can find the artifact.
This option is mutually exclusive with the git option.


File: docs/pages/configuration/_partials/v2beta1/dependencies/pipeline.mdx

`pipeline` required string deploy {#dependencies-pipeline}

Pipeline is the pipeline to deploy by default. Defaults to 'deploy'


File: docs/pages/configuration/_partials/v2beta1/dependencies/profiles.mdx

`profiles` required <profile_name>:string {#dependencies-profiles}

Profiles specifies which profiles should be applied while loading the dependency


File: docs/pages/configuration/_partials/v2beta1/dependencies/revision.mdx

`revision` required string {#dependencies-revision}

Revision is the git revision to pull


File: docs/pages/configuration/_partials/v2beta1/dependencies/subPath.mdx

`subPath` required string {#dependencies-subPath}

SubPath is a path within the git repository where the artifact lies in


File: docs/pages/configuration/_partials/v2beta1/dependencies/tag.mdx

`tag` required string {#dependencies-tag}

Tag is the tag to pull


File: docs/pages/configuration/_partials/v2beta1/dependencies/vars.mdx

`vars` required <var_name>:string {#dependencies-vars}

Vars are variables that should be passed to the dependency


File: docs/pages/configuration/_partials/v2beta1/deployments/helm.mdx

import PartialHelmreference from "./helm_reference.mdx"

`helm` required {#deployments-helm}

Helm tells DevSpace to deploy this deployment via helm


File: docs/pages/configuration/_partials/v2beta1/deployments/helm_reference.mdx

import PartialReleaseName from "./helm/releaseName.mdx"
import PartialChartreference from "./helm/chart_reference.mdx"
import PartialValues from "./helm/values.mdx"
import PartialValuesFiles from "./helm/valuesFiles.mdx"
import PartialDisplayOutput from "./helm/displayOutput.mdx"
import PartialUpgradeArgs from "./helm/upgradeArgs.mdx"
import PartialTemplateArgs from "./helm/templateArgs.mdx"
import PartialDisableDependencyUpdate from "./helm/disableDependencyUpdate.mdx"

`chart` required {#deployments-helm-chart}

Chart holds the chart configuration and where DevSpace can find the chart


File: docs/pages/configuration/_partials/v2beta1/deployments/kubectl.mdx

import PartialKubectlreference from "./kubectl_reference.mdx"

`kubectl` required {#deployments-kubectl}

Kubectl tells DevSpace to deploy this deployment via kubectl or kustomize


File: docs/pages/configuration/_partials/v2beta1/deployments/kubectl_reference.mdx

import PartialManifests from "./kubectl/manifests.mdx"
import PartialApplyArgs from "./kubectl/applyArgs.mdx"
import PartialCreateArgs from "./kubectl/createArgs.mdx"
import PartialKubectlBinaryPath from "./kubectl/kubectlBinaryPath.mdx"
import PartialInlineManifest from "./kubectl/inlineManifest.mdx"
import PartialGroupkustomize from "./kubectl/group_kustomize.mdx"
import PartialGroupmodifications from "./kubectl/group_modifications.mdx"


File: docs/pages/configuration/_partials/v2beta1/deployments/namespace.mdx

`namespace` required string {#deployments-namespace}

Namespace where to deploy this deployment


File: docs/pages/configuration/_partials/v2beta1/deployments/updateImageTags.mdx

`updateImageTags` required boolean true {#deployments-updateImageTags}

UpdateImageTags lets you define if DevSpace should update the tags of the images defined in the
images section with their most recent built tag.


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart.mdx

import PartialChartreference from "./chart_reference.mdx"

`chart` required {#deployments-helm-chart}

Chart holds the chart configuration and where DevSpace can find the chart


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart_reference.mdx

import PartialGrouprepo from "./chart/group_repo.mdx"
import PartialGrouppath from "./chart/group_path.mdx"
import PartialGroupgit from "./chart/group_git.mdx"


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/disableDependencyUpdate.mdx

`disableDependencyUpdate` required boolean false {#deployments-helm-disableDependencyUpdate}

DisableDependencyUpdate disables helm dependencies update, default to false


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/displayOutput.mdx

`displayOutput` required boolean false {#deployments-helm-displayOutput}

DisplayOutput allows you to display the helm output to the console


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/releaseName.mdx

`releaseName` required string {#deployments-helm-releaseName}

ReleaseName of the helm configuration


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/templateArgs.mdx

`templateArgs` required string[] {#deployments-helm-templateArgs}

TemplateArgs are additional arguments to pass to helm template


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/upgradeArgs.mdx

`upgradeArgs` required string[] {#deployments-helm-upgradeArgs}

UpgradeArgs are additional arguments to pass to helm upgrade


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/values.mdx

`values` required object {#deployments-helm-values}

Values are additional values that should get passed to deploying this chart


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/valuesFiles.mdx

`valuesFiles` required string[] {#deployments-helm-valuesFiles}

ValuesFiles are additional files that hold values for deploying this chart


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/branch.mdx

`branch` required string {#deployments-helm-chart-branch}

Branch is the git branch to pull


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/cloneArgs.mdx

`cloneArgs` required string[] {#deployments-helm-chart-cloneArgs}

CloneArgs are additional arguments that should be supplied to the git CLI


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/disablePull.mdx

`disablePull` required boolean false {#deployments-helm-chart-disablePull}

DisablePull will disable pulling every time DevSpace is reevaluating this source


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/disableShallow.mdx

`disableShallow` required boolean false {#deployments-helm-chart-disableShallow}

DisableShallow can be used to turn off shallow clones as these are the default used
by devspace


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/git.mdx

`git` required string {#deployments-helm-chart-git}

Git is the remote repository to download the artifact from. You can either use
https projects or ssh projects here, but need to make sure git can pull the project.
This option is mutually exclusive with the path option.


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/group_git.mdx

import PartialGit from "./git.mdx"
import PartialSubPath from "./subPath.mdx"
import PartialBranch from "./branch.mdx"
import PartialTag from "./tag.mdx"
import PartialRevision from "./revision.mdx"
import PartialCloneArgs from "./cloneArgs.mdx"
import PartialDisableShallow from "./disableShallow.mdx"
import PartialDisablePull from "./disablePull.mdx"

Source: Git Repository


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/group_path.mdx

import PartialPath from "./path.mdx"

Source: Local Filesystem


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/group_repo.mdx

import PartialName from "./name.mdx"
import PartialVersion from "./version.mdx"
import PartialRepo from "./repo.mdx"
import PartialUsername from "./username.mdx"
import PartialPassword from "./password.mdx"

Source: Helm Repository


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/name.mdx

`name` required string {#deployments-helm-chart-name}

Name is the name of the helm chart to deploy. Can also be a local path or an oci url


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/password.mdx

`password` required string {#deployments-helm-chart-password}

Password is the password to authenticate to the chart repo, When using an OCI chart, used for registry auth


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/path.mdx

`path` required string {#deployments-helm-chart-path}

Path is the local path where DevSpace can find the artifact.
This option is mutually exclusive with the git option.


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/repo.mdx

`repo` required string {#deployments-helm-chart-repo}

RepoURL is the url of the repo to deploy the chart from


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/revision.mdx

`revision` required string {#deployments-helm-chart-revision}

Revision is the git revision to pull


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/subPath.mdx

`subPath` required string {#deployments-helm-chart-subPath}

SubPath is a path within the git repository where the artifact lies in


File: docs/pages/configuration/_partials/v2beta1/deployments/helm/chart/tag.mdx

`tag` required string {#deployments-helm-chart-tag}

Tag is the tag to pull