OpenDecree
OpenDecree definition file (https://opendecree.dev) — describes typed configuration fields, constraints, and metadata that the OpenDecree configuration management service serves to applications
| Type | object |
|---|---|
| File match |
decree.schema.yaml
decree.schema.yml
*.decree.schema.yaml
*.decree.schema.yml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/opendecree/latest.json |
| Source | https://schemas.opendecree.dev/schema/v0.1.0/decree-schema.json |
Versions
Validate with Lintel
npx @lintel/lintel check
Schema definition format for OpenDecree. A decree.schema.yaml file declares the fields, types, constraints, and cross-field rules of a schema that tenants can then bind to and apply config values against.
Properties
Decree schema-format spec version. Must be "v1".
Schema name. Slug — lowercase alphanumeric + hyphens.
The fields defined in this schema version. Map keys are field paths matching the field-path regex; at least one entry is required.
Optional pointer to this meta-schema. HTTPS URL.
Optional URN identifying this schema document. Format urn:decree:schema:
Human-readable description of the schema.
Informational schema version number. The server assigns the next version on import; this field is round-tripped through ImportSchema / GetSchema for documentation purposes.
Description of what changed in this schema version.
Optional schema-level metadata. OAS Info Object.
4 nested properties
3 nested properties
Cross-field "B required when A present" rules. Each key is a trigger field path; each value is the list of dependent paths that must be non-null when the trigger is non-null. Field-existence checking is performed by the Go parser, not the meta-schema.
Cross-field rules expressed in CEL. Reserved in v0.1.0 — the parser persists rules; the runtime engine ships in Phase 2 (issue #76).
Definitions
Field path. ASCII letter/underscore start; alphanumeric, underscore, dot, hyphen.
Target field path for deprecated-field reads. Existence checked Go-side.
2 nested properties
Free-form semantic format hint (e.g. "email", "semver", "percentage"). Informational only — not enforced by validation.
Constraints valid for integer / number / duration fields.
Constraints valid for string fields.
RE2 regex the value must match.
Constraints valid for json fields.
Embedded JSON Schema (as a JSON-encoded string) for structural validation.
Constraints valid for bool / time / url fields.
Optional schema-level metadata. OAS Info Object.
3 nested properties
One CEL validation rule. See cel-validation.md.
CEL expression source. Compilation deferred to Phase 2.
Human-readable failure message shown to clients.
Optional path prefix scoping the rule. Empty == schema-wide.
error (default) rejects writes; warning is non-blocking (reserved for Phase 2). Empty string permitted to match the Go parser's default-to-error behavior.
Optional machine-readable failure code.