Example plan
exec.yaml
New here? Get started. See Running the examplesfor this plan's fixture, runtime, database or browser requirements. The exec example needs no fixture; Postgres and Playwright need their optional dependencies.
An exec migration step uses an argv list, no shell, its own process group, and capped output. ./bin/migrate stands in for an application's migration tool. An exec step runs with your privileges and is not a sandbox. This plan does not need the fixture server.
apiVersion: vero.plan/v1
kind: Plan
metadata: { name: migrate }
env:
databaseUrl: sqlite://orders.db
lifecycle: { strategy: isolated }
tasks:
- name: migrate
steps:
- exec:
command: ["./bin/migrate", "up"]
workdir: "."
env:
DATABASE_URL: "{{ env.databaseUrl }}"
timeout: 60s
assert:
- exitCode == 0
- stderr not contains "FATAL"
- stdout contains "migrated"This page is examples/exec.yaml in the repository.