Commit Graph
85 Commits
Author SHA1 Message Date
odboy 548f86b0da fix: Rust 客户端删除配置日志补充具体 key 列表,移除 Rust 待测试标记 2026-08-14 21:07:42 +08:00
odboy f63bcfa78b feat: 新增 C++ 和 Rust 客户端 SDK 及 Docker 构建支持
- 新增 kenaito-conf-cpp-client / kenaito-conf-rust-client 及对应 demo
- 新增 Dockerfile.cpp / Dockerfile.rust
- README 目录结构补充 C++/Rust 客户端
- README_DOCKERFILE 补充 Windows docker run 命令,新增 C++/Rust 段落
2026-08-11 21:14:04 +08:00
odboy 436971d154 refactor: README_DOCKERFILE.md 2026-08-09 21:07:37 +08:00
odboy 1f93260b4c docs(readme): 为所有客户端SDK补充本地容灾功能说明 2026-08-06 21:11:47 +08:00
odboy dfda597159 refactor: Dockerfile.go 2026-08-04 21:18:20 +08:00
odboy 09e637584f docs(readme): 为所有客户端SDK添加英文版README及语言切换链接 2026-08-01 21:06:23 +08:00
odboy 89b2c4b478 docs(readme): 添加英文版README并增加多语言切换入口 2026-07-30 21:17:21 +08:00
odboy c288122373 feat(php-client): 实现 PHP 客户端 SDK 及示例 2026-07-27 21:17:44 +08:00
odboy 924c87e250 docs(readme): 移除 Kotlin 客户端相关文档内容 2026-07-25 21:17:15 +08:00
odboy accfb229af feat(lua-client): 新增 Lua 客户端 SDK 及 demo,修复 Dockerfile 构建问题 2026-07-22 21:06:38 +08:00
odboy 295de72308 feat(lua-client): 新增 Lua 客户端 SDK 及示例 2026-07-20 21:18:35 +08:00
odboy 881c9319df docs(readme): 移除客户端 API 中不存在的 /api/ping 接口 2026-07-17 21:05:51 +08:00
odboy c27f4e8985 docs(readme): 修复 Go 客户端 import 路径 2026-07-15 21:02:54 +08:00
odboy 2ee6dcf3ee docs: 移除 Spring Boot 3.x 支持说明,仅保留 Spring Boot 2.x 2026-07-12 21:03:03 +08:00
odboy 259805b55e docs: 删除 demo 项目的 README,修复 Go 客户端文档中的加密功能描述 2026-07-10 21:05:08 +08:00
odboy 1f6da33371 feat(perl-client): 新增 Perl 客户端 SDK 及 demo,各客户端版本统一为 1.0.3 2026-07-07 21:11:04 +08:00
odboy a70d378b91 docs(dockerfile): 更新 Docker 配置文档格式与测试状态 2026-07-05 21:04:52 +08:00
odboy 75443cd39e feat(clients): 各客户端支持环境变量配置,Spring Boot 2 客户端优化选择性刷新
- Dockerfile.springboot2: 更换基础镜像为阿里云私有镜像
- .NET/SpringBoot2 demo: 配置项改为从环境变量读取,支持 Docker 传参
- Spring Boot 2 客户端: @Value/@ConfigurationProperties 刷新优化为只刷新受变更 key 影响的字段
- README_DOCKERFILE.md: 标注 .NET 客户端 Docker 测试通过
2026-07-02 21:16:53 +08:00
odboy d55ef1dfa6 chore(python-client): 删除演示项目中的配置缓存文件 2026-06-29 21:04:37 +08:00
odboy 25fdd23e15 docs(readme): 标注Python客户端Docker测试通过状态 2026-06-27 21:16:08 +08:00
odboy bd6525f9a9 docs(readme): 标注Go和Node.js客户端Docker测试通过状态
- 在Go客户端标题添加"测试通过"标注
- 在Node.js客户端标题添加"测试通过"标注
2026-06-24 21:03:47 +08:00
odboy ec33f8c52a fix: 客户端日志打印变更配置名称,修复 Node.js Dockerfile 和 ConfigList 页面布局
- 各客户端 deleted/changed 日志增加具体配置名称输出
- Node.js Dockerfile 改为单阶段构建,修复依赖找不到问题
- ConfigList.vue 查询条件拆分为独立卡片,新增查询/重置按钮
- Node.js 客户端日志统一使用 console.error
2026-06-22 21:14:27 +08:00
odboy b513435723 docs: 重构 README_DOCKERFILE.md,按客户端分节组织构建和运行命令 2026-06-19 21:10:21 +08:00
odboy 639475b730 feat: 实现配置删除通知机制(deletedKeys)
- 服务端 fetchChangedConfigs 接口新增 deletedKeys 字段,返回已删除配置的 key 列表
- Go/Node.js/Python/Spring Boot 客户端支持解析 deletedKeys 并删除本地配置
- Spring Boot 客户端新增 removeConfigs 方法,同步更新 Spring Environment
2026-06-17 21:07:51 +08:00
odboy 82523b9236 feat: 添加多语言客户端 Docker 支持
- 新增 .NET 客户端 SDK 和 demo 项目
- 添加 Go/Node.js/Python/.NET/SpringBoot2 的 Dockerfile
- Go demo 支持从环境变量读取配置
- 创建 README_DOCKERFILE.md 文档说明 Docker 使用方法
- 更新根目录 README.md 标记 .NET 客户端为已支持
2026-06-14 21:07:35 +08:00
odboy 18b8c4c18b fix: 客户端实例上报 IP 地址优先使用 IPv4
新增 getClientIP 辅助函数,将 IPv6 环回地址(::1)转为 127.0.0.1,
避免在线客户端列表显示 IPv6 地址。
2026-06-12 21:17:12 +08:00
odboy 96c66c251b feat: 应用管理和业务组管理负责人列改为显示数量 2026-06-09 21:05:23 +08:00
odboy 32a5cf8f85 refactor: 移除应用管理页面的新建配置按钮 2026-06-07 21:15:24 +08:00
odboy 4a965c4218 fix: 修复 ProfileList.vue 模板 div 标签未闭合问题 2026-06-04 21:07:42 +08:00
odboy 9d475eacba feat: 环境管理页面添加环境名称模糊查询,统一双卡片布局 2026-06-02 21:08:32 +08:00
odboy d9043c6f78 perf: 优化 N+1 查询,改为批量 IN 查询
- config.go List 方法:配置列表查询应用名称从循环内逐条查询改为批量 IN 查询
- config_api.go recordClientInstances:客户端实例上报从循环内逐条查询+写入改为批量 IN 查询+批量插入
2026-05-30 21:04:38 +08:00
odboy fd16a61c87 feat: 后台管理页面查询条件统一改为独立卡片+按钮触发模式
业务组管理、用户管理、配置管理、应用管理页面的查询条件拆分为独立卡片,
新增查询/重置按钮,移除下拉选中即时触发查询的交互;
应用管理新增应用名称、应用编码模糊查询和业务组精确查询条件。
2026-05-28 21:09:26 +08:00
odboy 9889a08a4f 添加 Apache 2.0 开源许可证 2026-05-25 21:16:15 +08:00
odboy 1d94dbf8e1 优化:仅在 debug 模式下显示 SQL 日志 2026-05-23 21:01:16 +08:00
odboy c0aa5b6806 refactor: 使用 TableName() 替代硬编码表名 client_instance 2026-05-20 21:06:06 +08:00
odboy 07e984828a refactor: 移除启动时旧数据迁移逻辑 2026-05-17 21:15:58 +08:00
odboy 0b2e836c27 feat: 业务组和应用支持多负责人,修复权限查询表名错误
- 业务组 MasterUid 改为 MasterUids(逗号分隔多用户ID)
- 应用 OwnerId 改为 OwnerIds(逗号分隔多用户ID)
- 前端负责人下拉框改为多选
- 权限查询改用 FIND_IN_SET 匹配多负责人
- 修复 user_permissions 表名错误(应为 user_permission)
- 所有数据库实体添加 TableName() 方法显式指定表名
- xorm tag 显式指定 owner_ids/master_uids 列名
- 启动时自动清理 owner_ids 中的空格
2026-05-15 21:09:40 +08:00
odboy 5e55d899c3 refactor: 重构菜单结构,配置列表改为应用维度管理 2026-05-12 21:01:49 +08:00
odboy b1e738791b chore(gitignore): 清理简化忽略规则 2026-05-10 21:05:35 +08:00
odboy 1d2d1ab83e style: 格式化 recordClientInstances 字段对齐并移除未使用的 fmt 导入 2026-05-07 21:16:20 +08:00
odboy 1382c7a9f6 refactor: 将定时任务抽取到独立的 scheduler 包 2026-05-05 21:13:46 +08:00
odboy 9a7679960c refactor: 添加 logger 模块并优化客户端实例清理逻辑
- 新增 logger 模块,统一使用 zap.SugaredLogger
- 将 config_api.go 中的 fmt.Printf 改为 logger.SugaredLogger.Errorf
- 客户端实例清理逻辑改为定时任务(每分钟执行)
- 清理条件改为 last_ping_at 超过 5 分钟
2026-05-02 21:01:26 +08:00
odboy 8957286bb5 fix: 修复客户端实例记录问题并删除父应用功能
- 客户端实例唯一标识改为 app_config_id+appName+env+ip 四元组
- 新增 last_ping_at 字段,轮询即更新,拉取配置时更新 last_fetch_at
- FetchChangedConfigs 无变更时也记录客户端实例
- 清理逻辑改为基于 last_ping_at 超过5分钟删除
- 删除父应用(ParentId)相关功能
2026-04-30 21:06:36 +08:00
odboy ed94f53306 feat: 实现客户端实例上报功能
- 新增 ClientInstance 模型,记录客户端 IP 与配置项的关联
- 配置拉取接口(fetchAll/fetchChanged)自动记录客户端信息
- 配置列表页面展示每个配置的在线客户端数量
- 点击可查看具体 IP 地址、拉取方式、最后拉取时间
- 超过 5 分钟未拉取的记录自动清理
- 注释掉 /api/ping 接口
2026-04-27 21:07:37 +08:00
odboy b4b38fa0c7 chore: 删除多个客户端模块
移除以下未完成的客户端模块:
- C++ 客户端和 demo
- .NET 客户端和 demo
- Kotlin 客户端和 demo
- Lua 客户端和 demo
- PHP 客户端和 demo
- Ruby 客户端和 demo
- Rust 客户端和 demo

