feat(apply): Implement EdgeConnect configuration parsing foundation

- Add comprehensive YAML configuration types for EdgeConnectConfig
- Implement robust parser with validation and path resolution
- Support both k8sApp and dockerApp configurations
- Add comprehensive test coverage with real example parsing
- Create validation for infrastructure uniqueness and port ranges
- Generate instance names following pattern: appName-appVersion-instance

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Waldemar 2025-09-29 16:18:35 +02:00
parent 37df99810b
commit 1e48e1b059
14 changed files with 2022 additions and 279 deletions

12
plan.md
View file

@ -2,7 +2,7 @@
## Project Overview
Develop a comprehensive Go SDK for the EdgeXR Master Controller API, building upon the existing `edge-connect-client` prototype. The SDK will provide typed, idiomatic Go interfaces for app lifecycle management, cloudlet orchestration, and edge deployment workflows.
Develop a comprehensive Go SDK for the EdgeXR Master Controller API. The SDK will provide typed, idiomatic Go interfaces for app lifecycle management, cloudlet orchestration, and edge deployment workflows.
## Technology Stack
@ -19,16 +19,16 @@ Develop a comprehensive Go SDK for the EdgeXR Master Controller API, building up
#### 1.1 Project Structure Setup
- Add `/sdk` directory to existing edge-connect-client project
- Create subdirectories: `/sdk/client`, `/sdk/internal/http`, `/sdk/examples`
- Update go.mod with dependencies: oapi-codegen, go-retryablehttp, testify
- Create subdirectories: `/sdk/edgeconnect`, `/sdk/internal/http`, `/sdk/examples`
- Update go.mod with dependencies: go-retryablehttp, testify
- Set up code generation tooling and make targets
#### 1.2 Code Generation Setup
#### 1.2 Code Generation Setup (skipped, oapi-codegen is unused )
- Install and configure oapi-codegen
- Create generation configuration targeting key swagger definitions
- Set up automated generation pipeline in Makefile/scripts
#### 1.3 Generate Core Types
#### 1.3 Generate Core Types (skipped, oapi-codegen is unused )
- Generate Go types from swagger: RegionApp, RegionAppInst, RegionCloudlet
- Generate GPU driver types: RegionGPUDriver, GPUDriverBuildMember
- Create sdk/client/types.go with generated + manually curated types
@ -214,4 +214,4 @@ Upon approval of this plan:
3. Create initial PR with project structure and tooling setup
4. Begin iterative development following the phase breakdown above
This plan leverages the existing prototype's proven patterns while adding the robustness, typing, and extensibility needed for production SDK usage.
This plan leverages the existing prototype's proven patterns while adding the robustness, typing, and extensibility needed for production SDK usage.