Skip to content

Configuration schema

A configuration file has three top-level sections: identity, inheritance and settings.

Top-level keys

Key Type Required Description
service string yes The service this file configures
environment string yes Target environment
extends string no Path to a base file to overlay
settings map yes The settings to apply

Settings

The settings map is validated against the per-service schema registered with statera schema push. A schema entry declares a type, an optional range and a default.

log_level:
  type: enum
  values: [debug, info, warn, error]
  default: info

rate_limit:
  type: integer
  min: 1
  max: 1000
  default: 200

feature_flags:
  type: map
  of: boolean

Types

Type Notes
string Any UTF-8 string
integer Optional min / max
number Floating point
boolean true / false
enum Constrained by values
map Homogeneous map; element type set by of
list Homogeneous list; element type set by of

Secret references

Any string value may be a secret reference of the form ${secret:<path>}. References are resolved at apply time and excluded from the stored revision history.

Merge rules

When extends is set:

  • maps are merged key by key, local keys winning
  • scalars are replaced
  • lists are replaced, not concatenated