Commit Graph

86 Commits

Author SHA1 Message Date
movingsam
dd319a11ae chore(workflows): 优化Docker构建工作流配置
Some checks failed
Build and Push Docker / build (push) Failing after 20s
- 移除不必要的docker守护进程配置步骤
- 直接使用docker setup-buildx-action设置buildx插件
- 更新buildx驱动和选项配置为docker-container模式
- 清理冗余空行,提升配置文件简洁性
2026-03-01 23:18:50 +08:00
movingsam
be39498010 fix(workflows): 修正docker构建工作流配置格式
Some checks failed
Build and Push Docker / build (push) Failing after 0s
- 规范push分支配置格式,添加空格
- 修复Docker Buildx步骤的缩进问题
- 添加内联配置,支持私有仓库地址的http和不安全访问
- 调整docker守护进程重启逻辑,增加sleep等待
- 优化缓存步骤格式,确保缓存生效
2026-03-01 23:17:23 +08:00
movingsam
f1238a9b2e fix(workflows): 修复docker认证信息使用错误
Some checks failed
Build and Push Docker / build (push) Failing after 25s
- 将docker登录的用户名从固定字符串改为使用secret管理
- 将docker登录的密码从固定GITEA_TOKEN改为使用专用密码secret
- 提高了CI/CD流程中docker登录步骤的安全性和灵活性
2026-03-01 23:12:22 +08:00
movingsam
3ba9703744 fix(workflows): 修改 Docker 登录用户名
Some checks failed
Build and Push Docker / build (push) Failing after 20s
- 将 Docker 登录的用户名从 fengling 改为 movingsam
- 保持密码使用 GITEA_TOKEN 密钥
- 确保登录流程凭证正确更新
2026-03-01 23:10:35 +08:00
movingsam
0c79e9d947 ci(workflows): 配置 Docker 支持不安全的注册表
Some checks failed
Build and Push Docker / build (push) Failing after 3m9s
- 在 Docker workflow 中添加配置,允许访问指定的不安全注册表
- 创建并写入 /etc/docker/daemon.json 文件,设置 insecure-registries 项
- 发送信号重启 Docker 守护进程使配置生效
- 增加延时等待 Docker 重启完成
2026-03-01 22:50:53 +08:00
movingsam
ac0776cc9c ci(workflows): 优化Docker构建及推送流程
Some checks failed
Build and Push Docker / build (push) Failing after 4m19s
- 更新Docker镜像仓库地址为内部私有地址
- 修改buildx驱动配置,允许不安全权限项
- 修正登录动作中秘钥参数名为GITEA_TOKEN
- 简化缓存目录移动脚本,确保缓存正确更新
- 关闭构建溯源信息生成以提升构建速度
2026-03-01 22:14:51 +08:00
movingsam
bad0de9f3b chore(docker): 替换基础镜像地址为私有仓库
Some checks failed
Build and Push Docker / build (push) Failing after 5m9s
- 将aspnet基础镜像地址替换为192.168.100.120私有仓库地址
- 将dotnet sdk镜像地址同样替换为私有仓库地址

docs(gateway): 补充YARP网关插件系统规划文档

- 增加整体架构图及说明,明确各项目职责
- 详细描述Web UI管理界面技术选型及功能模块
- 规范文档结构,提升可读性和完整性
2026-03-01 20:19:36 +08:00
movingsam
ecafe1984c ci(workflows): 增加 Docker Buildx 设置步骤
Some checks failed
Build and Push Docker / build (push) Failing after 29m44s
- 在 GitHub Actions 工作流中添加 Docker Buildx 配置
- 使用最新的 moby/buildkit 镜像作为驱动选项
- 优化构建环境以支持多平台构建功能
2026-03-01 16:42:06 +08:00
movingsam
bce6aaa33f chore(docker): 优化 Docker 构建缓存管理
Some checks failed
Build and Push Docker / build (push) Failing after 31s
- 使用 actions/cache 缓存 Docker 构建层,加快构建速度
- 统一缓存路径改为 /tmp/.buildx-cache 以简化管理
- 更新构建缓存的来源和目标目录配置
- 确保构建结束时正确移动缓存文件,避免缓存丢失

