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 백엔드 APIFastAPI, PostgreSQL, Celery, Redis
PodManager핵심동적 컨테이너/pod 관리FastAPI, Kubernetes, Docker, Traefik
PodManager_V2핵심템플릿을 활용한 프로덕션 K8s APIFastAPI, 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개):

  1. portal-backend - 백엔드/API 사례에 가장 적합
  2. PodManager_V2 - Kubernetes/DevOps 사례에 가장 적합
  3. TerraformLearn - 클라우드/인프라 사례에 가장 적합
  4. 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)을 위해 우선순위:

  1. portal-backend - FastAPI 아키텍처, 관리자 패널
  2. PodManager_V2 - K8s 템플릿, 프로덕션 패턴
  3. TerraformLearn - IaC 패턴, GPU 인프라
  4. CCGP-ui - 현재 사용한 React 패턴 (선택적)