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).
EnvironmentKindsKind levels for cross-environment validation. See Environments.
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.

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}/ 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.