docs(gateway): 新增网关插件系统技术方案文档

- 详细描述插件系统的设计目标和核心功能
- 规划基于 Razor Pages 的 Web UI 管理界面
- 设计插件类型接口及生命周期管理方案
2026-03-01 16:38:10 +08:00
movingsam
9c59d6881b chore(docker): 添加 NuGet.Config 文件到镜像构建
Some checks failed
Build and Push Docker / build (push) Has been cancelled
- 在 Dockerfile 中新增 COPY 指令,拷贝 NuGet.Config 文件
- 支持镜像构建时使用自定义的 NuGet 源配置
- 保持现有依赖恢复流程不变
- 增强构建过程的灵活性和可配置性
2026-03-01 16:22:33 +08:00
movingsam
7c9409b858 fix(nuget): 删除gitea源中多余的包模式
Some checks failed
Build and Push Docker / build (push) Failing after 42m58s
- 移除packageSourceMapping中gitea源下的"NetCorePal.*"包模式
- 保留"Fengling.*"包模式配置
- 保证NuGet.Config配置的准确性和简洁性
2026-03-01 15:21:10 +08:00
movingsam
f163d6c92a fix(ci): 使用本地文件系统缓存替代GitHub Actions缓存
Some checks failed
Build and Push Docker / build (push) Failing after 47m55s
- 将 cache type 从 gha 改为 local
- 缓存路径设为 /data/.buildx-cache (Runner持久化目录)
- 添加 Move cache 步骤防止缓存损坏
2026-03-01 14:15:32 +08:00
movingsam
36de011e2d chore(ci): 移除无用的Gitea构建与部署工作流文件
Some checks failed
Build and Push Docker / build (push) Has been cancelled
- 删除了.gitea/workflows/build.yml文件及其相关构建配置
- 删除了.gitea/workflowschore(ci): 删除Gitea的构建和部署工作流配置

