CCG-Platform Summary
메인 인덱스 | CCG-Platform | GitHub Org
TL;DR
이 프로젝트는 사용자가 웹에서 요청하면 게임별 프로파일에 맞는 컨테이너와 Pod를 동적으로 생성하고, Selkies 기반 스트리밍으로 바로 접속할 수 있게 만드는 클라우드 게임 플랫폼입니다. 저는 4명 팀의 팀장으로서 POC, demo, TerraformLearn, PodManager_V2로 이어지는 흐름 안에서 게임 실행 환경, GPU warm pool, Pod 관리 API, 배포 구조를 구상하고 발전시키며 프로젝트를 계속 이어가고 있습니다.
조직 전체 요약
CCG-Platform 조직의 12개 클론 디렉터리를 확인했습니다. 여기에는 실제 애플리케이션 레포와 함께 문서 허브, 데모, 조직용 placeholder가 함께 포함됩니다.
레포 우선순위 요약
| 레포지토리 | 설명 우선순위 | 주요 목적 | 주요 기술 스택 |
|---|---|---|---|
| portal-backend | 핵심 | FastAPI 백엔드 API | FastAPI, PostgreSQL, Celery, Redis |
| PodManager | 핵심 | 동적 컨테이너/pod 관리 | FastAPI, Kubernetes, Docker, Traefik |
| PodManager_V2 | 핵심 | 템플릿을 활용한 프로덕션 K8s API | FastAPI, K8s, Jinja2, NetworkPolicy |
| TerraformLearn | 핵심 | AWS EKS 인프라 | Terraform, EKS, Karpenter, GPU Operator |
| CCGP-ui | 중점 | React 프론트엔드 애플리케이션 | React 19, Vite 7, styled-components |
| Selkies | 보조 | WebRTC 스트리밍 매니페스트 | Kubernetes, WebRTC, coturn |
| game-container | 보조 | Steam 게이밍 컨테이너 | Docker, Steam, supervisord |
| k8s-setup-script | 보조 | K8s 클러스터 설정 스크립트 | Bash, kubeadm, Containerd, NFS |
| Document | 참고 | 문서화 표준 | Markdown, templates |
| POC | 참고 | Flask 앱 개념 증명 | Flask, Docker |
| CCG-Platform (org) | 참고 | 조직 워크플로우 | Markdown |
| CCG-Platform (subdir) | 참고 | 플레이스홀더/최소 구성 | README placeholder |
먼저 설명할 레포
1. portal-backend
구조가 분명한 아키텍처를 갖춘 프로덕션급 FastAPI 백엔드
- 자동 발견 라우팅 시스템
- 종합적인 관리자 패널 (Starlette Admin)
- 깔끔한 서비스/리포지토리 패턴
- JWT/OAuth2 인증
- 백그라운드 작업 처리 (Celery)
- 데이터베이스 마이그레이션 (Alembic)
- 약 101개 파일, 잘 문서화됨
2. PodManager
이중 환경 지원이 있는 복잡한 컨테이너 오케스트레이션
- Docker 및 Kubernetes 버전
- Traefik 쿠키 기반 라우팅
- 자동 리소스 정리
- 세션이 있는 사용자 격리
- 종합적인 문서
- 약 94개 파일, 운영을 고려한
3. PodManager_V2
Jinja2 템플릿 기반의 프로덕션 API
- 순수 RESTful API 디자인
- K8s 리소스용 Jinja2 템플릿
- NetworkPolicy 보안
- 템플릿 기반 Kubernetes API 아키텍처
- 전문적인 배포 자동화
- 약 63개 파일, 구조가 분명한 구현
4. TerraformLearn
엔터프라이즈급 클라우드 인프라
- Karpenter 자동 스케일링이 있는 AWS EKS
- 게이밍 워크로드를 위한 GPU 지원
- Spot 인스턴스 비용 최적화
- Cloudflare DNS 통합
- 7부 구성 종합 가이드
- 약 74개 파일, 정리된 문서
다음으로 설명할 레포
CCGP-ui
React 19와 Vite 7 기반의 프론트엔드
- React 19 + Vite 7 + styled-components
- JWT 인증
- 깔끔한 컴포넌트 아키텍처
- CI/CD 파이프라인
- 좋은 문서
권장 사항
포트폴리오 하이라이트용 (상위 4개):
- portal-backend - 백엔드/API 사례에 가장 적합
- PodManager_V2 - Kubernetes/DevOps 사례에 가장 적합
- TerraformLearn - 클라우드/인프라 사례에 가장 적합
- PodManager - 대체 DevOps 사례
핵심 레포로 먼저 두는 이유:
- 운영을 고려한: CI/CD와 기본 구조가 갖춰짐
- 잘 문서화됨: 종합적인 README 및 가이드
- 복잡성: 실제 세계의 복잡성, 튜토리얼 수준이 아님
- 아키텍처: 깔끔한 패턴, 적절한 관심사 분리
- 혁신: 새로운 솔루션 (쿠키 라우팅, Jinja 템플릿, Karpenter)
우선순위 하위로 둘 레포지토리:
- CCG-Platform (org & subdir): 조직 메모 성격이라 기술 사례 중심 설명과는 거리가 있습니다.
- POC: 개념 증명 범위라 실제 서비스 구조를 다루는 데는 제한이 있습니다.
- Document: 문서 표준 레포라 코드를 중심으로 설명할 사례는 아닙니다.
- game-container: README 없이 Docker/Compose 중심이라 설명 밀도가 낮습니다.
- Selkies: Kubernetes 매니페스트 중심이라 맥락 설명이 더 필요합니다.
- k8s-setup-script: 클러스터 설정 스크립트 중심이라 보조 사례로 두는 편이 자연스럽습니다.
관찰된 아키텍처 패턴
백엔드 패턴:
- 서비스/리포지토리 레이어가 있는 FastAPI
- Alembic 마이그레이션이 있는 SQLAlchemy 2.0
- 비동기 작업용 Redis + Celery
- 자동 발견 라우팅
인프라 패턴:
- Kubernetes 네이티브 디자인
- 수신/라우팅용 Traefik
- 쿠키 기반 세션 관리
- 격리용 NetworkPolicy
프론트엔드 패턴:
- styled-components가 있는 React
- JWT 인증
- RESTful API 통합
- 빌드 도구로 Vite
다음 단계
심층 분석(Wave 4)을 위해 우선순위:
- portal-backend - FastAPI 아키텍처, 관리자 패널
- PodManager_V2 - K8s 템플릿, 프로덕션 패턴
- TerraformLearn - IaC 패턴, GPU 인프라
- CCGP-ui - 현재 사용한 React 패턴 (선택적)