- Created SUMMARY.md for plan execution - Updated STATE.md with Phase 03 progress - Updated ROADMAP.md with Phase 3 status
71 lines
2.4 KiB
Markdown
71 lines
2.4 KiB
Markdown
---
|
|
phase: "03-"
|
|
plan: 01
|
|
subsystem: Gateway
|
|
tags: [gateway, cluster, domain-entities, yarp]
|
|
dependency_graph:
|
|
requires: []
|
|
provides: [GwCluster, GwDestination, GwHealthCheckConfig, GwSessionAffinityConfig]
|
|
affects: [GwTenantRoute]
|
|
tech_stack:
|
|
added:
|
|
- GwCluster (cluster aggregate root)
|
|
- GwDestination (destination endpoint value object)
|
|
- GwHealthCheckConfig (health check config value object)
|
|
- GwSessionAffinityConfig (session affinity config value object)
|
|
patterns:
|
|
- Owned Entity for value objects
|
|
- GUID-based string IDs
|
|
- Soft delete + optimistic concurrency
|
|
key_files:
|
|
created:
|
|
- Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwCluster.cs
|
|
- Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwDestination.cs
|
|
- Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwHealthCheckConfig.cs
|
|
- Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwSessionAffinityConfig.cs
|
|
decisions:
|
|
- "GwCluster uses string Id (GUID) for YARP compatibility"
|
|
- "GwDestination as owned entity embedded in GwCluster"
|
|
- "Value objects configured for Owned Entity in EF Core"
|
|
metrics:
|
|
duration: ""
|
|
completed_date: "2026-03-03"
|
|
---
|
|
|
|
# Phase 03- Plan 01: Gateway Cluster Entities Summary
|
|
|
|
## One-Liner
|
|
|
|
Created GwCluster aggregate root with embedded value objects (GwDestination, GwHealthCheckConfig, GwSessionAffinityConfig) to replace the old GwServiceInstance design, aligning with YARP ClusterConfig structure.
|
|
|
|
## Completed Tasks
|
|
|
|
| Task | Name | Commit | Files |
|
|
|------|------|--------|-------|
|
|
| 1 | Create GwHealthCheckConfig value object | 198dc2a | GwHealthCheckConfig.cs |
|
|
| 2 | Create GwSessionAffinityConfig value object | b07f56c | GwSessionAffinityConfig.cs |
|
|
| 3 | Create GwDestination value object | 7ec34fa | GwDestination.cs |
|
|
| 4 | Create GwCluster aggregate root | 774e3fb | GwCluster.cs |
|
|
|
|
## Verification
|
|
|
|
- [x] All 4 files created
|
|
- [x] Build passes with 0 errors
|
|
- [x] Value objects structure matches YARP configuration model
|
|
|
|
## Deviations from Plan
|
|
|
|
None - plan executed exactly as written.
|
|
|
|
## Auth Gates
|
|
|
|
None.
|
|
|
|
## Notes
|
|
|
|
The new GwCluster aggregate follows the existing GatewayAggregate code style with:
|
|
- GUID-based string Id for YARP compatibility
|
|
- Soft delete (IsDeleted) and optimistic concurrency (Version) fields
|
|
- Embedded destinations list and configuration value objects
|
|
- Standard audit fields (CreatedBy, CreatedTime, UpdatedBy, UpdatedTime)
|