workspace-manager/.workspace-ops/docs/environments.md

6.1 KiB

Workspace Environments

이 문서는 하위 프로젝트의 local/test/runtime 환경을 workspace 관점에서 요약한다. 상세 구현과 최종 source of truth는 각 프로젝트의 agent-test/<env>/, compose/env example, roadmap milestone에 둔다.

공통 기준

  • tracked 문서에는 raw secret, token, password, private key, 계정 id를 쓰지 않는다.
  • ignored local file은 inventory 근거로만 보고, 값 자체를 복사하지 않는다.
  • 원격 runtime 포트 변경은 compose/env/smoke/client config 영향 확인 뒤 프로젝트별 마일스톤에서 처리한다.
  • host publish 표준화와 container 내부 listen 포트 변경은 별도 문제로 다룬다.

프로젝트별 환경 요약

프로젝트 Local / Test 환경 Remote / Runtime 환경 포트/환경 메모
alt Go workspace, Flutter client, local PostgreSQL/Redis compose, KIS smoke는 private testing env 의존 ssh toki@toki-labs.com, ~/agent-work/alt API/worker 후보 18030/18031, frontend 13030, optional wire 19030, DB/cache 15430/16330. KIS credential은 tracked 문서에 쓰지 않는다.
iop Docker compose 기반 Control Plane, Client UI, PostgreSQL, Redis, Prometheus, Grafana. Edge는 별도 runtime service로 붙일 수 있다. ssh toki@toki-labs.com, /Users/toki/agent-work/iop-dev; dev-corp compose 후보 ssh fe@172.24.63.178, /Users/fe/agent-work/iop-dev-corp local/test frontend 13000, backend 18000, artifact/model 18080/18081, wire 19080/19081/19090, Edge metrics 19092, CP metrics 19100, Prometheus/Grafana 19110/19120, DB/cache 15400/16300. dev frontend 13001, backend 18001, wire 19001/19002/19003, DB/cache 15401/16301, artifact/model 18082/18083, Edge/CP metrics 19101/19103, Prometheus/Grafana 19111/19121, subnet 10.89.1.0/24. dev-corp frontend 13002, backend 18002, wire 19004/19005/19006, DB/cache 15402/16302, artifact/model 18085/18086, Edge/CP metrics 19102/19104, Prometheus/Grafana 19112/19122, subnet 10.89.2.0/24.
nexo Mattermost core, webapp, push-proxy, Flutter test host, upstream dev compose ssh toki@toki-labs.com, repo ~/agent-work/nexo, compose ~/docker/agent-service/nexo/compose core 18065, push-proxy 18066은 compatibility baseline. upstream dev compose 포트는 nexo-owned runtime 포트와 분리한다.
nomadcode Core local default 8080, Docker compose DB/Redis, Flutter client, code-server preview Android runner $HOME/agent-work/nomadcode, sibling ../nexo/packages/messaging_flutter, ../proto-socket/dart frontend 후보 13010, backend 후보 18010, DB/cache 15410/16310. Plane, Mattermost, Jira, IOP Edge endpoint는 secret 없이 책임 경계만 기록한다.
gito Core local default 8080, Go control plane/worker/shell, Flutter client, optional Postgres/Redis/proto-socket runner smoke. 기본 local 테스트 evidence는 standard remote runner 기준 ssh toki@toki-labs.com, $HOME/agent-work/gito frontend 13060, backend/Core HTTP 18060, optional wire/agent transport 19060, DB/cache 15460/16360. Core 내부 listen 8080은 유지하되 shared runner 검증은 gito-owned host slot을 사용한다.
rara local config는 Control Plane 18080, RAG API 18081, Go Worker 18082, Python Executor 19090, PostgreSQL 5432 compatibility 값 사용 기본 검증은 ssh toki@toki-labs.com, 목표 checkout /Users/toki/agent-work/rara-dev; 2026-07-18 기준 checkout provisioning 필요 remote dev는 Control Plane 18070, RAG API 18071, Go Worker 18072, Python Executor 19070, PostgreSQL 15470, compose subnet 후보 10.89.7.0/24 사용. local compatibility 포트는 shared runner에 publish하지 않는다.
oto 기본 local 테스트 evidence는 remote runner 기준. OTO Core product fallback 127.0.0.1:8080, runner typed-command tests, Flutter client는 compatibility 경로로 유지 ssh toki@toki-labs.com, /Users/toki/agent-work/oto frontend 13020, backend/Core HTTP 18020. make core-runOTO_CORE_ADDR=0.0.0.0:18020, make client-run-web은 preview 13020을 사용한다. OTO_RUNNER_RELEASE_BASE_URL은 HTTPS release URL 기준을 유지하되 private host 원문은 기록하지 않는다.
appsok 기본 local 테스트 evidence는 standard remote Mac runner 기준. 현재 checkout의 git diff --check와 문법 수준 확인은 preflight로만 사용 ssh toki@toki-labs.com, $HOME/docker/services/code-server/data/volume/workspace/appsok Flutter/macOS build는 public port 없음. Flutter web preview가 필요하면 frontend 13050을 사용한다. Jenkins/ADB/Xcode/Keychain credential 원문은 tracked 문서에 쓰지 않는다.
proto-socket same-language/cross-language test matrix, examples, per-language runners Dart web/Chrome fallback: ssh toki@toki-labs.com, ~/agent-work/proto-socket-dart-web runtime 포트 없음. fixed crosstest local port 29090-29899는 workspace 표준 예외. 예제 9090은 제품 host publish 포트로 보지 않는다.
agent-shell Dart/Flutter package test 없음 package 자체 포트 없음.
dart-app-core Dart library tests 없음 library 자체 포트 없음.
agentic-framework agent-ops framework/docs 없음 서버/runtime 포트 없음. 포트 마일스톤 대상에서 제외한다.

변경 전 확인 항목

  • compose host publish 변경인지, container 내부 listen 변경인지 먼저 구분한다.
  • remote runner, code-server proxy, Android/Detox/Flutter Web smoke가 같은 포트를 참조하는지 확인한다.
  • README, .env.example, agent-test/<env>/*, smoke command, client config가 서로 다른 기본값을 말하지 않도록 맞춘다.
  • DB/Redis host publish 변경은 로컬 도구와 외부 접속 필요 여부를 확인한 뒤 진행한다.
  • field runtime에서 이미 쓰는 18080, 18081, 19080, 19090, 18065, 18066은 먼저 compatibility baseline으로 취급한다.
  • 프로젝트별 원격 테스트 환경과 포트 충돌 관리는 .workspace-ops/docs/remote-test-environments.md를 함께 확인한다.