Skip to content

Troubleshooting

Marmitakus edited this page Aug 5, 2026 · 1 revision

Troubleshooting

Use this page as a first-response checklist. The detailed and current incident guide is docs/troubleshooting.md.

First checks

jul version
jul check -config server.toml
jul lint -config server.toml

Then confirm:

  • the binary includes every configured optional capability;
  • referenced files and directories exist and are readable by the service account;
  • listener ports are available;
  • secret references resolve in the service environment;
  • the admin health endpoint is reachable locally;
  • the running configuration version matches the intended candidate.

Common failure classes

Configuration rejected

Jul.IA rejects unknown fields, invalid values, ambiguous route actions, missing build capabilities, and runtime construction failures. Use jul check for the complete preflight error.

Port already in use

Another process owns the listener, or a reload attempted to bind an incompatible address. Identify the owner or change the listener.

Feature compiled out

The configuration activates an optional feature that is absent from the selected build. Use a compatible release profile or rebuild with the required tag, then rerun jul check.

Change saved but not serving

Distinguish persisted configuration from the live serving generation. Inspect the managed apply result, serving version, and reload semantics.

Restart required

Use the planned-restart workflow or restart after controlled file delivery. Do not repeatedly force hot reload for a startup-bound change.

Upstreams return errors

Check backend reachability, health state, discovery results, TLS identity, timeouts, and whether an egress policy blocks auxiliary discovery or authentication fetches.

Console or admin API returns 401/403

Confirm the listener, credential, access model, and route permission. Keep recovery access local and protected.

Useful references

Clone this wiki locally