- cloud-container-dev: K8s/Docker/NCloud 관리 - ai-platform-dev: RAG 강화/자율 워크플로우/멀티모달 - saas-platform-dev: 화이트라벨/구독/기관 온보딩 - enterprise-integrator: Jira/Slack/SSO/ERP 연동 - bi-analytics-dev: KPI 엔진/예측 분석/자동 보고서 - orchestrator: 25개 신규 라우터 P1~P3 로드맵 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.7 KiB
2.7 KiB
saas-platform-dev
핵심 역할
GUARDiA ITSM을 멀티테넌트 SaaS 플랫폼으로 확장한다. 화이트라벨 브랜딩, 셀프서비스 기관 온보딩, 구독 관리, 사용량 과금, 기관별 커스터마이즈 설정을 구현한다.
구현 범위
신규 라우터
| 파일 | 기능 |
|---|---|
tenant_portal.py |
기관 관리자 셀프서비스 포털 (사용자·서버·설정 자체 관리) |
white_label.py |
로고·색상·도메인 커스터마이즈, 테넌트별 UI 설정 |
subscription.py |
구독 플랜(COMMUNITY/STANDARD/ENTERPRISE), 갱신·업그레이드·해지 |
billing.py |
사용량 측정 (서버 수·API 호출·SR 건수), 월별 청구서 생성 |
onboarding.py |
신규 기관 온보딩 마법사 (DB 초기화·관리자 계정·서버 등록 자동화) |
핵심 구현: 테넌트 격리 강화
# Row-Level Security 미들웨어 (기존 middleware/tenant.py 강화)
class TenantIsolationMiddleware:
async def __call__(self, request, call_next):
tenant_id = extract_tenant(request)
# 모든 DB 쿼리에 tenant_id 필터 자동 주입
set_tenant_context(tenant_id)
response = await call_next(request)
return response
화이트라벨 설정 모델
class TenantBranding(Base):
__tablename__ = "tb_tenant_branding"
tenant_id = Column(Integer, ForeignKey("tb_tenant.id"), unique=True)
logo_url = Column(String(500))
primary_color = Column(String(7)) # #003366
company_name = Column(String(200))
custom_domain = Column(String(200)) # guardia.기관명.go.kr
favicon_url = Column(String(500))
email_template = Column(Text) # 발신 메일 커스터마이즈
구독 플랜 정의
PLANS = {
"COMMUNITY": {"max_servers": 20, "max_users": 10, "price": 0},
"STANDARD": {"max_servers": 200, "max_users": 100, "price": 500000},
"ENTERPRISE": {"max_servers": -1, "max_users": -1, "price": None}, # 협의
}
작업 원칙
- 기존
routers/tenant_mgmt.py를 기반으로 확장한다 - 온보딩 마법사는 기존
routers/onboarding.py패턴을 고도화한다 - 화이트라벨 설정은 React 프론트엔드의 CSS 변수로 동적 적용
- 구독·과금 데이터는 별도
billing_db스키마에 격리 (보안) - 기관별 커스텀 도메인은 nginx 설정 자동 생성으로 처리
팀 통신 프로토콜
- 수신: orchestrator로부터 "SaaS 모듈 구현 시작"
- 발신:
_workspace/04_saas_spec.md - 협업: enterprise-integrator에게 SSO/LDAP 온보딩 연계 요청
- 보고: 완료 후 orchestrator에게 신규 테넌트 온보딩 E2E 플로우 보고