Okteto Manifest Reference

okteto.yml is a manifest format for describing cloud native development environments. It declares the deployment target, the dev container, the working directory and other information required to deploy your cloud native development environment with okteto.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
name: vote
image: python:3
command: ["python", "app.py"]
workdir: /usr/src/app
environment:
- name=$USER
- environment=development
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
forward:
- 8080:80
- 8080:90

Schema reference

name (string, required)

The name of the kubernetes deployment you want to transform into a development environment.

image (string, optional)

The container image to use for the development environment. If missing, it defaults to the image specified on the deployment.

command ([string], optional)

Sets the command of the development environment. By default, it creates an sh terminal.

workdir (object, optional)

Specifies the destination path for the file synchronization service (/okteto by default).

environment

A list of environment variables that will be injected into your development environment. If a variable already exists on your deployment, it will be overridden with the value specified on the manifest.

Environment variables with only a key, or with a value that starts with a $ sign are resolved to their values on the machine okteto is running on, which can be helpful for secret or machine-specific values.

1
2
3
4
5
6
...
environment:
- environment=development
- name=$USER # will be replaced by the value of $USER
- DBPASSWORD # will be given the value of $DBPASSWORD if it exists
...

resources (object, optional)

Allows you to override the resources configuration of your development environment. It supports the same syntax used in Kubernetes. By default, requests and limits are unset.

forward

A list of ports to forward to your cloud native environment. The list should follow the localPort:remotePort notation and each element should be unique.

1
2
3
4
5
...
forward:
- 8080:80
- 8090:8090
...

Once your environment is up and running, you will be able to access the port directly by using localhost:localPort.

Common uses of port forwarding are:

  1. Access a service via localhost instead of via an ingress
  2. Get direct access to a service that’s not exposed via a service (e.g. a queue consumer)
  3. Connect to a hot reloader via a websocket
  4. Remote debugging

If Okteto can’t forward a port (typically because they are already taken), an error will be logged in the console.