feat: Fleet/Collector/엣지 배포 관련 누적 작업 일괄 커밋
Build and Push Images / build-and-push (push) Has been cancelled

이전 세션들에서 작업된 아래 범위를 모두 포함:

Fleet 서브시스템 (src/fleet/)
- fleetDeviceService / fleetCommandService / fleetDeploymentService / fleetReleaseService
- fleetMetricsService, fleetScriptService, fleetEdgeConfigService
- Edge 디바이스 관리, 커맨드 발행, 배포/릴리스, 스크립트 동기화

Collector 확장
- centralMqttForwarder / centralForwarderConfigService
- equipmentStateService, pythonHookRunner, scriptCache
- Modbus/OPC-UA/S7/XGT 프로토콜 클라이언트
- targetDbIntrospection (저장 DB 조회)

Routes / API
- automationDashboardRoutes, centralForwarderRoutes, equipmentStateRoutes

DB
- importEdgeConfig (Python cached config → Pipeline DB)
- seedDataSources (external_db_connections 초기 시드)

엣지 배포 리소스
- docker/edge/Dockerfile.backend.prod, Dockerfile.frontend.prod
- docker/edge/docker-compose.edge.yml

프론트엔드
- admin/automaticMng (centralForwarder, dashboard, equipmentState)
- admin/fleet (commands, devices, deployments, releases, scripts, alerts)
- admin/pipeline-device 개선 (저장 DB 드롭다운, 태그 매핑 등)
- ExternalDbConnectionModal, ScriptsManagerDialog 등 신규 컴포넌트
- lib/api: automationDashboard, centralForwarder, equipmentState, fleet

docs/
- EDGE_SERVER_STRUCTURE, FLEET_COMPLETE, FLEET_EDGE_INTEGRATION, FLEET_HOOK_INTEGRATION

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
chpark
2026-04-23 20:00:06 +09:00
parent 01625d9efd
commit 4c1dc4082e
77 changed files with 14639 additions and 205 deletions
+2 -2
View File
@@ -3,9 +3,9 @@ FROM node:20-bookworm-slim
WORKDIR /app
# 시스템 패키지 설치 (curl: 헬스 체크용)
# 시스템 패키지 설치 (curl: 헬스 체크용, python3: Fleet Hook dry-run 용)
RUN apt-get update \
&& apt-get install -y --no-install-recommends openssl ca-certificates curl \
&& apt-get install -y --no-install-recommends openssl ca-certificates curl python3 \
&& rm -rf /var/lib/apt/lists/*
# package.json 복사 및 의존성 설치 (개발 의존성 포함)
@@ -9,6 +9,8 @@ services:
- ../../backend-node/.env
ports:
- "8080:8080"
- "1883:1883" # MQTT TCP (내장 브로커)
- "8083:8083" # MQTT WebSocket
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
+8 -5
View File
@@ -10,14 +10,17 @@ services:
environment:
- NEXT_PUBLIC_API_URL=http://localhost:8080/api
- SERVER_API_URL=http://pipeline-backend:8080
- NODE_OPTIONS=--max-old-space-size=8192
- NODE_OPTIONS=--max-old-space-size=6144
- NEXT_TELEMETRY_DISABLED=1
- WATCHPACK_POLLING=true
- WATCHPACK_POLLING_INTERVAL=3000
# volumes:
# - ../../frontend:/app # 소스 마운트 (Docker for Mac에서 컴파일 느림 → 비활성화)
# - /app/node_modules
# - /app/.next
mem_limit: 8g
mem_reservation: 3g
mem_swappiness: 0
volumes:
- ../../frontend:/app:delegated
- /app/node_modules
- /app/.next
networks:
- pipeline-network
restart: unless-stopped