- 移除build.yml文件及其所有构建相关步骤
- 移除deploy.yml文件及其所有部署相关步骤
- 停用基于GitHub Actions/deploy.yml文件及其相关部署配置
-的自动构建和K8s部署流程
- 清理冗余的CI/CD配置文件和环境变量设置 清理了CI流水线中基于GitHub Actions的构建与部署步骤
- 简化了项目仓库的持续集成配置维护工作量
2026-03-01 14:02:31 +08:00
movingsam
18813f905a fix(ci): 修正 Docker 构建配置和 Dockerfile 路径
Some checks failed
Build / build (push) Failing after 1m42s
Deploy to K8s / deploy (push) Failing after 2s
Build and Push Docker / build (push) Has been cancelled
- 修正 docker.yml 中 dockerfile 参数为 file 以匹配 action 版本要求
- 优化 Dockerfile,调整项目文件拷贝路径及恢复依赖步骤
- 统一工作目录路径,确保构建命令正确执行
- 删除多余的复制和恢复步骤,简化构建流程
2026-03-01 13:42:03 +08:00
movingsam
7f645ddd13 refactor(gateway): 优化网关服务逻辑,修改Id类型并引入存储接口
Some checks failed
Build / build (push) Failing after 41s
Deploy to K8s / deploy (push) Failing after 2s
Build and Push Docker / build (push) Failing after 17s
- 将网关服务相关实体Id类型由long改为string,统一使用Guid V7格式Id
- 新增ConsoleDbContext,配置数据库表命名规范,适配PostgreSQL约定
- 引入IRouteStore和IInstanceStore接口,替代直接使用DbContext访问数据库
- 修改GatewayService实现,调用存储接口进行数据操作以支持解耦扩展
- 调整GatewayController中实例Id参数类型为string,保证一致性
- 更新GatewayDto中各实体的Id类型为string,确保与数据库模型匹配
- 在项目配置中添加EntityFrameworkCore.Design依赖及版本更新
- 新增DesignTimeDbContextFactory方便迁移和设计时上下文创建
- 删除appsettings.json中的GatewayConnection配置,简化连接字符串配置
2026-03-01 13:33:02 +08:00
movingsam
634e6fe455 feat: 注册 Platform 的 Gateway Store/Manager 服务
Some checks failed
Build / build (push) Failing after 30s
Deploy to K8s / deploy (push) Failing after 2s
Build and Push Docker / build (push) Failing after 18s
- 添加 IRouteStore, IInstanceStore, IRouteManager 依赖注入
- 为后续迁移到 Platform 的 Store/Manager 模式做准备
2026-03-01 01:43:44 +08:00
movingsam
0678b44a90 refactor: Gateway 改用 PlatformDbContext
Some checks failed
Build / build (push) Failing after 44s
Deploy to K8s / deploy (push) Failing after 2s
Build and Push Docker / build (push) Failing after 17s
- 移除单独的 GatewayDbContext,使用 PlatformDbContext
- 修改 DbSet 名称为 GwTenantRoutes, GwServiceInstances
- 添加必要的 using 引用
2026-03-01 01:34:59 +08:00
movingsam
797ac930bd fix: 修复项目引用和 GatewayService using
Some checks failed
Build / build (push) Failing after 39s
Deploy to K8s / deploy (push) Failing after 4s
Build and Push Docker / build (push) Failing after 24s
- 移除重复的 Directory.Packages.props 内容
- 清理 GatewayService.cs 中未使用的 using
2026-02-28 23:00:47 +08:00
movingsam
00e5bbad0e fix: 修复 docker.yml 重复的 dockerfile 键
Some checks failed
Build / build (push) Failing after 31s
Deploy to K8s / deploy (push) Failing after 3s
Build and Push Docker / build (push) Failing after 19s
2026-02-28 22:13:45 +08:00
movingsam
f109def90e fix: 修复 docker.yml context 为根目录
Some checks failed
Build / build (push) Failing after 33s
Deploy to K8s / deploy (push) Failing after 3s
2026-02-28 22:12:09 +08:00
movingsam
03a8c955ce fix: 修复 docker.yml YAML 语法错误 (重复 dockerfile 键)
Some checks failed
Build / build (push) Failing after 34s
Deploy to K8s / deploy (push) Failing after 4s
Build and Push Docker / build (push) Failing after 49s
2026-02-28 22:06:36 +08:00
movingsam
69b82966b5 fix: 修复 CI/CD Docker 构建 context 和 Dockerfile 路径
Some checks failed
Build / build (push) Failing after 31s
Deploy to K8s / deploy (push) Failing after 3s
- context 改为 ./src
- dockerfile 改为相对于 context 的路径
2026-02-28 21:55:15 +08:00
movingsam
feb1a733cd fix: 修复 CI/CD Dockerfile 路径
Some checks failed
Build / build (push) Failing after 34s
Deploy to K8s / deploy (push) Failing after 2s
Build and Push Docker / build (push) Failing after 16s
- 修改 dockerfile 路径为 ./src/Dockerfile
2026-02-28 21:52:11 +08:00
movingsam
b8d2a93c9f docs: 添加代码库分析文档(中文)
- STACK.md - 技术栈和依赖
- INTEGRATIONS.md - 外部集成
- ARCHITECTURE.md - 架构设计
- STRUCTURE.md - 代码库结构
- CONVENTIONS.md - 编码规范
- TESTING.md - 测试模式
- CONCERNS.md - 技术债务和问题
2026-02-28 18:38:17 +08:00
movingsam
7bf4c41e41 fix: 修复 CI/CD workflow 文件 YAML 语法错误
Some checks failed
Build / build (push) Failing after 1m19s
Deploy to K8s / deploy (push) Failing after 3s
Build and Push Docker / build (push) Failing after 19s
- 移除错误的语法前缀 #XX|#
- 确保 workflow 文件可被 GitHub Actions 正确解析
2026-02-28 18:07:20 +08:00
movingsam
4d3fb84663 chore(solution): 删除解决方案中的Dockerfile引用
- 从解决方案文件中移除对Dockerfile的引用
- 保持.gitea工作流文件docker.yml的引用不变
- 优化解决方案结构,避免无用文件引用
2026-02-28 18:04:53 +08:00
movingsam
c50615d8d1 refactor: 将项目文件迁移到 src 目录并创建 slnx 解决方案
- 将 Controllers, Services, Models, Properties 等目录移至 src/ 下
- 创建 Fengling.Console.slnx Rider 解决方案文件
- 更新 csproj 中的项目引用路径
- 修复 CI/CD 配置:
  - build.yml: 更新项目路径为 src/Fengling.Console.csproj
  - docker.yml: 添加 Dockerfile 路径指向 src/Dockerfile
  - Dockerfile: 修复 COPY 路径以匹配新的目录结构

