Skip to content

reference runtime config

minsoo edited this page Jun 9, 2026 · 4 revisions

참조 — runtime-config.yaml

기준일: 2026-06-09

configs/runtime/runtime-config.yaml은 원본 Aegis-Pi/Dashboard 설계에서 사용한 런타임 설정 초안이다. 현재 통합본에는 이 파일이 없으며, Lambda DataProcessor와 Terraform 배포 값은 이 YAML을 자동으로 읽지 않는다.

파일 존재 여부

위치 존재 여부 현재 의미
merge/configs/runtime/runtime-config.yaml 없음 통합본 런타임 입력이 아님
원본 Edge 저장소 (통합 전) 있음 원본 Aegis-Pi 기준 최신 참조 초안
원본 Dashboard 저장소 (통합 전) 있음 Dashboard 원본에 복사된 더 오래된 참조 초안

따라서 Wiki에서 runtime-config 값을 설명할 때는 “현재 Lambda에 연결된 설정”이 아니라 “원본 참조 설정”으로 표현한다.

현재 실제 설정 경로

영역 실제 기준
Safety Score 가중치/threshold apps/data-processor/processor/risk.py의 코드 상수
HISTORY TTL Terraform dynamodb_history_ttl_hours, Lambda env HISTORY_TTL_HOURS, 기본 2h
GRAPH TTL Terraform graph_bucket_ttl_hours, Lambda env GRAPH_TTL_HOURS, 기본 48h
Factory freshness refresh 대상 Terraform data_processor_factory_ids, 기본 factory-a,factory-b,factory-c
CloudInfra fast/slow TTL Terraform cloud_infra_fast_history_ttl_hours=6, cloud_infra_slow_history_ttl_hours=24
Snapshot presigner token Terraform snapshot_presigner_shared_token, 기본 empty로 token auth 비활성화
Slack webhook Secrets Manager 또는 SSM SecureString 이름/ARN. 실제 URL 값은 문서화하지 않음
Dashboard backend ECS task environment와 Secrets Manager secret injection
Reporting infra/reporting/variables.tf와 Lambda env. Bedrock 기본값은 Claude 3 Sonnet

원본 YAML의 구조

원본 Edge 저장소의 runtime-config.yaml 최상위 구조는 다음과 같다.

metadata:
  schema_version: 0.1.0
  owner: aegis-pi
  status: draft
  updated_at: "2026-05-20"

global:
  risk_score: {}
  fields: {}
  telemetry: {}
  dummy_data_defaults: {}

factories:
  factory-a: {}
  factory-b: {}
  factory-c: {}

원본 Dashboard 저장소의 사본은 updated_at: "2026-05-06"이고 Factory B/C 상태가 planned로 남아 있다. 현재 Wiki의 Factory B/C 설명은 이 오래된 사본이 아니라 이 저장소와 운영 이력을 기준으로 한다.

원본 YAML의 Risk 기준

원본 YAML은 높은 점수가 안전한 Safety Score라는 방향은 현재 코드와 같다.

항목 원본 YAML
총점 100
Safe 85-100
Warning 50-84
Danger 0-49
방향 높을수록 안전

하지만 현재 Lambda DataProcessor가 사용하는 가중치는 YAML과 다르다.

필드 원본 YAML weight 현재 processor/risk.py weight 현재 연결 상태
temperature 15 10 코드 상수
humidity 10 5 코드 상수
pressure 없음 5 코드 상수
ai_event_rate 10 15 코드 상수
node_status 20 20 코드 상수
pod_health 15 15 코드 상수
device_availability 없음 10 코드 상수
data_freshness 15 10 코드 상수
storage_pressure 10 5 코드 상수
network_reachability 5 5 코드 상수

현재 risk 계산은 factory별 YAML override를 읽지 않는다. Factory C의 network_reachability/storage_pressure override는 참조 설정으로만 남아 있다.

Factory 프로파일 해석

Factory 원본 YAML 의미 현재 Wiki 해석
Factory A production-edge, physical Raspberry Pi, dummy disabled active 운영형 Spoke. InfluxDB/K8s 상태를 adapter가 변환
Factory B testbed, Mac mini VM, dummy enabled active testbed 이력. 실제 공장 데이터가 아니라 synthetic canonical event
Factory C testbed, Windows VM, dummy enabled active testbed 이력. 실제 공장 데이터가 아니라 synthetic canonical event

Factory B/C를 실제 공장 생산 데이터로 설명하지 않는다.

Telemetry 값과 민감정보 경계

원본 YAML에는 region, S3 bucket, IoT topic root, AMP alias 같은 식별자가 들어 있다 (통합 전 참조값). 현재 문서에서는 다음 원칙을 적용한다.

항목 문서화 기준
AWS region 예시/기본값 수준으로 표기 가능
S3 bucket/prefix 공개된 코드 기본값과 prefix family만 표기
IoT topic root topic pattern만 표기
endpoint, 계정 번호, Tailnet IP 공개 Wiki에 기록하지 않음
webhook URL, token, certificate, private key 값 원문을 기록하지 않음
AMP alias retired 이력 또는 원본 참조 값으로만 취급

Lambda 미연결 제한

현재 apps/data-processor/README.md도 runtime-config가 아직 Lambda package 또는 배포 입력으로 연결되지 않았다고 설명한다. 이 제한 때문에 다음을 현재 동작으로 쓰지 않는다.

제한 영향
YAML weight 미연결 Safety Score 계산은 processor/risk.py 변경 없이는 바뀌지 않음
factory override 미연결 Factory별 weight override가 적용되지 않음
dummy profile 미연결 Factory B/C dummy generator의 실제 동작은 해당 앱/운영 설정을 별도 확인
telemetry 미연결 Terraform 변수와 Lambda/ECS environment가 실제 배포 기준

후속 보강 후보

  1. runtime-config.yaml을 통합본에 둘지, S3/SSM/AppConfig 같은 배포 입력으로 둘지 결정한다.
  2. DataProcessor가 설정을 읽을 경우 schema version, validation, fallback 정책을 추가한다.
  3. Safety Score weight 변경 시 Dashboard와 report 설명이 함께 바뀌도록 검증을 둔다.
  4. 원본 YAML의 AMP 관련 값은 active 구성으로 되살릴 때만 별도 ADR로 재검토한다.

관련 문서

Aegis-Pi Wiki

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

시작하기

요구사항

핵심 개념

아키텍처

컴포넌트 (Edge → Cloud → Dashboard)

Dashboard & 운영

시나리오 · 사례 · 참조

Clone this wiki locally