-
Notifications
You must be signed in to change notification settings - Fork 0
component edge agent
minsoo edited this page Jun 9, 2026
·
4 revisions
이 문서의
Edge Agent는 독립 배포 서비스 이름이 아니라 edge data-plane 계층을 설명하는 개념어다. 실제 운영 컴포넌트는factory-a-log-adapter,snapshot-uploader,dummy generator,edge-iot-publisher로 분리된다.
Factory A
Safe-Edge workloads / InfluxDB / K3s API / snapshot files
-> factory-a-log-adapter 또는 snapshot-uploader
-> canonical JSON
-> outbox
Factory B/C
worker VM local dummy generator
-> canonical JSON
-> worker-local hostPath outbox
공통
edge-iot-publisher
-> MQTT/TLS
-> AWS IoT Core
-> S3 raw / Lambda data-processor
따라서 Edge Agent라는 이름을 Pod, Deployment, image 이름으로 해석하면 안 된다. apps/edge-agent/edge_agent.py에는 간단한 HTTP health 응답 구현이 남아 있지만, 현재 IoT data-plane의 source of truth 컴포넌트는 아니다.
| 역할 | Factory A | Factory B/C |
|---|---|---|
| sensor/AI 집계 | factory-a-log-adapter |
dummy generator |
| infra 상태 생성 | factory-a-log-adapter |
dummy generator |
| image metadata 생성 | snapshot-uploader |
표준 생성 대상 아님 |
| outbox 저장 | Longhorn PVC | worker hostPath |
| MQTT publish | edge-iot-publisher |
edge-iot-publisher |
경계 원칙:
- adapter/generator/uploader는 outbox에 JSON 파일을 쓴다.
- publisher는 outbox JSON을 읽고 publish한다.
- adapter/generator/uploader는 MQTT 인증서, endpoint, TLS publish를 다루지 않는다.
- publisher는 센서, InfluxDB, Kubernetes workload 조회, dummy profile 생성 로직을 알지 않는다.
현재 코드 기준 source type:
factory_state
infra_state
image_snapshot
factory_state와 infra_state는 Factory A/B/C에서 공통 계약으로 처리된다. image_snapshot은 Factory A의 Safe-Edge snapshot metadata event이며, 이미지 바이너리를 IoT Core로 보내는 경로가 아니다.
| Factory | 데이터 생성 | 실행 위치 | publisher |
|---|---|---|---|
factory-a |
InfluxDB/K3s API 집계, snapshot metadata | K3s ai-apps namespace |
K3s Pod |
factory-b |
stable-lab synthetic data | worker VM systemd | K3s Pod, hostPath outbox |
factory-c |
noisy-vm synthetic data | worker VM systemd | K3s Pod, hostPath outbox |
Factory B/C dummy data는 실제 현장 데이터가 아니라 pipeline/risk/dashboard 검증용 synthetic data다.
공통 publisher는 X.509 인증서 기반 TLS로 IoT Core에 연결한다.
K3s Secret: aws-iot-factory-a-cert
K3s Secret: aws-iot-factory-b-cert
K3s Secret: aws-iot-factory-c-cert
publisher 환경변수:
AEGIS_IOT_ENDPOINT
AEGIS_IOT_PORT
AEGIS_IOT_CLIENT_ID
AEGIS_IOT_CA_FILE
AEGIS_IOT_CERT_FILE
AEGIS_IOT_KEY_FILE
AEGIS_OUTBOX_DIR
문서에서 Edge Agent라고 쓸 때는 아래 중 하나로 풀어쓴다.
| 피해야 할 표현 | 권장 표현 |
|---|---|
| Edge Agent가 publish한다 |
edge-iot-publisher가 publish한다 |
| Edge Agent가 센서를 수집한다 | Factory A는 factory-a-log-adapter가 InfluxDB/K3s를 집계한다 |
| Edge Agent가 dummy를 만든다 | Factory B/C는 worker VM dummy generator가 만든다 |
| Edge Agent 메시지 | edge data-plane canonical JSON |
관련 문서
- 시스템 아키텍처
- 제어 & 데이터 플레인
- 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 채팅 어시스턴트