Configuration
gluon 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: platform-core
kind: dir
path: ./packages/platform-core
Component manifest
Minimal example:
apiVersion: sourceplane.io/v1
kind: Component
metadata:
name: web-app
spec:
type: helm
domain: platform
subscribe:
environments: [development, staging, production]
inputs:
chart: oci://registry.example.com/charts/web-app
Components carry type-specific inputs, labels, overrides, and dependency declarations.
Composition sources
Declare composition sources in the intent and plan directly against that intent:
gluon plan --intent intent.yaml
Each source can be a local package directory, a packaged archive, or an OCI reference. Gluon resolves those sources into a cache and writes a lock file under <intent-dir>/.gluon/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.