Configuration Migration
The v3 config-v2 layout remains the baseline for runtime, observability, storage, authentication mechanisms, and identity configuration. Nauthilus v4 introduces an additional hard cut for decision configuration: the former auth.policy subtree is removed and top-level policy is the sole authority.
There is no supported configuration converter, startup translation, offline translator, dual read, or fallback compiler. Migrate manually and validate the complete candidate before deployment.
What stays outside Policy
These existing top-level owners remain distinct:
runtime: inbound servers, outbound clients, and shared process settingsobservability: logs, profiling, tracing, and metricsstorage: Redis and cache/storage behaviorauth: request handling, backends, controls, services, and backchannel authenticationidentity: frontend, MFA, OIDC, SAML, and sessionsplugins: native plugin loading and module configuration
What moves to top-level Policy
Move the complete v3 decision model together:
- decision targets and report settings
- localization and condition sets
- fact-source allowlists
- Lua and plugin providers
- Lua effects
- registry-script schema contributions
- provider scheduling and checkpoint ordering
- policy rules and policy-set imports
- Generic Policy API caller profiles, limits, and transports
Do not keep an empty or partial auth.policy block. Old-root and mixed-root inputs are both rejected.
Required migration sequence
- Keep non-Policy config-v2 roots at their existing canonical owners.
- Manually map every removed
auth.policyfield using the field-complete migration contract. - Replace v3 stages with exact checkpoint ownership.
- Replace
typeplusconfig_refwith the documented qualified provideruseidentity. - Qualify
standard_authasauthn/standard_auth. - Configure Policy and backchannel credentials as separate resource families.
- Validate the complete candidate, canonical dump, provider/effect resolution, and runtime routes before cutover.
The v4 migration landing also covers the Go module and native plugin rebuild boundary.