Skip to content

project current status

JJong-03 edited this page Jun 17, 2026 · 5 revisions

현재 구현 상태

기준일: 2026-06-14
통합 상태: 워크스트림 A·B 코드·문서를 단일 repo로 통합 완료(2026-06-10 merge, 코드 충돌 0·앱별 테스트 통과). 이후 Hub 재생성/Admin UI/factory-b 등록 이력이 추가됐으며, Dashboard/Data/Reporting 전체 end-to-end smoke test는 실환경 기준 별도 검증 대기

Factory A

항목 상태 내용
Safe-Edge K3s 배포 검증 완료 Raspberry Pi 3-node K3s, Longhorn, MetalLB, Grafana, InfluxDB 기반 운영형 Spoke
데이터 생산 구현 완료 factory-a-log-adapter가 InfluxDB/Kubernetes 상태를 canonical JSON으로 변환
송신 경로 구현 완료 Longhorn PVC outbox와 edge-iot-publisher Pod를 통해 AWS IoT Core로 MQTT 송신
Image snapshot 구현 완료 snapshot-uploader가 presigned URL을 받아 S3 image_snapshot/에 binary를 업로드하고 metadata event를 남김
통합본 검증 대기 이 저장소 기준 재배포와 end-to-end smoke test는 별도 실행 필요

Factory B/C

항목 상태 내용
Spoke 유형 배포 검증 완료 이력 있음 Factory B는 Mac mini VM, Factory C는 Windows VM 테스트베드 Spoke
데이터 생산 구현 완료 VM 로컬 dummy generator가 /var/lib/aegis/outbox에 canonical JSON 작성
송신 경로 구현 완료 K3s edge-iot-publisher가 hostPath outbox를 읽어 IoT Core로 송신
운영 기준 구현 완료 local dummy publisher systemd는 표준 경로가 아니며 smoke/legacy 용도로만 남김
통합본 검증 대기 Hub 재등록, publisher 안전성 점검, S3 raw 적재 smoke test는 별도 실행 필요

Hub

항목 상태 내용
Control / Management VPC 구현 완료 infra/hub가 VPC, public/private subnet, EKS Hub, IRSA를 관리
NAT Gateway 구현 완료 단일 NAT Gateway. 두 AZ private route가 같은 NAT를 공유
EKS Hub 배포 검증 완료 이력 있음 Hub rebuild, ArgoCD, Grafana, AWS Load Balancer Controller 검증 기록 있음
Tailscale / ArgoCD 구현 완료 및 일부 재검증 완료 Hub ArgoCD가 Tailscale 경유로 Factory K3s API에 접근. Phase 8 이후 factory-b register/sync 이력 있음
AMP / Prometheus Agent retired 과거 검증 이력은 있으나 active 기본 구성으로 표현하지 않음

Data Pipeline

항목 상태 내용
IoT Rule 구현 완료 factory별 topic을 S3 raw/와 DataProcessor Lambda로 연결
DataProcessor 구현 완료 및 테스트 통과 canonical JSON 정규화, Risk 계산, DynamoDB/S3 processed 저장
DynamoDB key model 구현 완료 FACTORY#.../LATEST, HISTORY#STATE#..., GRAPH#5M#..., CLOUD#infra, ALERT#... 사용
TTL 구현 완료 GRAPH#5M 48h, HISTORY#STATE 목표 2h(마지막 문서화된 운영값 48h), LATEST TTL 없음
DataProcessorRefresh1m 구현 완료 입력이 끊긴 factory의 LATEST, HISTORY#STATE, S3 state_snapshot 갱신
GraphAggregator5m 구현 완료 및 테스트 통과 HISTORY#STATE를 5분 단위로 집계해 GRAPH#5M과 S3 processed_agg/ 저장
RiskAlertDispatcher 구현 완료 및 테스트 통과 S3 processed snapshot 기반 alert, DynamoDB dedupe/cooldown, Slack routing
SnapshotPresigner 구현 완료 및 테스트 통과 image snapshot upload용 presigned URL HTTP API

Dashboard

항목 상태 내용
Frontend 구현 완료 React/Vite SPA. 메뉴는 Fleet Overview, Factory Detail, Cloud Infra, Image Snapshots, AI Chat, Daily Reports, User Management
Backend API 구현 완료 ECS Fargate FastAPI. DynamoDB/S3/RDS/Redis/Cognito와 연동
Auth 구현 완료 Cognito Hosted UI와 JWT 기반 접근
WebSocket 구현 완료 DynamoDB Streams -> Lambda notifier -> Redis -> backend WebSocket push
RDS 구현 완료 단일 PostgreSQL 인스턴스, 2AZ subnet group, multi_az=false
통합본 테스트 통과 2026-06-10 통합 기준 dashboard-backend pytest 223개, dashboard-web lint/test 84개/build 통과. 실환경 smoke test는 별도

Reporting

