4.4 KiB
dev-corp Control Plane Observability Handoff
last_updated_at: 2026-07-13
Target
- Environment: dev-corp
- Scope: Control Plane compose group and observability ports
- First entry points:
agent-test/dev-corp/inventory.yamlagent-test/dev-corp/rules.md.env.dev-corp.exampledocker-compose.yml
- Do not rely on
../.workspace-opson the dev-corp runner. The dev-corp setup environment is expected to have only the project checkout, so all required handoff and inventory details must be available inside this repo.
Current State
- dev environment was deployed and verified in this session.
- dev-corp environment was not deployed in this session because the dev-corp runner was not reachable from the current workspace.
- dev-corp compose settings are documented only. In
agent-test/dev-corp/inventory.yaml,compose.setup_statusisdocumented_only_current_session_not_deployed. - Existing dev-corp public Edge path is still the active user path:
- artifact/bootstrap:
iop.ai.kr:18085 - OpenAI-compatible:
digitalplatform.iop.ai.kr:18086 - native Edge TCP:
iop.ai.kr:18087 - Edge metrics:
iop.ai.kr:19102
- artifact/bootstrap:
- Do not expose PostgreSQL, Redis, Prometheus, Grafana, or Control Plane metrics to the public internet. Assume operator access through VPN or runner-local access.
Intended dev-corp Compose Profile
- compose project:
iop-dev-corp-agent - compose network:
iop-dev-corp-agent-net - compose subnet:
10.89.2.0/24 - env file:
.env.dev-corp.example - core services:
postgresrediscontrol-planewebprometheusgrafana
Host ports:
- web:
13002 - Control Plane HTTP:
18002 - Client WS:
19004 - CP-Edge wire:
19005 - compose Edge-Node TCP:
19006 - PostgreSQL:
15402 - Redis:
16302 - Edge metrics:
19102 - Control Plane metrics:
19104 - Prometheus:
19112 - Grafana:
19122
Public Port Policy
Only open additional public ports if dev-corp Control Plane UI must be tested from an external browser:
13002/tcp18002/tcp19004/tcp
Keep these internal/VPN-only:
15402/tcp16302/tcp19104/tcp19112/tcp19122/tcp
19005 and 19006 are not required for ordinary browser UI access. Open them only for explicit external Edge/Node connection validation.
Next Steps
-
Restore access to the dev-corp runner (
fe@172.24.63.178) or confirm the current replacement runner. -
Sync
/Users/fe/agent-work/iop-dev-corpto the intended ref. -
Run
docker compose --env-file .env.dev-corp.example configand confirm published ports matchagent-test/dev-corp/inventory.yaml. -
Check port occupancy before starting services.
-
Start the core group only:
docker compose --env-file .env.dev-corp.example up -d postgres redis control-plane web prometheus grafana -
Do not start compose
edgeunless the validation explicitly requires it. -
Validate:
curl -fsS http://127.0.0.1:18002/healthzcurl -fsS http://127.0.0.1:18002/readyz- WebSocket upgrade on
ws://<host>:19004/clientif UI is public. - Prometheus readiness on runner-local
127.0.0.1:19112. - Grafana health on runner-local
127.0.0.1:19122/api/health.
Open Decision
The generic Prometheus compose config scrapes control-plane:9093 and compose edge:9092. If dev-corp keeps using the native public Edge instead of compose Edge, decide whether to add a dev-corp-specific Prometheus config that scrapes the native Edge metrics endpoint via a runner-reachable address.
Evidence From This Session
- dev Control Plane/UI stack was deployed with
postgres,redis,control-plane,web,prometheus, andgrafana. - dev external checks passed for:
http://toki-labs.com:13001http://toki-labs.com:18001/healthzws://toki-labs.com:19001/client
- dev Prometheus targets were
upfor:control-plane:9093host.docker.internal:19101prometheus:9090
- dev-corp public checks showed existing Edge paths open (
18085,18086,18087,19102) and Control Plane UI path closed (13002,18002,19004) before any dev-corp compose deployment.
Notes
- Do not record API keys, tokens, DB passwords, or private credentials in tracked docs.
source.remote_runner.setup_statusininventory.yamlrefers to the existing source/build/provider runner context. The compose-specific deployment status is tracked separately undercompose.setup_status.