Skip to content

Configuration ​

Keep three files in one folder:

text
config-dir/
  config.yaml     # system: database, storage, cache, jobs, security
  admin.yaml      # admin plane: addr, TLS, trusted_proxies, static_dir
  client.yaml     # client plane: addr, TLS, trusted_proxies

-config points at that directory or the system file. Missing files load sibling *-example.yaml.

FileEnv prefixExample
config.yamlKIRIVERS_postgres.dsn → KIRIVERS_POSTGRES_DSN
admin.yamlKIRIVERS_ADMIN_addr → KIRIVERS_ADMIN_ADDR
client.yamlKIRIVERS_CLIENT_addr → KIRIVERS_CLIENT_ADDR

trusted_proxies and static_dir are not in config.yaml. They belong to the plane YAML files.

If either plane sets mode=debug, the whole process uses Gin debug mode; otherwise release.

Logging ​

One process system stream plus system+access on each plane (five streams). Each stream must enable console or rolling file (or both). If both sinks are off, startup fails and the process does not listen.

Use environment variables to inject secrets. Treat the three YAML files as the operator-facing source. Child pages: