acornops-deploymentowns Compose, Kubernetes, service exposure, probes, secrets wiring, and environment-specific rollout.- This repository owns the service binary/image,
/health,/ready, metrics, durable retry behavior, and component-level docs. - Production traffic gating must use
GET /ready.GET /healthis liveness only.
APP_ENV=productionORCH_BASE_URLORCH_SERVICE_TOKENEXECUTION_ENGINE_DISPATCH_TOKENREDIS_URLEXECUTION_GATEWAY_BASE_URL
Set ADDITIONAL_CA_BUNDLE_FILE to a readable PEM bundle to extend system trust
for outbound HTTPS and rediss:// connections. The bundle does not enable TLS
for plaintext URLs and does not replace the separate internal mTLS identity.
Optional tuning:
READINESS_CHECK_TIMEOUT_MSORCH_RETRY_MAX_ELAPSED_SECONDSGATEWAY_STREAM_IDLE_TIMEOUT_SECONDSTOOL_CALL_TIMEOUT_SECONDSTOOL_CONTEXT_MAX_BYTESTOOL_CONTEXT_RUN_MAX_BYTESTOOL_GATEWAY_MAX_RESPONSE_BYTESDISPATCH_REQUEST_TIMEOUT_SECONDSMAX_REQUEST_BODY_BYTESTERMINAL_RUN_TTL_SECONDSTERMINAL_COMMIT_RETENTION_SECONDSTERMINAL_COMMIT_RETRY_INTERVAL_SECONDS
execution_engine_readiness_dependency_statusactive_runsexecution_engine_queued_runsexecution_engine_run_duration_secondsexecution_engine_dispatch_requests_totalexecution_engine_cancel_requests_totalexecution_engine_event_outbox_pendingexecution_engine_events_delivered_totalexecution_engine_events_delivery_failed_totalexecution_engine_terminal_commits_pendingexecution_engine_terminal_commits_totalexecution_engine_orchestrator_requests_totalexecution_engine_orchestrator_retries_totalexecution_engine_gateway_streams_totalexecution_engine_gateway_stream_malformed_chunks_totalexecution_engine_tool_calls_totalexecution_engine_tool_result_artifacts_totalexecution_engine_tool_result_normalizations_totalexecution_engine_tool_evidence_omissions_totalexecution_engine_kubernetes_ownership_resolutions_totalexecution_engine_remediation_write_outcomes_totalexecution_engine_remediation_verification_outcomes_total
- Redis unavailable: remove the instance from traffic via
/ready, restore Redis, then confirm event and terminal commit pending gauges drain. - Control plane unavailable: expect event and terminal commit backlogs to grow; restore control plane and verify retry metrics settle.
- llm-gateway unavailable:
/readyfails whenEXECUTION_GATEWAY_BASE_URLis configured; active runs fail with explicit gateway errors. - Terminal commit backlog: inspect
execution_engine_terminal_commits_pending, control-plane commit endpoint health, and execution-engine logs for commit retry failures. - Event outbox backlog: inspect
execution_engine_event_outbox_pending, event endpoint health, and retry metrics. - Duplicate dispatch conflict: confirm the upstream control plane is not reusing a
run_idacross different workspace, target, target type, session, or message identity. - Remediation verification failed or missing: inspect the run's compact
patch_workloadorpatch_configmapreceipt and subsequentget_resourceevidence. A failed outcome means the fresh image, environment descriptor, or ConfigMap fingerprint contradicted the requested state; missing means the run ended before a matching target observation.
WORKSPACE_CAPACITY_ENABLED defaults to false and must match the control plane
and execution engine/gateway deployment. Verify GET /health capacity capability
fields before activating the control-plane contract. Lifecycle authorization is
mandatory even when workspace counters are disabled. Gateway deployments require
ORCH_BASE_URL and ORCH_SERVICE_TOKEN using the existing control-plane service
credential, with the existing internal TLS settings where configured.
Engine MAX_CONCURRENT_RUNS remains an independent local worker limit. Queued work
does not hold local/distributed execution gates; a waiting coordinator or approval
releases both gates after checkpointing. Initial queue expiry is 600 seconds and
CP maintenance owns authoritative expiry/cancellation settlement. Redis delivery
records retain owner/generation identity for cleanup retries. Redis locks use
owner-aware compare-and-delete and never replace CP execution authority.
Provider validation corrections following definitive HTTP 400 rejection use fresh operation IDs. Hidden retries after an uncertain dispatch are rejected. Existing workspace provider secret lookup followed by optional platform default is unchanged.
Accepted resumes during a worker's cleanup retain the task's parked outcome until release finishes. Resume intent is timestamped separately in Redis and is recovered if the process exits before scheduling the continuation. A resume reaching another replica waits, within its queue deadline, for the prior owner to park. Duplicate resume delivery does not add duplicate local queue entries.
Startup loads only the available local queue slots from an incremental Redis scan. Finishing tasks and the periodic delivery retry loop refill those slots from durable queued work. Reducing worker concurrency or consolidating failed replicas therefore does not strand queued runs beyond the initial startup batch.