zioinfo-mail/.claude/skills/guardia-fullstack-orchestrator/references/system-landscape.md
DESKTOP-TKLFCPR\ython 28d3ba4836 refactor(cleanup): commit folder reorganization - scripts/, _archive/, docs/ restructure
- Move backend/frontend/messenger/ old paths to _archive/
- Reorganize scripts into scripts/deploy, check, push, setup, misc
- Move docs (pptx, docx) to docs/
- Add .claude agents and skills for fullstack/folder-cleanup harness
- workspace/ projects remain intact

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 19:43:09 +09:00

162 lines
6.2 KiB
Markdown

# GUARDiA 시스템 랜드스케이프
## 4개 시스템 전체 맵
### 1. GUARDiA ITSM (중앙 허브)
```
경로: workspace/guardia-itsm/
URL: http://localhost:9001 / https://zioinfo.co.kr:8443 (OpenNet)
언어: Python 3.11 + FastAPI 0.115+
DB: SQLite (dev) / PostgreSQL 16 (prod)
LLM: Ollama localhost:11434 (codellama:7b, llama3:8b, nomic-embed-text)
```
**라우터 카테고리 (75개+)**
| 카테고리 | 라우터 | 설명 |
|---------|--------|------|
| 인증/권한 | auth, ldap, pam, otp | JWT, LDAP/AD, 특권접근, 2FA |
| SR 관리 | tasks, approvals, assign, batch | SR CRUD, 승인, 자동배정 |
| CMDB | cmdb, servers | 서버 자산, CI 관계 |
| AI | chatbot, code_review, anomaly, kb_agent, orchestrator, predictive | Ollama 연동 |
| 운영 | incidents, oncall, dr, network_devices | 인시던트, DR, 네트워크 |
| 보안 | audit, vuln_scan, siem, compliance, csap | 감사, 취약점, CSAP |
| 분석 | analytics, sla, metrics, finops, report | 대시보드, Grafana |
| 자동화 | rpa, scraping, autonomous, ssh | RPA봇, 스크래핑, SSH |
| SI 관리 | si_projects, si_wbs, si_requirements, si_issues 등 | SI 프로젝트 |
| 연동 | external_api, export_import, gateway, groupware | 외부 시스템 |
| 기관 | institutions, tenant_mgmt | 멀티테넌트 |
**핵심 API 엔드포인트**
```
POST /api/auth/login → JWT 발급
GET /api/tasks → SR 목록
POST /api/tasks → SR 생성
GET /api/dashboard → 대시보드 통계
GET /api/cmdb/servers → 서버 자산
POST /api/rpa/execute → RPA 실행
GET /api/scraping/stats → 스크래핑 통계
POST /api/autonomous/approve/{id} → 자율처리 승인
WS /ws/notifications → 실시간 알림
```
---
### 2. zioinfo-web (홈페이지)
```
경로: workspace/zioinfo-web/
URL: http://localhost:8082 / https://zioinfo.co.kr:8082
언어: Java 17 + Spring Boot 3.2.5
DB: SQLite (dev) / MySQL (prod)
빌드: mvn clean package -DskipTests → target/zioinfo-web-1.0.0.jar
배포: /opt/zioinfo/app/app.jar → systemctl restart zioinfo
```
**DB 엔티티 현황**
| 엔티티 | 테이블 | 공개 API | 관리자 API |
|--------|--------|---------|-----------|
| News | tb_news | GET /api/news | /api/admin/news |
| Recruit | tb_recruit | GET /api/recruit | /api/admin/recruit |
| Inquiry | tb_inquiry | POST /api/inquiry | /api/admin/inquiries |
| CompanyHistory | tb_company_history | GET /api/history | /api/admin/history |
| Member | tb_member | - | /api/admin/members |
**프론트엔드 페이지 (React 18/Vite)**
공개: Home, Company, Business, SolutionPage, GuardiaDetail, NewsPage, Recruit, Contact, Support
관리자: AdminDashboard, AdminNews, AdminRecruit, AdminInquiry, AdminHistory, AdminSettings, AdminMember
---
### 3. GUARDiA Manager (관리자 포털)
```
경로: workspace/guardia-manager/
URL: http://localhost:8090 (Nginx 서브)
백엔드: Python FastAPI 포트 8002
프론트: React 18 TypeScript + Vite → /var/www/manager/
인증: ITSM JWT 재사용 (별도 DB 없음)
```
**백엔드 라우터 (4개)**
| 라우터 | 접두사 | 역할 |
|--------|--------|------|
| system.py | /api/system | 서버 상태(psutil), 서비스 제어(systemctl) |
| deploy.py | /api/deploy | 배포 트리거, 이력 |
| config.py | /api/config | .env 편집, Nginx 리로드 |
| llm.py | /api/llm | Ollama 상태·모델 관리 |
**관리 서비스 목록** (ALLOWED_SVCS):
nginx, zioinfo, zioinfo-deploy, guardia, guardia-manager, gitea, jenkins, postgresql, ollama
---
### 4. GUARDiA Messenger (모바일 앱)
```
경로: workspace/guardia-messenger/
플랫폼: Android (APK) / iOS
빌드: EAS Build (eas build --platform android)
계정: EAS zioinfo / 프로젝트 ID ca2f72d6-7dda-4491-9590-7ace34b10a88
패키지: kr.co.zioinfo.guardia
```
**화면 목록 (9개)**
| 화면 | 경로 | ITSM API |
|------|------|---------|
| 로그인 | (auth)/login.tsx | POST /api/auth/login |
| 대시보드 | (tabs)/index.tsx | GET /api/dashboard |
| SR 관리 | (tabs)/sr.tsx | GET/POST /api/tasks |
| AI 챗봇 | (tabs)/chat.tsx | POST /api/chatbot/message (Ollama) |
| 알림 | (tabs)/notifications.tsx | WS /ws/notifications |
| 설정 | (tabs)/settings.tsx | GET /api/auth/me |
| DR 상태 | (tabs)/dr.tsx | GET /api/dr/status |
| 네트워크 | (tabs)/network.tsx | GET /api/network_devices |
---
## 시스템 간 API 의존 관계
```
┌─────────────────────────┐
│ GUARDiA ITSM (허브) │
│ localhost:9001 │
│ :8443 (OpenNet) │
└───────────┬─────────────┘
┌──────────────────────┼──────────────────────┐
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────┐
│ GUARDiA Manager │ │ Messenger (EAS) │ │ zioinfo-web (홈페이지)│
│ :8002/:8090 │ │ Android/iOS │ │ :8082 │
│ JWT 재사용 │ │ SecureStore JWT │ │ 독립 (연락처만) │
└─────────────────┘ └─────────────────┘ └─────────────────────┘
```
## 공유 인프라
| 서비스 | 포트 | 역할 |
|--------|------|------|
| Nginx | 443/8443/8082/8090/8080 | SSL 역방향 프록시 |
| PostgreSQL 16 | 5432 | ITSM 운영 DB |
| Ollama | 11434 | 온프레미스 LLM |
| Gitea | 3000/9003 | Git 저장소 |
| Jenkins | 8080/9080 | CI/CD |
| Deploy Webhook | 9999 | 자동 배포 트리거 |
## 배포 서버 정보
서버 IP: 101.79.17.164
서비스 경로:
- ITSM: `/opt/guardia/app/`
- 홈페이지: `/opt/zioinfo/app/`
- Manager: `/var/www/manager/`
- Docs: `/var/www/docs/`