Skip to content

Configuration Workflow

Marmitakus edited this page Aug 5, 2026 · 1 revision

Configuration Workflow

Jul.IA uses one TOML document. This page describes how to work with it safely without duplicating the fast-changing field reference.

Configuration shape

Most installations combine:

  • process-wide settings;
  • one or more HTTP servers and locations;
  • named upstream pools;
  • optional cache, compression, rate-limit, egress, observability, admin, WAF, plugin, or stream sections.

The configuration reference is the only source for exact keys, defaults, allowed values, activation conditions, and examples.

Recommended edit cycle

  1. Make the smallest coherent change.

  2. Run a full preflight:

    jul check -config server.toml
  3. Review advisory findings:

    jul lint -config server.toml
  4. Optionally enforce canonical TOML:

    jul fmt -config server.toml -diff
  5. Apply through the Console or admin API when you need managed persistence, correlation, history, and rollback.

  6. Confirm the serving version and health after the change.

Strictness rules

  • Unknown fields are rejected.
  • Invalid explicit values are rejected instead of silently replaced by defaults.
  • A location has one primary action; ambiguous route blocks are rejected.
  • A feature configured without its required build capability is rejected at preflight.
  • Secret references should be used for credentials and tokens rather than literal values.

Apply modes

Hot apply

Use for a candidate whose changed fields are live-reloadable. The managed path validates before persistence and reports the correlated runtime result.

Stage for restart

Use for valid changes that affect startup-bound subsystems. The new configuration is persisted for the next restart while the current process keeps serving the previous version.

Do not assume a field is hot-reloadable. Consult the reload semantics and the machine-readable lifecycle registry.

Source-of-truth links

Clone this wiki locally