Commit graph

60 commits

Author SHA1 Message Date
732e10fc16 feat(apply): add v1 API support to apply command
Some checks failed
test / test (push) Failing after 48s
Refactor apply command to support both v1 and v2 APIs:
- Split internal/apply into v1 and v2 subdirectories
- v1: Uses sdk/edgeconnect (from revision/v1 branch)
- v2: Uses sdk/edgeconnect/v2
- Update cmd/apply.go to route to appropriate version based on api_version config
- Both versions now fully functional with their respective API endpoints

Changes:
- Created internal/apply/v1/ with v1 SDK implementation
- Created internal/apply/v2/ with v2 SDK implementation
- Updated cmd/apply.go with runApplyV1() and runApplyV2() functions
- Removed validation error that rejected v1
- Apply command now respects --api-version flag and config setting

Testing:
- V1 with edge.platform:  Generates deployment plan correctly
- V2 with orca.platform:  Works as before

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 13:57:57 +02:00
2af60e7d85 fix(apply): add validation to reject v1 API version
Some checks failed
test / test (push) Failing after 48s
The apply command requires v2 API features and cannot work with v1.
Add early validation to provide a clear error message when users try
to use apply with --api-version v1, instead of failing with a cryptic
403 Forbidden error.

Error message explains that apply only supports v2 and guides users
to use --api-version v2 or remove the api_version setting.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 13:49:09 +02:00
a42d4af5d1 feat(config): add API version selector for v1 and v2
Some checks failed
test / test (push) Failing after 59s
Add configurable API version selection with three methods:
- Config file: api_version: "v1" or "v2" in .edge-connect.yaml
- CLI flag: --api-version v1/v2
- Environment variable: EDGE_CONNECT_API_VERSION=v1/v2

Changes:
- Update root.go to add api_version config and env var support
- Update app.go and instance.go to support both v1 and v2 clients
- Add example config file with api_version documentation
- Default to v2 for backward compatibility
- Apply command always uses v2 (advanced feature)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 13:41:50 +02:00
3d9d19460f refactor(sdk): restructure to follow Go module versioning conventions
Some checks failed
test / test (push) Failing after 47s
Reorganize SDK to support both v1 and v2 APIs following Go conventions:
- sdk/edgeconnect/ now contains v1 SDK (from revision/v1 branch)
- sdk/edgeconnect/v2/ contains v2 SDK with package v2
- Update all CLI and internal imports to use v2 path
- Update SDK examples and documentation for v2 import path

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 13:34:22 +02:00
d4102d3375 feat(swagger_v2): added support for the orca staging environment
Some checks failed
test / test (push) Failing after 47s
2025-10-20 13:12:06 +02:00
6cbf963060 doc(api): rename current swagger to _v2, add old swagger as _v1
All checks were successful
test / test (push) Successful in 47s
2025-10-20 10:05:24 +02:00
85a7db0d7c chore(http-timeout): removed timeout functionality when calling the API as it was not needed and malfunctional
All checks were successful
test / test (push) Successful in 1m19s
ci / goreleaser (push) Successful in 1m22s
2025-10-17 12:01:47 +02:00
a037228b4b doc(create-appinstance): added documentation of the correct parsing of an errorneous app instance creation response 2025-10-16 17:42:29 +02:00
d4050ce670 feat(parser): add result parser of createappinstance and added a configurable timeout for that function 2025-10-16 11:12:57 +02:00
c738c5ed79 feat(edge-connect): Added Forgejo Runner Deployment in Edge Connect Example
All checks were successful
test / test (push) Successful in 1m13s
2025-10-15 16:00:38 +02:00
792cca4c8d feat(ec-api): new swagger from EC (Alex) with changes update app and appinstances. They call it 2.0 which already was delivered.
All checks were successful
test / test (push) Successful in 1m0s
we discussed in Teams:

Malashevich, Alex (ext) Freitag 10.10.25 17:19
Updated spec is available. It's relevant for Orca cluster you'll be added next week I hope
Swagger UI https://swagger.edge.platform.mg3.mdb.osc.live/#/

