All checks were successful
Build and Push Docker / build (push) Successful in 4m28s
本次提交包含网关配置重构的第一阶段实现(IMPL-1, IMPL-4): ## 新增功能 ### 1. K8s 服务监听服务 (IMPL-1) - 新增 K8sServiceWatchService - 后台服务监听 Kubernetes Service 变化 - 支持 Watch API 和自动重连机制(指数退避策略) - 使用 Channel 处理事件,防止内存无限增长 - 支持集群内配置和本地 kubeconfig 两种模式 ### 2. 待确认配置管理 (IMPL-4) - 新增 PendingConfig 实体,用于存储待用户确认的配置变更 - 新增 PendingConfigType 枚举(Route, Cluster, Destination) - 新增 PendingConfigSource 枚举(K8sDiscovery, Manual) - 新增 PendingConfigStatus 枚举(Pending, Confirmed, Rejected, Modified) - 生成 EF Core 迁移 AddPendingConfig,创建 gw_pending_configs 表 ## 技术变更 ### NuGet 包 - 添加 KubernetesClient 16.0.2 包引用 ### 数据库 - 更新 ConsoleDbContext,添加 PendingConfigs DbSet - 配置 PendingConfig 表索引(Status, ServiceName, CreatedAt) ### EF Core 兼容性修复 - 修复 EF Core 10 中 JSON 值对象的映射问题 - 使用值转换器替代 OwnsOne().ToJson() 配置 ## 文件变更 - 新增: src/Services/K8sServiceWatchService.cs - 新增: src/Models/Entities/PendingConfig.cs - 新增: src/Models/Entities/PendingConfigEnums.cs - 新增: src/Migrations/20260307161935_AddPendingConfig.cs - 修改: src/Program.cs (注册 K8sServiceWatch) - 修改: src/Data/ConsoleDbContext.cs (添加实体配置) - 修改: Directory.Packages.props (添加 KubernetesClient) 关联任务: IMPL-1, IMPL-4 关联重构计划: WFS-gateway-refactor
39 lines
1.6 KiB
XML
39 lines
1.6 KiB
XML
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<NoWarn>$(NoWarn);CS1591</NoWarn>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
|
<DocumentationFile>bin\Debug\net10.0\Fengling.Console.xml</DocumentationFile>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
|
<DocumentationFile>bin\Release\net10.0\Fengling.Console.xml</DocumentationFile>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Fengling.Platform.Infrastructure" />
|
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" />
|
|
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" />
|
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" />
|
|
<PackageReference Include="Microsoft.OpenApi" />
|
|
<PackageReference Include="NetCorePal.Extensions.AspNetCore" />
|
|
<PackageReference Include="NetCorePal.Extensions.DistributedLocks.Redis" />
|
|
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" />
|
|
<PackageReference Include="OpenIddict.Abstractions" />
|
|
<PackageReference Include="OpenIddict.AspNetCore" />
|
|
<PackageReference Include="OpenIddict.EntityFrameworkCore" />
|
|
<PackageReference Include="OpenIddict.Server" />
|
|
<PackageReference Include="OpenIddict.Server.AspNetCore" />
|
|
<PackageReference Include="KubernetesClient" />
|
|
<PackageReference Include="SkiaSharp" />
|
|
<PackageReference Include="QRCoder" />
|
|
<PackageReference Include="Swashbuckle.AspNetCore" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|