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.

verodocs