更新根目录 README.md,移除相关说明。
2026-04-25 21:05:00 +08:00
odboy 7efca9440a chore: 删除 C 客户端和 demo
移除 kenaito-conf-c-client 和 kenaito-conf-c-client-demo 模块。
2026-04-22 21:08:02 +08:00
odboy 5f95415b0f fix(c-client): 修复 SDK 头文件保护和 demo 编译问题
- SDK main.c: 添加条件编译 #ifndef/#define KENAITO_CONF_CLIENT_IMPL
- Demo main.c: 移除 #include SDK 源文件,改为 extern 声明函数
- 修复 demo 中访问 configs.count 的编译错误

编译方式:
  gcc -o demo main.c ../kenaito-conf-c-client/main.c \
    -I/usr/local/opt/cjson/include -L/usr/local/opt/cjson/lib \
    -lcurl -lcjson -lpthread
2026-04-20 21:11:38 +08:00
odboy 638d2842e4 fix(c-client): 修正 cJSON 头文件路径和编译说明
- 修正头文件引用:cjson/cJSON.h(macOS Homebrew 标准路径)
- 更新 README 编译说明:
  - macOS: 添加 -I/usr/local/opt/cjson/include 包含路径
  - Ubuntu/Debian: 使用 pkg-config 自动获取包含路径
