- 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>
249 lines
8.4 KiB
Markdown
249 lines
8.4 KiB
Markdown
---
|
|
name: guardia-expansion-orchestrator
|
|
description: >
|
|
GUARDiA ITSM 플랫폼 확장 오케스트레이터. 현재 81개 라우터에서 다음 5개 영역으로 확장한다:
|
|
(1) 클라우드·컨테이너 인프라 관리 (Kubernetes/Docker/NCloud),
|
|
(2) AI 플랫폼 고도화 (RAG 강화, 자율 워크플로우, 멀티모달),
|
|
(3) 멀티테넌트 SaaS 확장 (화이트라벨, 구독, 기관 온보딩),
|
|
(4) 엔터프라이즈 통합 (Jira/Slack/ServiceNow/ERP/SSO),
|
|
(5) 비즈니스 인텔리전스 (KPI 엔진, 예측 분석, 자동 보고서).
|
|
guardia-itsm 기존 패턴(FastAPI+SQLAlchemy+paramiko) 준수. 외부 API 완전 금지.
|
|
다음 상황에서 반드시 사용:
|
|
(1) 'GUARDiA 확장', '신규 기능 추가', '가디아 고도화';
|
|
(2) Kubernetes/Docker/컨테이너/클라우드 관리 기능;
|
|
(3) AI RAG/자율화/멀티모달 고도화;
|
|
(4) SaaS/화이트라벨/구독/온보딩 구현;
|
|
(5) Jira/Slack/ServiceNow/ERP/SSO 연동;
|
|
(6) KPI/BI 대시보드/예측 분석/자동 보고서;
|
|
(7) 다시 실행, 업데이트, 수정, 보완.
|
|
---
|
|
|
|
# GUARDiA 플랫폼 확장 오케스트레이터
|
|
|
|
**실행 모드:** 하이브리드
|
|
- Phase 1 (현황 분석): 서브 에이전트 (itsm-dev — 기존 코드베이스 분석)
|
|
- Phase 2~4 (구현): **에이전트 팀** (cloud-container-dev + ai-platform-dev + saas-platform-dev + enterprise-integrator + bi-analytics-dev)
|
|
- Phase 5 (QA): 서브 에이전트 (cross-system-qa)
|
|
|
|
---
|
|
|
|
## Phase 0: 컨텍스트 확인
|
|
|
|
```
|
|
_workspace/ 존재 여부:
|
|
- 없음 → 초기 구현 (Phase 1부터)
|
|
- 있음 + 특정 영역 요청 → 해당 에이전트만 재실행
|
|
예: "Jira 연동만 다시" → enterprise-integrator만 Phase 3 재실행
|
|
- 있음 + 전체 재구성 → _workspace/ → _workspace_prev/ 이동 후 전체 재실행
|
|
```
|
|
|
|
---
|
|
|
|
## Phase 1: 현황 분석 (서브 에이전트)
|
|
|
|
**itsm-dev** 서브 에이전트로 실행:
|
|
|
|
```
|
|
분석 항목:
|
|
1. workspace/guardia-itsm/routers/ 전체 파일 목록
|
|
2. 각 확장 영역과 기존 라우터 중복 분석
|
|
- cloud: ssh.py, infra_ext.py, scouter.py → 재사용 가능
|
|
- ai: anomaly.py, chatbot.py, kb_agent.py, autonomous.py → 확장 기반
|
|
- saas: tenant_mgmt.py, onboarding.py, license.py → 확장 기반
|
|
- integration: gateway.py, ldap.py, groupware.py → 확장 기반
|
|
- bi: analytics.py, finops.py, sla.py, report.py → 확장 기반
|
|
3. 확장 구현 시 사용할 공통 유틸 파악
|
|
4. DB 모델에서 재사용 가능한 테이블 파악
|
|
```
|
|
|
|
산출물: `_workspace/01_analysis_report.md`
|
|
|
|
---
|
|
|
|
## Phase 2: 5개 영역 병렬 설계 (에이전트 팀)
|
|
|
|
**팀 구성 (TeamCreate):**
|
|
- 리더: orchestrator
|
|
- 팀원: cloud-container-dev, ai-platform-dev, saas-platform-dev, enterprise-integrator, bi-analytics-dev
|
|
|
|
**작업 할당 (TaskCreate):**
|
|
|
|
| 에이전트 | 작업 | 산출물 |
|
|
|---------|------|--------|
|
|
| cloud-container-dev | kubernetes.py, docker_mgr.py, ncloud.py, container_alerts.py 설계 | `_workspace/02_cloud_spec.md` |
|
|
| ai-platform-dev | rag_engine.py, autonomous_workflow.py, ai_insights.py, multimodal.py, learning_loop.py 설계 | `_workspace/03_ai_spec.md` |
|
|
| saas-platform-dev | tenant_portal.py, white_label.py, subscription.py, billing.py, onboarding.py 설계 | `_workspace/04_saas_spec.md` |
|
|
| enterprise-integrator | jira_sync.py, slack_connector.py, servicenow.py, erp_connector.py, sso_provider.py, kakao_notify.py 설계 | `_workspace/05_integration_spec.md` |
|
|
| bi-analytics-dev | bi_dashboard.py, kpi_engine.py, predictive_ops.py, auto_report.py, benchmark.py 설계 | `_workspace/06_bi_spec.md` |
|
|
|
|
**팀원 간 인터페이스 조율 (SendMessage):**
|
|
- cloud → ai: 컨테이너 이상 이벤트 스키마
|
|
- ai → bi: 예측 모델 API 인터페이스
|
|
- saas → integration: SSO 연동 요청 스키마
|
|
- integration → bi: 외부 데이터 수집 API
|
|
|
|
---
|
|
|
|
## Phase 3: 구현 (에이전트 팀 계속)
|
|
|
|
### 구현 우선순위
|
|
|
|
**P1 (즉시 구현 — 고가치·저복잡도):**
|
|
```
|
|
1. ai/rag_engine.py — 기존 pgvector + Ollama, 즉각 효과
|
|
2. integration/jira_sync.py — 고객 요청 최다
|
|
3. bi/kpi_engine.py — 기존 analytics 기반 빠른 구현
|
|
4. saas/tenant_portal.py — 기존 tenant_mgmt 확장
|
|
```
|
|
|
|
**P2 (다음 스프린트 — 중간 복잡도):**
|
|
```
|
|
5. cloud/kubernetes.py — SSH 경유 kubectl, 에이전트리스 유지
|
|
6. ai/autonomous_workflow.py — 기존 autonomous.py 고도화
|
|
7. integration/sso_provider.py — SAML/OIDC
|
|
8. bi/predictive_ops.py — ML 모델 적용
|
|
```
|
|
|
|
**P3 (장기 — 고복잡도):**
|
|
```
|
|
9. saas/billing.py — 과금 시스템
|
|
10. integration/servicenow.py — 외부 ITSM 연동
|
|
11. ai/learning_loop.py — 파인튜닝 파이프라인
|
|
12. bi/benchmark.py — 멀티테넌트 비교 분석
|
|
```
|
|
|
|
### 구현 원칙 (모든 에이전트 공통)
|
|
|
|
```python
|
|
# 1. 라우터 등록 (workspace/guardia-itsm/main.py)
|
|
from routers import kubernetes, rag_engine, tenant_portal, jira_sync, kpi_engine
|
|
app.include_router(kubernetes.router, prefix="/api/k8s", tags=["Cloud"])
|
|
app.include_router(rag_engine.router, prefix="/api/rag", tags=["AI"])
|
|
|
|
# 2. 보안 — 모든 엔드포인트 JWT 필수
|
|
from core.auth import get_current_user
|
|
@router.get("/clusters")
|
|
async def list_clusters(user=Depends(get_current_user)):
|
|
...
|
|
|
|
# 3. 테넌트 격리 — 모든 쿼리에 tenant_id 적용
|
|
clusters = await db.execute(
|
|
select(K8sCluster).where(K8sCluster.tenant_id == user.tenant_id)
|
|
)
|
|
|
|
# 4. 에러 응답 — SR ID만 노출
|
|
raise HTTPException(500, detail=f"SR-{sr_id}: 서버 오류")
|
|
```
|
|
|
|
---
|
|
|
|
## Phase 4: DB 마이그레이션
|
|
|
|
각 에이전트가 생성한 신규 모델을 DB에 반영:
|
|
|
|
```python
|
|
# workspace/guardia-itsm/migrations/v3_expansion.py
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
def upgrade():
|
|
# Cloud
|
|
op.create_table('tb_k8s_cluster', ...)
|
|
op.create_table('tb_docker_service', ...)
|
|
# AI
|
|
op.create_table('tb_auto_workflow', ...)
|
|
op.create_table('tb_rag_feedback', ...)
|
|
# SaaS
|
|
op.create_table('tb_tenant_branding', ...)
|
|
op.create_table('tb_subscription', ...)
|
|
# Integration
|
|
op.create_table('tb_jira_sync', ...)
|
|
op.create_table('tb_connector_config', ...)
|
|
# BI
|
|
op.create_table('tb_kpi', ...)
|
|
op.create_table('tb_kpi_value', ...)
|
|
```
|
|
|
|
---
|
|
|
|
## Phase 5: QA (서브 에이전트)
|
|
|
|
**cross-system-qa** 서브 에이전트:
|
|
|
|
```
|
|
검증 항목:
|
|
1. 신규 라우터 임포트 오류 없음
|
|
2. JWT 인증 누락 엔드포인트 없음
|
|
3. 테넌트 격리 누락 쿼리 없음
|
|
4. 외부 API 호출 코드 없음 (온프레미스 원칙)
|
|
5. ServerOut 스키마에 민감 정보 노출 없음
|
|
6. 각 라우터의 /docs 표시 확인
|
|
```
|
|
|
|
---
|
|
|
|
## 데이터 흐름
|
|
|
|
```
|
|
_workspace/
|
|
├── 01_analysis_report.md ← itsm-dev (기존 코드 분석)
|
|
├── 02_cloud_spec.md ← cloud-container-dev
|
|
├── 03_ai_spec.md ← ai-platform-dev
|
|
├── 04_saas_spec.md ← saas-platform-dev
|
|
├── 05_integration_spec.md ← enterprise-integrator
|
|
├── 06_bi_spec.md ← bi-analytics-dev
|
|
└── 07_qa_report.md ← cross-system-qa
|
|
```
|
|
|
|
---
|
|
|
|
## 에러 핸들링
|
|
|
|
| 에러 | 처리 |
|
|
|------|------|
|
|
| 기존 라우터와 충돌 | Phase 1 분석 재실행, 접두사 변경 |
|
|
| DB 마이그레이션 실패 | 롤백 후 에러 보고 |
|
|
| 외부 API 호출 발견 | 즉시 중단, 온프레미스 대안 제시 |
|
|
| 테넌트 격리 누락 | QA에서 감지, 해당 에이전트 재호출 |
|
|
|
|
---
|
|
|
|
## 확장 로드맵
|
|
|
|
상세 로드맵은 `references/expansion-roadmap.md` 참조.
|
|
|
|
---
|
|
|
|
## 테스트 시나리오
|
|
|
|
**정상 흐름:**
|
|
1. "K8s 클러스터 관리 기능 추가해줘"
|
|
2. Phase 1: itsm-dev가 ssh.py, infra_ext.py 분석
|
|
3. Phase 2: cloud-container-dev가 kubernetes.py 설계
|
|
4. Phase 3: kubernetes.py 구현 + main.py 등록
|
|
5. Phase 5: QA — JWT 확인, 테넌트 격리 확인
|
|
6. "✅ Kubernetes 클러스터 관리 API 추가 완료"
|
|
|
|
**에러 흐름:**
|
|
- kubernetes.py에서 외부 K8s API 직접 호출 → QA 감지 → SSH 경유로 재구현
|
|
|
|
---
|
|
|
|
## should-trigger
|
|
|
|
- "가디아 확장해줘"
|
|
- "K8s 관리 기능 추가"
|
|
- "Jira 연동 구현"
|
|
- "KPI 대시보드 만들어줘"
|
|
- "화이트라벨 기능"
|
|
- "RAG 강화해줘"
|
|
- "구독 관리 시스템"
|
|
- "다시 실행", "수정", "보완"
|
|
|
|
## should-NOT-trigger
|
|
|
|
- "guardia-itsm SR 접수해줘" → guardia-orchestrator
|
|
- "ITSM UI 개편" → ui-overhaul-orchestrator
|
|
- "CI/CD 파이프라인" → cicd-pipeline-orchestrator
|
|
- "5개 시스템 배포 확인" → system-sync-orchestrator
|