Stephan Lo, , Montag 13.10.25 09:37
hey alex ... this is great news! just a quick question: We still see version '2.0' - does this mean that there were no changes?

Malashevich, Alex (ext) Montag 13.10.25 09:49
yes, it's just relevant update of current state of things for external teams to integrate with us (FE, Developer Framework, AI, etc). So the spec you've seen before is our internal so to say
2025-10-13 10:10:16 +02:00
ce801f30d0 fix(test): finish fixing organisation refactoring tests failures
All checks were successful
test / test (push) Successful in 13s
2025-10-07 17:21:38 +02:00
ce2fb4208d fix(test): finish fixing organisation refactoring tests failures
All checks were successful
test / test (push) Successful in 53s
2025-10-07 17:19:52 +02:00
6a91b556a5 fix(test): fixed compile errors
Some checks failed
test / test (push) Failing after 12s
2025-10-07 17:09:36 +02:00
e04370a376 fix(test): started fixing tests
Some checks failed
test / test (push) Failing after 12s
2025-10-07 17:05:35 +02:00
b958acd94e
refactor(yaml): Moved organisation to metadata
Some checks failed
test / test (push) Failing after 51s
2025-10-07 16:30:57 +02:00
fdb931acc2
ci: Added test workflow running on each push except tags
All checks were successful
test / test (push) Successful in 13s
2025-10-07 16:10:02 +02:00
97517cacea
refactor(yaml): moved AppVersion into metadata 2025-10-07 16:01:38 +02:00
b712ae0869
fix(cli): Fixed tests after outputting plan diff 2025-10-07 15:40:27 +02:00
20e3afdf0d
chore: Added flake 2025-10-07 14:37:54 +02:00
d0b95d9d34 feat(cli): Added hash compare between current and desired manifest state without using annotation. instead the current hash is calculated from the showapp() app.deploymentmanifest field 2025-10-06 17:08:33 +02:00
36934e8abf feat(cli): Added output of diff when updating outboundConnections in the desired manifest 2025-10-06 16:45:53 +02:00
51ce4ed111 feat(cli): Added an auto approve flag for apply
All checks were successful
ci / goreleaser (push) Successful in 1m53s
2025-10-02 14:52:40 +02:00
975b5ad525
fix(cli): Run tests before release
All checks were successful
ci / goreleaser (push) Successful in 1m53s
2025-10-02 13:50:28 +02:00
c2f77aa2cb
fix(cli): Force usage of gitea token
All checks were successful
ci / goreleaser (push) Successful in 1m18s
2025-10-02 13:44:28 +02:00
bd3048a9a5
fix(cli): Unset GITHUB_TOKEN and set GITEA_TOKEN instead
Some checks failed
ci / goreleaser (push) Failing after 12s
2025-10-02 13:33:21 +02:00
d7ed7711a8
fix(cli): Changed GITEA_TOKEN to GITHUB_TOKEN
Some checks failed
ci / goreleaser (push) Failing after 1m14s
2025-10-02 13:22:10 +02:00
e5b069c498
fix(cli): Release pipeline using Goreleaser should work now
Some checks failed
ci / goreleaser (push) Failing after 14s
2025-10-02 13:19:40 +02:00
453cf9a33b
fix(release): Downgraded forgejo-release action
Some checks failed
ci / goreleaser (push) Failing after 1m33s
2025-10-01 15:40:11 +02:00
a18da5c940
fix(release): Added all of the config out of desperation
Some checks failed
ci / goreleaser (push) Failing after 1m14s
2025-10-01 15:17:16 +02:00
d25455a4c6
fix(release): Added repo to release action
Some checks failed
ci / goreleaser (push) Failing after 1m32s
2025-10-01 15:04:16 +02:00
ad48211227
fix(release): Removed wrong version setting, Skipping artifact pubish
Some checks failed
ci / goreleaser (push) Failing after 1m15s
2025-10-01 14:55:21 +02:00
6e04ac65bf
fix(release): Set go version in setup action
Some checks failed
ci / goreleaser (push) Failing after 30s
2025-10-01 14:51:09 +02:00
56dbb7a9d5
fix(release): Downgraded checkout action due to node24 issue
Some checks failed
ci / goreleaser (push) Failing after 24s
2025-10-01 14:48:43 +02:00
8b197ea9f5
feat(release): Added forgejo release action
Some checks failed
ci / goreleaser (push) Failing after 6s
2025-10-01 14:42:35 +02:00
a6a41e8d91 feat(goreleaser): fixed changelog messages 2025-10-01 14:20:11 +02:00
f7dd93a629 feat(goreleaser): added first implementation 2025-10-01 13:22:41 +02:00
06ea46b332
feat(sdk, cli): Implemented update endpoints. Added recreate deployment strategy to cli. Fixed tests. 2025-10-01 10:49:15 +02:00
05daaec70d
feat(sdk): Added update endpoints for app and appinst 2025-09-30 12:09:00 +02:00
f9faad4373
chore(cli): Removed appName from config schema. This is redundant to metadata name 2025-09-30 11:33:52 +02:00
6d8ed1f8d5
chore(cli): Added methods to EdgeClientInterface and removed unnecessary typecasting 2025-09-29 18:04:55 +02:00
366fa334af
chore(cli): Moved cli related packages out of sdk. Deleted duplicate files. 2025-09-29 17:35:34 +02:00
f3641e11ea
feat(apply): Implement CLI command with comprehensive deployment workflow
- Add edge-connect apply command with -f/--file and --dry-run flags
- Integrate config parser, deployment planner, and resource manager
- Provide comprehensive error handling and progress reporting
- Support deployment confirmation prompts and result summaries
- Move internal packages to public SDK packages for CLI access
- Update all tests to pass with new package structure
- Complete Phase 4 CLI Command Implementation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 17:24:59 +02:00
7e54e56c00
feat(apply): Implement resource management with parallel deployment and rollback
Phase 3 Complete: Resource Management
- Add EdgeConnectResourceManager with deployment execution
- Implement app creation with manifest file processing
- Support parallel instance deployment across multiple cloudlets
- Handle network configuration conversion to SecurityRules
- Add comprehensive rollback functionality for failed deployments
- Include detailed logging and progress tracking
- Create extensive test coverage with mock scenarios

