OpenRath v2 Operations#
This guide covers production-oriented operation of OpenRath v2.0.0.
Release and upgrade#
Build immutable images by Git commit digest.
Replace every mutable image tag in
deploy/kubernetes/openrath.yamlwith the exactimage@sha256:...produced for the release.Run
openrath-migrate --checkbefore traffic andopenrath-migrateas a single pre-deploy Job.Database changes are additive in v2.0.0. Roll application pods back first; retain added columns and tables until the rollback window closes.
Take and restore-test PostgreSQL and artifact backups before an upgrade.
For timeout-controlled steps, use an async handler or isolated executor. Embedded synchronous handlers run to completion before their result is persisted.
Use LocalTrustedPolicy for explicit local trusted_host workflows. Service
deployments use a fail-closed policy, governed adapter executors, a durable
effect ledger, and an audit sink.
The reference server requires OPENRATH_GRANTS with explicit actions and
rejects the wildcard grant. It emits redacted newline-delimited JSON audit
records to stdout. Configure a collector, retention, access control, and
delivery alerts for that stream.
The Kubernetes template is fail closed for egress. PostgreSQL, Redis, S3, and
an HTTPS egress gateway must run in a namespace labelled
openrath.io/data-plane=allowed; DNS is limited to kube-system. If the CNI
supports FQDN policies, restrict provider and object-store hostnames there. Do
so with explicit allowlists.
Incident runbooks#
Worker terminated or stuck#
Confirm the worker lease has expired, call the orphan reconciliation loop, and
verify the fencing token increased. A stale worker must fail its next commit.
Inspect dispatched non-idempotent ToolInvocations; they must enter
NEEDS_REVIEW, not automatic retry.
Queue backlog#
Measure queued age, database lock time, provider saturation, and artifact latency. Scale replicas only after confirming PostgreSQL connection capacity. Rate-limit tenants producing disproportionate load.
Backup and restore exercise#
Quarterly, restore PostgreSQL and artifacts into an isolated environment, run
openrath-migrate --check, fetch historical Runs and artifacts, requeue an
expired lease, and verify a non-idempotent ambiguous invocation remains blocked
for review.
Deployment verification#
For each deployment, record the immutable commit and image digest together with enabled provider, sandbox, and memory lifecycle checks; PostgreSQL, Redis, and S3-compatible restart drills; backup and restore; rollback; scaling; soak; SBOM; and vulnerability-scan results.
Source: tagged operations document.