Configuration
orun configuration is split across three user-facing surfaces:
intent.yaml- discovered
component.yamlmanifests - composition sources declared by
intent.compositions
Intent file
Minimal example:
apiVersion: sourceplane.io/v1
kind: Intent
metadata:
name: demo
discovery:
roots:
- services/
environments:
development:
defaults:
region: us-east-1
The intent file is where you define environments, discovery roots, groups, selectors, defaults, and optional inline components.
It also declares where compositions come from:
compositions:
sources:
- name: example-platform
kind: dir
path: ./compositions
Component manifest
Minimal example:
apiVersion: sourceplane.io/v1
kind: Component
metadata:
name: network-foundation
spec:
type: terraform
domain: platform-foundation
subscribe:
environments: [development, staging, production]
inputs:
stackName: network-foundation
terraformDir: .
Components carry type-specific inputs, labels, overrides, and dependency declarations.
Composition sources
Declare composition sources in the intent and plan directly against that intent:
orun plan --intent intent.yaml
Each source can be a local package directory, a packaged archive, or an OCI reference. Orun resolves those sources into a cache and writes a lock file under <intent-dir>/.orun/compositions.lock.yaml.
--config-dir still works as a compatibility fallback for legacy folder-shaped compositions.
Environment-specific control
Use CLI flags when you want to scope the effective configuration at compile time:
--envto filter a single environment--changedand related flags for change-aware planning--viewfor DAG-focused render views
Read environment variables if you want to control configuration through the shell.
Remote state configuration
Add an execution.state block to intent.yaml to enable remote state coordination via orun-backend:
execution:
state:
mode: remote
backendUrl: https://orun-backend.example.com
| Field | Values | Meaning |
|---|---|---|
mode | local (default) or remote | Where execution state is stored |
backendUrl | URI | URL of the orun-backend instance (required when mode: remote) |
The backendUrl can also be supplied via --backend-url or ORUN_BACKEND_URL; those take priority over the intent file.
When mode: remote is set, all three commands that read execution state (run, status, logs) automatically use the backend without requiring --remote-state on the command line.