service

메인 인덱스 | Shield4U | GitHub

이 문서는 service 레포의 핵심 정보와 포트폴리오 메모를 한 파일로 정리한 노트입니다.

레포지토리 정보

  • Name: service (메인/오케스트레이션 레포지토리)
  • Primary Purpose: Shield4U를 위한 Docker Compose 오케스트레이션, 배포 스크립트 및 인프라 구성
  • Part of: Hackerspace-Shield4U 마이크로서비스 아키텍처

주요 목적

전체 Shield4U 취약점 평가 플랫폼을 오케스트레이션하는 메인 인프라 레포지토리입니다. 모든 마이크로서비스를 위한 Docker Compose 구성, 배포 스크립트, 테스트 스위트 및 문서를 포함합니다. 배포 및 운영 허브 역할을 합니다.

주요 기술 스택

  • Orchestration: Docker Compose
  • Deployment: Bash 스크립트 (Ubuntu 배포)
  • Testing: Python 테스트 스위트, YAML 테스트 구성
  • Documentation: Markdown (여러)
  • Database: MariaDB 10.9
  • Services: 6개 이상의 마이크로서비스 조정

코드베이스 내용

  • Configuration: docker-compose.yml (154줄)
  • Deployment: deploy_ubuntu.sh, 테스트 스크립트
  • Documentation: 여러 Markdown 문서
  • Testing: 통합 테스트, 파이프라인 테스트, 디버그 스크립트
  • Templates: 샘플 YAML 구성

문서 파일

  1. README.md (345줄) - 여러 시스템 문서
  2. API_DOCUMENTATION.md - API 레퍼런스
  3. SERVER_DEPLOYMENT.md - 서버 배포 가이드
  4. IMPLEMENTATION_SUMMARY.md - 구현 세부사항
  5. INTEGRATION_SUMMARY.md - 통합 가이드
  6. DUPLICATE_URL_FIX_SUMMARY.md - 버그 수정 문서
  7. CLAUDE.md - AI 어시스턴트 컨텍스트
  8. concepts.md - 아키텍처 개념

포트폴리오 메모

이 레포에는 전체 서비스를 한 번에 띄우는 compose 파일과 배포 스크립트, 통합 테스트 스크립트가 함께 들어 있습니다. 그래서 Shield4U를 개별 코드보다 실제 실행 흐름과 운영 구조 기준으로 설명할 때 이 문서를 운영 허브로 볼 수 있습니다.

분석할 주요 파일 (진입점)

  1. docker-compose.yml - 완전한 마이크로서비스 오케스트레이션 (154줄)
  2. README.md - 여러 시스템 문서 (345줄)
  3. deploy_ubuntu.sh - 프로덕션 배포 스크립트
  4. API_DOCUMENTATION.md - API 엔드포인트 문서
  5. SERVER_DEPLOYMENT.md - 인프라 배포 가이드
  6. test_integration.py - 통합 테스트 스위트
  7. test_complete_pipeline.py - 엔드투엔드 파이프라인 테스트
  8. .env.template - 환경 구성 템플릿
  9. IMPLEMENTATION_SUMMARY.md - 기술 구현 세부사항

레포지토리 컨텍스트

  • Role: 인프라 오케스트레이션 및 배포
  • Dependencies: 모든 다른 서비스 레포지토리 (Docker 컨텍스트 경로를 통해)
  • Purpose: 프로덕션 배포 및 운영
  • Features: 상태 확인, 재시작 정책, 볼륨 관리

플랫폼 아키텍처

┌─────────────────────────────────────────────────────┐
│                   Shield4U Platform                  │
├─────────────────────────────────────────────────────┤
│  Controller (Port 8080)                              │
│  ├── API: /api/v1/scans, /api/v1/reports            │
│  ├── UI: Dashboard, Progress, Reports               │
│  └── Swagger: /api/docs/                            │
├─────────────────────────────────────────────────────┤
│  Crawler (Port 5001) → 수집 서비스                  │
│  Scanner (Port 5002) → Nuclei                       │
│  LLM-Analysis (Port 5003) → OpenAI GPT-4            │
│  LLM-Report (Port 5004) → OpenAI GPT-4              │
├─────────────────────────────────────────────────────┤
│  Database (Port 3306) → MariaDB                     │
└─────────────────────────────────────────────────────┘

참고사항

  • Docker Compose로 각 서비스를 어떻게 묶었는지 확인할 수 있습니다.
  • 배포 스크립트와 통합 테스트 스크립트가 함께 보입니다.
  • 코드 중심 문서라기보다 운영 허브 문서로 읽는 편이 맞습니다.