Runtime Configuration
Anolis runtime is configured with YAML.
Contract authority is machine-validated:
schemas/runtime/runtime-config.schema.jsontests/contracts/runtime-config/validate-runtime-configs.pyanolis-runtime --check-config(semantic/load-time checks)
Use this document for authoring workflow and operational guidance.
Where Runtime YAML Lives
- Checked-in examples:
config/anolis-runtime*.yaml,config/**/anolis-runtime*.yaml - Commissioning-generated outputs are managed in
anolis-workbenchand are intentionally not tracked in this repository.
Out of scope for this contract:
- Provider-local YAML (
provider-*.yaml) - Telemetry-export tool YAML (
telemetry-export*.yaml)
Authoring Workflow
- Start from a known profile (
manual,telemetry,automation,fullvariants when available). - Edit runtime concerns only in runtime YAML.
- Validate schema fixtures:
python3 tests/contracts/runtime-config/validate-runtime-configs.py
- Validate runtime semantics:
anolis-runtime --check-config --config <path>
- Run runtime normally after both checks pass.
Minimal Runtime Skeleton
yaml
runtime:
name: anolis-main
http:
enabled: true
bind: 127.0.0.1
port: 8080
providers:
- id: sim0
command: ./build/dev-release/anolis-provider-sim
polling:
interval_ms: 500
logging:
level: info
telemetry:
enabled: false
automation:
enabled: falseOperational Notes
Runtime modes
- Startup mode is always
IDLE(not YAML-configurable). - Mode changes happen at runtime via
POST /v0/mode. IDLEblocks control operations;AUTOapplies manual-call gating policy.FAULTis a recovery mode with constrained transitions (FAULT -> MANUALonly).- See automation.md for full mode semantics.
HTTP and CORS
http.cors_allowed_originsshould be explicit in non-dev environments.- Wildcard origin (
*) cannot be combined withcors_allow_credentials: true.
Providers and supervision
- Provider IDs must be unique.
- Provider command is required.
- Restart policy is optional but recommended for hardware processes.
Telemetry
- Telemetry is off by default.
- Use nested
telemetry.influxdb.*settings. - Flat
telemetry.influx_*keys remain accepted for compatibility, but are deprecated.
Compatibility behavior
- Unknown keys are warn-and-ignore for forward compatibility.
automation.behavior_tree_pathis an accepted alias forautomation.behavior_tree.runtime.modein YAML is rejected.
Related References
- configuration-schema.md - compact section-by-section schema narrative.
- docs/contracts/runtime-config-baseline.md - locked behavior baseline.
- schemas/README.md - canonical schema and validator map.