Features:
- Parallel deployment with configurable limits
- Intelligent rollback in reverse order
- Manifest file reading and hash calculation
- Network rule conversion and validation
- Deployment progress tracking and logging
- Comprehensive error handling with detailed messages

Testing:
- 16 test scenarios covering success/failure cases
- Mock client interfaces for reliable testing
- Rollback testing with failure scenarios
- Configuration conversion validation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 16:46:34 +02:00
e5563e7ef4
feat(apply): Implement deployment planning with intelligent state comparison
Phase 2 Complete: Deployment Planning
- Add comprehensive deployment plan types with action tracking
- Implement EdgeConnectPlanner with state comparison logic
- Support manifest hash calculation and change detection
- Add parallel infrastructure target planning
- Create deployment summary generation with duration estimates
- Include comprehensive test coverage with mock scenarios
- Handle API errors and edge cases gracefully

Features:
- Smart comparison of current vs desired state
- Minimal API calls through batched queries
- Support for dry-run planning operations
- Detailed deployment summaries with resource counts
- Extensible action types (CREATE, UPDATE, DELETE, NONE)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 16:36:21 +02:00
1e1574e6a6
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>
2025-09-29 16:18:35 +02:00
7db520a417 feat(validation): Added validation of baseURL config 2025-09-29 10:48:52 +02:00
03942636c8 feat(validation): Added validation of baseURL config 2025-09-29 10:29:11 +02:00
68b792dca4
Renamed package and removed unused make calls 2025-09-29 09:41:44 +02:00
3745379552
Removed binaries and fixed tests 2025-09-25 17:11:50 +02:00