Closes #重构项目结构
2026-02-28 18:04:16 +08:00
movingsam
ca491924ae feat: 添加 CPM 中央包管理和 CI/CD 配置
- 添加 global.json 统一 .NET SDK 版本 (10.0.103)
- 添加 Directory.Build.props 和 Directory.Packages.props 中央包管理
- 添加 NuGet.Config 包源映射 (gitea + nuget.org)
- 添加 CI 工作流: build.yml (编译), docker.yml (构建镜像), deploy.yml (K8s 部署)
- 添加 k8s/ 目录: deployment.yaml, service.yaml
- 修复项目引用路径
- 升级 Swashbuckle 7.1.0 + Microsoft.OpenApi 1.6.28 解决 .NET 10 兼容性
2026-02-28 14:05:38 +08:00
e945de5872 Update secret name to GITEATOKEN
Some checks failed
Build and Push Docker / build (push) Failing after 6m30s
2026-02-26 13:05:37 +08:00
573f135367 Update Docker CI for org
Some checks failed
Build and Push Docker / build (push) Failing after 30s
2026-02-26 13:00:18 +08:00
8495a8ad9e Add Docker CI workflow
Some checks failed
Build and Push Docker / build (push) Failing after 31s
2026-02-26 10:58:40 +08:00
b639206258 Add Dockerfile 2026-02-26 10:55:47 +08:00
Sam
65063af016 Remove bin folder 2026-02-25 18:44:37 +08:00
Sam
134d61fb45 Add .gitignore 2026-02-25 17:26:54 +08:00
movingsam
df7c7e0717 调整项目 2026-02-21 15:05:37 +08:00
movingsam
fc8fcc7de2 refactor(console): remove Repository layer, use Manager pattern
- Remove Repositories folder (IUserRepository, UserRepository, IRoleRepository, RoleRepository)
- Remove Managers folder (old TenantManager)
- Remove Datas folder (old ApplicationDbContext)
- Remove Models/Entities folder (old domain entities)
- Remove EntityConfigurations folder
- Update Services to use UserManager/RoleManager/PlatformDbContext directly
- Update DTOs to use Platform's TenantStatus
2026-02-21 13:52:37 +08:00
movingsam
f33acacbbc refactor(platform): migrate Tenant to anemia model, use Manager pattern
- Convert Tenant to anemia model with long Id (no strong-typed ID)
- Add ApplicationUser, ApplicationRole to Platform.Domain (inherit Identity)
- Add TenantInfo value object for user-tenant redundancy
- Implement TenantManager/TenantStore in Platform.Infrastructure
- Update PlatformDbContext to inherit IdentityDbContext
- Migrate AuthService and Console to use Platform entities
- Remove old TenantRepository (replaced by TenantManager)
- Update AGENTS.md documentation
2026-02-21 13:22:08 +08:00
movingsam
d32b44bfc4 Merge branch 'feature/tenant-manager' 2026-02-19 21:43:44 +08:00
movingsam
0d64b61169 refactor(console): migrate tenant management to TenantManager pattern
- Replace TenantRepository with TenantManager (ASP.NET Identity style)
- Change TenantId from long to int (auto-increment)
- Add TenantStore with CRUD operations
- Update TenantService, UserService, RoleService to use TenantManager
- Add Tenant entity with TenantStatus enum
- Update DTOs and controllers for int tenant IDs
2026-02-19 21:43:24 +08:00
movingsam
28de202556 debug 2026-02-19 21:40:22 +08:00
movingsam
f5d6e0652c refactor: align TenantRepository with CleanDDD/NetCorePal规范
- remove duplicate ITenantRepository/TenantRepository from Console
- extend Platform ITenantRepository with GetByIdAsync, GetPagedAsync, CountAsync
- update Console services to use Platform.Infrastructure.Repositories
- fix nullable warnings (UserDto, OAuthClientService)
- fix YarpGateway Directory.Build.props duplicate import
- fix DynamicProxyConfigProvider CS8618 warning
2026-02-19 19:20:06 +08:00
movingsam
4d2127637d refactor: clean up Member module and update Console
- Remove redundant PointsRule repositories (use single PointsRuleRepository)
- Clean up Member migrations and consolidate to single Init migration
- Update Console frontend API and components for Tenant
- Add H5LinkService for member H5 integration
2026-02-18 23:34:40 +08:00
movingsam
74122b2c8c feat(auth): extract Tenant to Platform domain
- Add Fengling.Platform domain and infrastructure projects
- Move Tenant aggregate from AuthService/Console to Platform.Domain
- Add TenantRepository and SeedData to Platform
- Remove duplicate Tenant/TenantInfo models from AuthService and Console
- Update controllers and services to use Platform.Domain.Tenant
- Add new migrations for PlatformDbContext

