-
Notifications
You must be signed in to change notification settings - Fork 0
adr index
JJong-03 edited this page Jun 18, 2026
·
7 revisions
기준일: 2026-06-14
근거: docs/changes/README.md, docs/changes/*.md
이 문서는 Aegis-Pi의 모든 아키텍처 결정 기록(ADR/change)을 한 곳에 모은 인덱스다. 초기 계획과
실제 구현·운영이 달라진 결정을 추적하며, 각 항목은 docs/changes/의 결정 문서에 대응한다.
식별 규칙: ADR 번호는 두 원본 저장소(Edge/Hub, Data/Dashboard)에서 중복될 수 있다. 번호 단독으로 식별하지 않고 파일명(주제 slug)으로 식별한다. 아래 표의 "충돌"은 같은 번호가 두 저장소에 존재함을 뜻한다.
평가·발표에서 비중이 큰 결정은 위키 개별 페이지로 정리했다. 나머지 ADR은 개별 페이지를 만들지 않고 이 인덱스에서 추적한다.
| Wiki 페이지 | 주제 | 상태 |
|---|---|---|
| K3s vs Greengrass | Edge 런타임 선택 | accepted |
| Foundation / Hub 분리 | 영속 리소스와 Hub 생명주기 분리 | accepted |
| IoT Core 채택 | Edge → Cloud 수신 진입점 | accepted |
| Dashboard VPC 독립 설계 | Data/Dashboard VPC 분리 | accepted |
| AI Snapshot: PVC→hostPath | 0001 | accepted |
| Failback: K8s CronJob→OS Cron | 0002 | accepted |
| DynamoDB foundation 이관 | 0021 (Edge) | accepted |
| ECS Fargate Backend | 0012 (Dashboard API 런타임) | accepted |
| 메타데이터 RDS PostgreSQL | 0017 (0013 supersede) | accepted |
| WebSocket + DynamoDB Streams | 0015 (실시간 푸시) | accepted |
| Bedrock 일간 보고서 | 0016 (LLM 보고서) | accepted |
| Multi-resolution History | 0025 (이력 계층화) | accepted |
| DynamoDB Key Model | 0026 (단일 테이블 키 모델) | accepted |
| Cognito 인증 | 0008 (관리자 전용 인증) | accepted |
| Dashboard RBAC | 0031 (역할·공장 접근 제어) | accepted |
| Edge AI: YOLOv8n | 0024 (Edge, OpenCV ML→YOLOv8n) | accepted |
| IoT Fleet: Persistent MQTT | 0032 (상시 MQTT 연결성) | accepted |
| 시스템 아키텍처 | 0035 (아키텍처 overview 다이어그램 최종화) | accepted |
docs/changes/의 전체 결정 기록이다. 위 개별 페이지가 있는 항목은 링크를 함께 표기했다.
| 번호 | 주제 | 상태 | Wiki |
|---|---|---|---|
| 0001 | AI Snapshot 저장: Longhorn PVC → node hostPath | accepted | page |
| 0002 | Failback: Kubernetes CronJob → Master OS Cron | accepted | page |
| 0003 | NFS Cold Storage / Hot-Cold tiering 보류 | accepted | — |
| 0004 | GitOps source: Local repo → GitHub + ArgoCD UI sync | accepted | — |
| 0018 | IoT Topic Rule을 factory-c까지 확장 | accepted | — |
| 0019 | factory-c 토폴로지: single-node → master+worker | accepted | — |
| 0020 (충돌) | Hub-only rebuild·spoke 재등록·dummy generator 운영 | accepted | — |
| 0021 (충돌) | DynamoDB를 data-pipeline → foundation 이관 | accepted | page |
| 0022 (충돌) | DataProcessor freshness refresh (1분 stale 갱신) | accepted | — |
| 0023 (충돌) | Cloud alert noise 감소 + Hub 데이터 연속성 | accepted | — |
| 0024 (충돌) | Edge AI: OpenCV ML → YOLOv8n | accepted | page |
| 0032 | IoT Fleet 연결성: persistent MQTT | accepted | page |
| 번호 | 주제 | 상태 | Wiki |
|---|---|---|---|
| 0005 | 워크스트림 분리 (Control/Management vs Data/Dashboard) | accepted | — |
| 0006 | Frontend: Vite + React 정적 SPA + S3/CloudFront | accepted | — |
| 0007 | Dashboard API 런타임 Lambda+API GW | superseded (Dashboard API 부분, by 0012) | — |
| 0008 | 인증: Cognito User Pool (관리자 전용) | accepted | page |
| 0009 | S3 단일 bucket + prefix 분리 | accepted | — |
| 0010 | Dashboard 도메인 분리 (Admin UI와 별도) | accepted | — |
| 0011 | Data/Dashboard VPC NAT Gateway 제거 | superseded (by 0012) | — |
| 0012 | Dashboard Backend 런타임: ECS Fargate | accepted | page |
| 0013 | 메타데이터: Aurora Serverless v2 | superseded (by 0017) | — |
| 0014 | 실시간 캐시 + Pub/Sub: ElastiCache Redis | accepted | — |
| 0015 | 실시간 푸시: WebSocket + DynamoDB Streams | accepted | page |
| 0016 | LLM 일간 보고서: Amazon Bedrock | accepted | page |
| 0017 | 메타데이터: RDS PostgreSQL | accepted | page |
| 0020 (충돌) | data-processor 계약 정렬 | accepted | — |
| 0021 (충돌) | Lambda data processor IoT Rule 트리거 | accepted | — |
| 0022 (충돌) | 공식 factory-status table 사용 | accepted | — |
| 0023 (충돌) | GitHub OIDC web deploy role | accepted | — |
| 0024 (충돌) | data-dashboard permanent 리소스 분리 | accepted | — |
| 0025 | Multi-resolution History Storage | accepted | page |
| 0026 | DynamoDB Key Model | 운영 확인 기준 | page |
| 0027 | Cloud Infra Metrics Collector | accepted | — |
| 0028 | Dashboard staleness 임계값 정렬 | accepted | — |
| 0029 | Dashboard reports S3 read path | accepted | — |
| 0030 | ECS backend right-sizing + autoscaling | accepted | — |
| 0031 | Dashboard RBAC 사용자 관리 | accepted | page |
| 0033 | 챗봇 QA: 규칙 fallback + Bedrock explain | accepted | — |
| 0034 | 챗봇 LLM 라우팅 (Resolve tool-use) | implemented, ADR status cleanup pending | — |
| 0035 | 아키텍처 overview 다이어그램 최종화 | accepted | — |
- 번호 충돌(0020~0024)은 최종 namespace/renumbering 결정 전까지 파일명으로만 식별한다.
- 원본 저장소 라벨이 함께 남은 통합 초안 결정 문서는 후속 세션에서 최종 문장으로 정리한다.
- 시스템 아키텍처
- 제어 & 데이터 플레인
- Dashboard VPC 설계
- 하드웨어 배치
- Hub EKS 네임스페이스
- Tailscale Mesh VPN
- 데이터 생명주기
- 데이터 조회 모델
- 실시간 갱신 구조
- IoT 데이터 계약
- Reporting Pipeline
- 로컬 스토리지
- 클라우드 스토리지
- Edge Agent
- Edge AI 탐지
- Factory-A Log Adapter
- Dummy Sensor
- Edge IoT Publisher
- Lambda Data Processor
- Risk Normalizer
- Risk Score Engine
- Pipeline Status Aggregator
- Graph Aggregator 5m
- Cloud Infra Collector
- Daily Report Generator
- Risk Alert Dispatcher
- Image Snapshot Pipeline
- Dashboard Backend
- Dashboard Web
- AI 채팅 어시스턴트