Skip to content

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.

SectionPurpose
KestrelBind address/port, MaxRequestBodySize.
StorageBackend (File / S3 / Minio), directory, per-bucket overrides. See Storage Backends.
StorageBucketsNested per-entity bucket tree — Path, GitTracked, Retention, Archive inherit from ancestor groups.
CacheEphemeral cache directory (safe to wipe).
AuthProviders, secrets, role definitions. See Authentication.
GitGit-backed config versioning and branch staging. See Git Versioning.
LocalOverlayNo-git developer scratchpad (sibling of Git:, mutually exclusive with it).
SerilogLog sinks: console, file, ELK / Loki / Splunk.
FlowFlow-engine tuning.

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.

Terminal window
# Kestrel binds loopback only by default (http://localhost:5000) — omit this
# block unless you need to expose the port beyond localhost. Reaching it from
# another host requires the wildcard bind below (front it with a reverse proxy
# and keep Auth.Enabled: true, or the security audit flags NET-003).
Kestrel:
Endpoints:
Http:
Url: "http://0.0.0.0:5000"
Storage:
StorageType: File
Directory: "/var/lib/zenvara/data"
Auth:
Enabled: true
Serilog:
MinimumLevel: Information

Connections, 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}.connection.yaml and config/environments/{name}.environment.yaml. 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 covered above, plus in the CLI’s own zenvara config-reference output, which is generated from the same embedded defaults and never drifts from what a given build actually ships.