아키텍처와 제공자
Spine Cloud는 CLI에서 배포를 접수하고 관리 API와 실행 에이전트를 통해 앱을 실행하는 구조입니다. 아래는 서비스 구성과 배포 흐름에 대한 설명입니다.
구성과 연결
CLI → Management API ← Dashboard Execution agent → Management API → Identity and storage Execution agent → Application Visitor → Portal relay → Tunnel → Application
이 그림은 서비스 구성 요소 사이의 논리적 경로입니다. 각 구성 요소의 배치와 접근 정책은 실제 배포 설정에 따라 달라질 수 있습니다.
구성 요소
| 구성 요소 | 역할 | 기록된 환경 |
|---|---|---|
| Spine CLI | 계정 연결, 앱 빌드와 배포 요청 | 사용자 개발 환경의 Preview 기반 개발 CLI |
| 대시보드 | 계정 승인, 앱과 배포 이력 확인 | Vercel의 React 웹 앱 |
| 관리 API | 인증과 소유권 확인, 배포 작업과 상태 관리 | Railway |
| 인증과 저장소 | 계정 인증, 메타데이터와 비공개 결과물 저장 | Supabase |
| 실행 에이전트 | 작업 조회, 결과물 검증, 앱 실행과 상태 보고 | Oracle Cloud Infrastructure |
| Portal 릴레이와 터널 | 공개 HTTPS 요청을 실행 앱으로 전달 | 자체 운영 구성 |
배포 흐름
- 사용자는 브라우저에서 일회용 코드를 승인해 CLI와 계정을 연결합니다.
- CLI에서
spine deploy를 실행하면 앱을 선택하고 빌드 결과물의 배포를 요청합니다. - 관리 API는 계정과 앱 소유권, 결과물 형식을 확인하고 암호화한 결과물을 비공개 저장소에 보관합니다.
- OCI 에이전트는 인증된 HTTPS 요청으로 작업을 조회하고 선점합니다. 결과물을 복호화한 뒤 해시와 형식을 확인하고 앱을 시작합니다.
- 내부 상태 확인과 공개 HTTPS 경로를 확인한 뒤 배포 결과와 주소를 기록합니다.
개발자가 확인할 사항
- CLI가 요청을 접수한 상태와 앱의 실행 성공은 다릅니다. 배포 결과와 공개 경로 확인까지 살펴보세요.
- 앱은 내부 상태 확인 경로를 제공해야 합니다.
spine deploy는 Preview 기반 개발 CLI의 명령입니다.- 데이터베이스 연결, 비밀값 갱신, 앱 로그에 민감 정보가 기록될 가능성은 앱 개발자가 함께 고려해야 합니다.