Documentation

Readiness probes

Mark processes as ready using log patterns or TCP connectivity.

Why readiness matters

A process can be spawned successfully but still not be ready to serve traffic. Vectron models this explicitly and exposes readiness in status output and in the TUI.

Log-based readiness

Use a log pattern when the process prints a reliable startup message.

[process.readiness]
type = "log"

[process.readiness.ready]
pattern = "listening"
stream = "stdout"

Defaults involved here:

  • ready.stream: default stdout
  • error: default none

TCP-based readiness

Use a TCP probe when the process is considered ready once a port accepts connections.

[process.readiness]
type = "tcp"
host = "127.0.0.1"
port = "auto"
interval_ms = 500

port = "auto" follows the port allocated to the process instance.

Defaults involved here:

  • host: default 127.0.0.1
  • port: default auto
  • interval_ms: default 500

Global and per-process defaults

Set readiness globally when most processes share the same model, then override per process where needed.

If a process-level readiness block is absent, it inherits global.readiness.

Good practice

  • prefer log readiness when the process emits a stable startup line
  • prefer TCP readiness when a successful bind is the real usability signal
  • avoid fragile regexes that match too many unrelated lines