BREAKING CHANGE: Tenant entity now uses strongly-typed ID (TenantId)
2026-02-18 23:02:03 +08:00
sam
9516e1cd93 refactor: major project restructuring and cleanup
Changes:

- Remove deprecated Fengling.Activity and YarpGateway.Admin projects

- Add points processing services with distributed lock support

- Update Vben frontend with gateway management pages

- Add gateway config controller and database listener

- Update routing to use header-mixed-nav layout

- Add comprehensive test suites for Member services

- Add YarpGateway integration tests

- Update package versions in Directory.Packages.props

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-15 10:34:07 +08:00
sam
f14bf019f1 chore: update gitignore to allow Vben packages directory 2026-02-13 21:34:52 +08:00
Sam
c8cb7c06bc feat: 添加Console API认证和OpenIddict集成
- 配置AuthService使用OpenIddict reference tokens
- 添加fengling-api客户端用于introspection验证
- 配置Console API通过OpenIddict验证reference tokens
- 实现Tenant/Users/Roles/OAuthClients CRUD API
- 添加GatewayController服务注册API
- 重构Repository和Service层支持多租户

BREAKING CHANGE: API认证现在使用OpenIddict reference tokens
2026-02-08 19:01:25 +08:00
Sam
61c3a27192 feat: 添加OAuth2认证配置和实现
添加OAuth2认证相关配置文件和服务实现,包括环境变量配置、PKCE流程支持、token管理等功能。主要变更:
- 新增OAuth2配置文件
- 实现OAuth2服务层
- 更新请求拦截器支持token自动刷新
- 修改认证API和store以支持OAuth2流程
2026-02-07 17:47:11 +08:00
Sam
cf1bf1d600 fix: configure TenantInfo as owned entity and use AsNoTracking
- Add AsNoTracking to tenant query to avoid tracking conflicts
- Configure TenantInfo as owned entity in ApplicationUser
- Map TenantInfo properties to separate columns in AspNetUsers table
2026-02-06 00:55:58 +08:00
Sam
e1ba3a90c3 feat(console): complete migration of User, Tenant, and Role management APIs 2026-02-05 14:21:36 +08:00
Sam
4d7abd6fdb feat(console): add RolesController with all CRUD endpoints 2026-02-05 14:21:21 +08:00