- 移除多余的 -lcjson 链接参数(编译时不需要)
2026-04-17 21:05:26 +08:00
odboy 7bf1dff3ce feat(c-client): 实现完整的 C 客户端 SDK
核心功能:
- JSON 解析:使用 cJSON 解析服务端返回的配置
- 配置缓存:自动保存到本地 .kenaito-config-cache.json 文件
- 定时同步:后台线程定时拉取配置变更(默认 10 秒)
- 配置变更回调:配置变更时自动触发回调函数
- 全量/增量拉取:首次全量拉取,后续通过 lastTime 增量拉取
- 优雅退出:支持信号处理,Ctrl+C 优雅关闭

API:
- config_client_init() - 初始化客户端
- config_client_start() - 启动客户端(全量拉取 + 后台同步)
- config_client_get() - 获取配置值
- config_client_stop() - 停止客户端并保存缓存

依赖:
- libcurl(HTTP 请求)
- cJSON(JSON 解析)
- pthread(后台同步线程)

编译:
- SDK: gcc -c main.c -o kenaito_conf.o -lcurl -lcjson
- Demo: gcc -o demo main.c ../kenaito-conf-c-client/main.c -lcurl -lcjson -lpthread
2026-04-15 21:02:16 +08:00
odboy 102c62b64b docs(c-client): 修正 macOS 依赖说明
macOS 系统自带 libcurl,无需额外通过 brew 安装。
2026-04-12 21:05:14 +08:00