Skip to main content
Version: 1.19

Remote Execution

The Okteto Manifest allows you to define a list of commands to deploy and destroy your development environments. By default, your commands run locally in your machine, but we recommend that you enable remote execution.

Enable remote execution

Enable remote execution by setting the remote field to true in the deploy/destroy section of your Okteto Manifest:

okteto.yaml
deploy:
remote: true
commands:
- helm upgrade --install movies chart

By default, your commands will run in a remote container using our default container image. The default container image is a Debian Linux container with the following tools preinstalled:

  • bash
  • cue
  • curl
  • envsubst
  • git
  • helm
  • kubectl
  • kustomize
  • make
  • okteto
  • openssh
  • wait-for-it

Deploying on remote, you don't have to worry about installing tools like helm, kubectl, and others on your local machine.

Defining your own Image

If you need custom tooling or advanced deployment logic, you can use your own image for remote execution. For example, if you want to use the image runner:1.0 as the runtime of your remote execution, configure your Okteto Manifest like this:

okteto.yaml
deploy:
image: runner:1.0
commands:
- helm upgrade --install movies chart

You can use your own image to force specific versions of your deployment tools and ensure that your team has a consistent experience when deploying development environments.

How remote execution works

When running on remote, Okteto will automatically synchronize your local folder to a container running inside Buildkit:

Buildkit architecture

Ignoring files

Okteto looks for a file named .oktetoignore in your local folder. If this file exists, the CLI will exclude any files and directories that match patterns in it. This helps to avoid unnecessarily synchronizing large or sensitive files and directories that are not used by the commands defined in the deploy section. .oktetoignore uses the same format as .dockerignore files.

Enable remote execution by default

You can also enable remote execution by setting the environment variable OKTETO_FORCE_REMOTE=true. If you define OKTETO_FORCE_REMOTE=true as an Admin Variable, remote execution is enabled for all commands for all developers in your organization. Admin variables are equivalent to defining that variable on every developer's machine.

warning

Local execution is deprecated. Okteto recommends that you enable remote execution for your deploy/destroy commands