nexo/agent-roadmap/phase/product-foundation/milestones/runtime-baseline.md

3.7 KiB

Milestone: 운영 기준선

위치

  • Roadmap: agent-roadmap/ROADMAP.md
  • Phase: agent-roadmap/phase/product-foundation/PHASE.md

목표

Mattermost server, webapp, push-proxy compose와 원격 Docker 세팅을 nexo의 반복 가능한 테스트 런타임으로 고정한다. nexo용 포트, 환경 변수, 데이터 경로, push-proxy 설정을 분리하되 upstream update를 따라가기 쉬운 runtime shape를 유지한다.

상태

[계획]

승격 조건

  • 없음

구현 잠금

  • 상태: 잠금
  • 결정 필요:
    • 원격 환경에서 nexo를 별도 포트 테스트 서비스로 유지할지, 도메인/프록시까지 연결할지 결정한다.
    • push-proxy의 FCM 자격 증명과 테스트/운영 credential 분리 기준을 결정한다.
  • 결정 완료:
    • 2026-05-27: Mattermost server/webapp/push-proxy는 nexo가 deep fork하지 않고 upstream-followable runtime으로 유지한다.

범위

  • services/core/compose/의 compose와 .env.example
  • services/core/server/, services/core/webapp/의 upstream-followable runtime 경계
  • push-proxy image/source tracking과 credential/config 경계
  • 원격 ~/docker/services/nexo/ 배치와 로컬 compose의 동등성
  • core, webapp, Postgres, push-proxy 최소 health check
  • runtime data와 secret이 git에 들어가지 않도록 유지하는 규칙

기능

Epic: [compose] Core compose

local과 원격 Docker에서 같은 shape로 server/webapp/push-proxy 런타임을 올릴 수 있게 한다.

  • [local-compose] services/core/compose에서 core, webapp, db, push-proxy가 함께 실행되는 기준을 유지한다. 검증: cd services/core/compose && docker compose up -d 후 core ping과 webapp 접근이 성공한다.
  • [remote-parity] 원격 ~/docker/services/nexo/compose와 repo의 compose 파일이 의도적으로 동기화되는 절차를 문서화한다. 검증: local/remote compose와 .env.example hash 비교가 일치한다.
  • [secret-boundary] .env, data, push-proxy credential이 git 추적 밖에 머무는 기준을 유지한다.
  • [upstream-runtime] server/webapp/push-proxy runtime은 official image/source baseline을 추적하고, nexo 변경은 compose/env/docs/thin patch로 제한하는 기준을 문서화한다.

Epic: [smoke] Runtime smoke

서버 런타임 변경 후 최소 확인 절차를 작게 유지한다.

  • [health-check] core /api/v4/system/ping, webapp 접근, db readiness를 로컬과 원격에서 확인하는 절차를 문서화한다.
  • [push-proxy-check] push-proxy가 core에서 참조 가능한 위치에 뜨는지 확인하는 smoke 기준을 정한다.

완료 리뷰

  • 상태: 없음
  • 요청일: 없음
  • 완료 근거: 없음
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 없음

범위 제외

  • nginx/domain 연결, TLS, production hardening은 이 Milestone의 필수 범위가 아니다.
  • 서버/front/push-proxy를 nexo 자체 deep fork 이미지로 바꾸는 작업은 별도 결정 후 진행한다.
  • 기존 운영 중인 다른 compose 서비스와의 병합은 이 Milestone에서 자동으로 하지 않는다.

작업 컨텍스트

  • 관련 경로: services/core/compose/, services/core/UPSTREAM.md, services/core/server/, services/core/webapp/
  • 표준선(선택): compose는 core service 내부에 두고, server/webapp/push-proxy는 upstream-followable runtime으로 유지하며 별도 infra/ 모듈은 만들지 않는다
  • 선행 작업: core compose 원격 테스트 배치
  • 후속 작업: 업스트림 팔로잉 기준선, CI/CD와 운영 업데이트 루프
  • 확인 필요: 원격 노출 방식과 push credential 분리 방식