- Add node store implementation for edge app - Add adapters factory for node app - Update edge and node transport layers - Update domain rules for edge and node - Add bin scripts for edge and node - Update configs and documentation - Add agent-task node_centralized_mgmt directory
29 lines
2 KiB
Text
29 lines
2 KiB
Text
완료 일시: 2026-05-03
|
||
|
||
요약: Jenkins 스타일 노드 중앙 관리 구조 리팩토링 — plan×2, loop×2
|
||
|
||
루프 이력:
|
||
|
||
| plan | code_review | 판정 |
|
||
|------|-------------|------|
|
||
| plan_0.log | code_review_0.log | FAIL |
|
||
| plan_1.log | code_review_1.log | PASS |
|
||
|
||
최종 리뷰 요약:
|
||
|
||
- proto/iop/runtime.proto에 RegisterRequest, RegisterResponse, NodeConfigPayload, AdapterConfig, NodeRuntimeConfig 추가
|
||
- packages/config: NodeConfig를 transport+logging+metrics로 단순화, EdgeConfig에 Nodes []NodeDefinition 추가, TransportConf에 Token 추가
|
||
- configs/node.yaml: edge_addr+token+logging+metrics만 남김 / configs/edge.yaml: nodes 섹션 추가
|
||
- apps/edge/internal/node/store.go 신규: NodeStore(token/ID 기반 조회), LoadFromConfig(token·alias 중복 검사)
|
||
- apps/edge/internal/node/registry.go: NodeEntry에서 Adapters 제거, Alias 추가
|
||
- apps/edge/internal/transport/server.go: CapabilityRequest 핸드셰이크 → RegisterRequest/Response 핸드셰이크, buildConfigPayload(오류 반환형), stringsToAny, 중복 접속 차단
|
||
- apps/edge/internal/bootstrap/module.go: NodeStore provider 추가, OnStart에서 config 기반 시드
|
||
- apps/node/internal/transport/session.go: Handler에서 OnCapabilityRequest 제거, SetHandler(mutex) 추가
|
||
- apps/node/internal/transport/parser.go: CapabilityRequest 제거, RegisterResponse 추가
|
||
- apps/node/internal/transport/client.go: DialEdge → RegisterResult 반환형으로 전면 재작성
|
||
- apps/node/internal/node/node.go: New()에서 *config.NodeConfig → nodeID string, OnCapabilityRequest 삭제
|
||
- apps/node/internal/adapters/factory.go 신규: BuildFromPayload(proto payload → Registry 동적 초기화)
|
||
- apps/node/internal/bootstrap/module.go: OnStart 내부 순차 초기화(dial→config수신→adapter빌드→node생성→handler설정), storeDSN, OnStop에서 store.Close()
|
||
- 테스트: edge/node integration test 갱신, factory_test, store_test, server_test(CLIArgsRoundtrip) 신규
|
||
|
||
잔여 Nit: 없음
|