appsettings & Layers
Zenvara is configured with two YAML layers:
appsettings.yaml— the base, in source control.appsettings.user.yaml— host-specific overrides, gitignored, optional.
Last-write wins, key by key. Every section has sensible defaults; touch a section when you have a reason.
Sections you’ll actually touch
Section titled “Sections you’ll actually touch”| Section | Purpose |
|---|---|
Kestrel | Bind address/port, MaxRequestBodySize. |
Storage | Backend (File / S3 / Minio), directory, per-bucket overrides. See Storage Backends. |
StorageBuckets | Nested per-entity bucket tree — Path, GitTracked, Retention, Archive inherit from ancestor groups. |
Cache | Ephemeral cache directory (safe to wipe). |
Auth | Providers, secrets, role definitions. See Authentication. |
Git | Git-backed config versioning and branch staging. See Git Versioning. |
LocalOverlay | No-git developer scratchpad (sibling of Git:, mutually exclusive with it). |
EnvironmentKinds | Kind levels for cross-environment validation. See Environments. |
Serilog | Log sinks: console, file, ELK / Loki / Splunk. |
Flow | Flow-engine tuning. |
Hot-reload vs restart-required
Section titled “Hot-reload vs restart-required”Most entity files (flows, connections, environments) hot-reload — the platform picks up changes on the next request, no restart needed. A few config sections require a restart, notably Git: — enabling or changing git versioning is not a hot-reload operation.
A minimal appsettings.user.yaml
Section titled “A minimal appsettings.user.yaml”Kestrel: Endpoints: Http: Url: "http://0.0.0.0:5000"
Storage: StorageType: File Directory: "/var/lib/zenvara/data"
Auth: Enabled: true
Serilog: MinimumLevel: InformationConnections, environments, and other entities
Section titled “Connections, environments, and other entities”Note that connections and environments are not in appsettings — they live in storage as YAML entities under config/connections/{name}/ and config/environments/{name}/. Folios, skills, and templates live under knowledge/; auth, policies, and teams at the storage top level. appsettings configures the platform; storage entities configure what the platform runs.
The full schema for every section is in the flow language reference shipped with the platform.