nika serve is a foreground process for one project. A production runbook
should name its room, binary, state volume, signal path and evidence checks.
Boot gate
Run every probe from the working directory production will use:serve --dry is only a calendar preview. It does not
exercise provider credentials or external effects.
Supervise the foreground process
The minimal systemd service contract is ordinary:WorkingDirectory and ExecStart. Provider keys stay in the protected
environment file. The project source and .nika/ volume need only the access
the workflows and evidence policy require.
Units emitted by
nika arm --emit systemd are per-beat timer bridges. They
are not the service unit for the resident nika serve loop.Probe the surfaces that exist
nika serve does not listen on an HTTP port, so an HTTP health probe would be
a fictional contract.
SERVER PROBES ยท EACH ANSWERS ONE QUESTION
Treat process liveness and workload success separately. A resident loop can be
healthy while one workflow fails, and a completed --once sweep can exit zero
after an individual beat failed or paused.
Deploy a project change
1
Stage the exact bytes
Put the candidate
nika.yaml and workflows in the release directory that
will become the production project room.2
Preflight there
Run
nika arm --plain with the pinned binary. A clean report validates the
arm-ready project and cadence without scheduling work.3
Switch deliberately
Replace the project release or edit the registry. The resident loop swaps
only a valid registry and keeps the last good one after a refused edit.
4
Read the next decision
Confirm the process remains live and inspect the next beat line plus its
sidecar evidence. Hot reload success is not the same as workflow success.
Investigate one surprising beat
Follow one path instead of searching every log at once:Production checklist
- One explicit project
cwd. - One pinned binary path and printed version.
- An arm-ready
nika.yamlfor the current released cadence reader. - Provider secrets outside source and generated units.
- Durable
project/.nika/storage with chosen retention and access. - Captured stdout decision lines and stderr diagnostics.
- SIGTERM delivery with enough time for the active firing boundary to settle.
- An incident path from decision to ledger to verified trace.
Continue
Resident server
Read reload, shutdown and delivery semantics.
CWD and monorepos
Align project discovery and state roots.
Runtime state
Place ledgers, watermarks and traces.
Security boundary
Keep permits, secrets and spend explicit.