항목 상태 내용
Step Functions 구현 완료 PrepareReportWindow 후 target별 Map. factory와 cloud_infra 분기를 처리
Lambda 수 구현 완료 7개: PrepareReportWindow, AggregateFactoryHour, MergeFactoryDaily, GenerateFactoryReport, AggregateCloudInfraHour, MergeCloudInfraDaily, GenerateCloudInfraReport
Bedrock 모델 구현 완료 코드와 Terraform 기본값은 anthropic.claude-3-sonnet-20240229-v1:0. 실제 배포값은 환경 변수로 구분 필요
출력 구현 완료 S3 reports/daily/에 일일 보고서 저장. Dashboard에서 조회 및 DOCX 내보내기
배포 검증 배포 검증 완료 이력 있음(범위 제한) 과거 운영 문서에 factory-b Bedrock 실호출, Step Functions 수동 실행, S3 산출물 검증 기록 있음. factory-a/c와 통합본 전체 target 실행은 별도

Cloud Infra, Alert, Snapshot

항목 상태 내용
CloudInfra Fast collector 구현 완료 ECS/ALB/RDS/Redis/CloudFront/DLQ 등 빠른 상태를 CLOUD#infra/LATEST.fast와 history에 저장
CloudInfra Slow collector 구현 완료 EKS/Kubernetes/ArgoCD/S3 freshness 등 느린 지표를 CLOUD#infra/LATEST.slow와 history에 저장. OpenSearch는 후속/목표 범위
Alerting 구현 완료 RiskAlertDispatcher가 danger/critical, collector error, ALB unhealthy 등 alert state를 관리
Snapshot 구현 완료 image binary는 IoT Core를 통과하지 않고 S3로 업로드. MQTT에는 metadata event만 전달
WAF 계획/선택 구성 현재 infra/data-dashboard* Terraform에서 WAF 리소스는 확인되지 않음

테스트 통과 항목

Phase 8 기록 기준 다음 앱 테스트가 통과했다.

명령 결과
python -m pytest -q apps/data-processor 29 passed
python -m pytest -q apps/cloud-infra-collector 16 passed
python -m pytest -q apps/graph-metrics-aggregator 10 passed
python -m pytest -q apps/risk-alert-dispatcher 29 passed
python -m pytest -q apps/snapshot-presigner 7 passed
python -m pytest -q apps/daily-report-generator 15 passed
dashboard-backend pytest 223 passed
dashboard-web lint/test/build lint 통과, 84 passed, build 통과

주의: 모든 앱 test path를 한 번에 실행하면 tests package import collision이 발생한다. 앱별로 나누어 실행하는 방식을 기준으로 한다.

통합본에서 남은 실환경 검증

영역 상태 사유
Dashboard HTTP/API smoke 부분 이력 있음, 통합본 검증 대기 Phase 8 이후 Admin UI/ALB/Route53/healthy target 검증 이력이 있으나 Dashboard 기능별 API smoke는 별도 확인 필요
IoT -> S3/DynamoDB/Dashboard end-to-end 통합본 검증 대기 실환경 publish smoke test 미실행
Daily report generation/export smoke 통합본 검증 대기 통합본 기준 Step Functions 실행 미실행
CloudInfra Fast/Slow live snapshot 통합본 검증 대기 실환경 collector smoke test 미실행
Snapshot presigner upload smoke 통합본 검증 대기 실환경 upload/API smoke test 미실행

Terraform 검증 상태

항목 상태 내용
terraform fmt -check 통과 foundation, hub, data-pipeline, reporting, data-dashboard, data-dashboard-permanent, data-dashboard-dns
backend-free init 통과 이력 있음 provider/module registry 접근 승인 후 체크된 root에서 성공
terraform validate 부분 재검증 이력 있음 Phase 8에서는 provider plugin schema loading/handshake 문제로 미완료였고, 이후 일부 root는 backend access 기반 검증/plan 이력이 추가됨. 환경을 고정해 재확인 필요
terraform state list 일부 완료 이력 있음 Phase 8 이후 Foundation/Hub/Data-Pipeline/Reporting state ownership 확인 이력이 추가됨. 추가 apply/import/destroy 전 재확인 필요
apply/destroy/import 일부 완료 이력 있음 Phase 8 이후 Hub destroy/rebuild 이력 있음. 추가 destructive 작업은 별도 승인과 보존 정책 재확인 필요

다음 우선순위

  1. Terraform provider가 정상 동작하는 환경에서 남은 root의 terraform validate와 read-only plan을 재확인한다.
  2. backend/state ownership을 재확인한 뒤에만 추가 AWS/K3s smoke test 또는 destructive 작업을 실행한다.
  3. Dashboard/API/IoT/report/snapshot 실환경 smoke test를 실행한다.
  4. 대표 이미지의 편집 가능한 원본을 확보하거나 새 원본을 관리 대상으로 만들고, 본 문서의 보정 항목을 이미지에 반영한다.
  5. ADR 번호 충돌과 source-labeled Markdown 초안을 후속 Wiki 세션에서 최종 문장으로 정리한다.

공개 문서 작성 기준

실제 endpoint, 계정 번호, Tailnet IP, secret, token, certificate 원문은 공개 Wiki에 싣지 않는다. Safety Score는 높을수록 안전한 값으로 설명하고, 확인할 수 없는 AWS 현재 상태는 운영 이력 또는 검증 대기로 분리한다.

Aegis-Pi Wiki

· 대표 문서 목록은 홈의 문서 탐색 표 참조

시작하기

요구사항

핵심 개념

아키텍처

컴포넌트 (Edge → Cloud → Dashboard)

Dashboard & 운영

시나리오 · 사례 · 참조

Clone this wiki locally