Skip to content

Components

Components are the units of work in an Orch environment.

Each component has:

  • a name
  • a type, which selects an adapter
  • a runner
  • optional dependencies
  • optional source files
  • optional config
  • optional outputs
  • optional lifecycle hooks
components:
setup:
type: script
runner: local
source:
embedded: |
echo "token=abc" >> "$ORCH_OUTPUT_ENV"
outputs:
- name: token
sensitive: true

Components run in dependency order using depends_on.

components:
api:
depends_on:
- database

Destroy runs in reverse state order.

Components can expose outputs to later components:

env:
DATABASE_URL: "${database.outputs.url}"

Sensitive outputs are available during the same up process, but they are not persisted in state.