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

4.8 KiB

Workspace Environments

이 문서는 하위 프로젝트의 local/test/runtime 환경을 workspace 관점에서 요약한다. 상세 구현과 최종 source of truth는 각 프로젝트의 agent-test/local/, 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, Edge, Node, Client, PostgreSQL, Redis. work container 안 Docker-in-Docker는 피한다. dev profile은 local/test 조건을 유지하되 .env.dev.example으로 host publish 포트만 분리한다. ssh toki@toki-labs.com, /Users/toki/agent-work/iop-dev workspace 기준 프로젝트. local/test frontend 13000, backend 18000, artifact/model 18080/18081, wire 19080/19081/19090, metrics 19092, DB/cache 15400/16300. dev frontend 13001, backend 18001, wire 19001/19002/19003, DB/cache 15401/16301, optional artifact/model 18082/18083, metrics 19101.
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 없이 책임 경계만 기록한다.
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/local/*, 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를 함께 확인한다.