Commit Graph
75 Commits
Author SHA1 Message Date
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
odboy 455d6aa6f0 docs(c-client): 完善 README 文档
- 添加完整的依赖安装说明(macOS/Ubuntu/Debian/CentOS)
- 补充快速开始示例代码和配置变更监听示例
- 添加完整的 API 参考文档
- 补充配置参数表格
- 添加完整示例代码
- 添加 Demo 运行指南
- 补充注意事项(JSON 解析、缓存、线程安全等)
- 添加与其他客户端对比表格
- 添加版本历史和后续开发计划
2026-04-10 21:00:37 +08:00
odboy 8dfe811555 docs: 清理 C/C++ 客户端中加密相关的残留引用
- docs(c-client): 移除 OpenSSL 加密库依赖说明
  - 移除 README 中的 OpenSSL 依赖和 AES-128-CBC 解密功能说明
  - 更新编译命令,移除 -lssl -lcrypto
  - main.c 注释移除 decrypt 提及
- docs(cpp-client): 移除 OpenSSL 加密库依赖说明
  - 移除 README 中的 OpenSSL 依赖和 AES 解密功能说明
  - 更新编译命令,移除 -lssl -lcrypto
- docs(README): 更新 C/C++ 客户端说明
  - 移除 libcurl + OpenSSL 的描述
  - 更新编译命令,移除加密库链接

说明:项目已确认不使用配置加密功能,所有加密相关代码和配置已清理完毕。
2026-04-07 21:08:45 +08:00
odboy c1d6725700 docs(readme): 更新 Node.js 客户端测试状态为通过
- 将 kenaito-conf-nodejs-client 状态从"待测试"更新为"测试通过"
- 将 kenaito-conf-nodejs-client-demo 状态从"待测试"更新为"测试通过"
2026-04-04 21:07:48 +08:00
odboy 5a0297c590 docs(python-client): 更新文档状态及表格格式对齐
- 将Python客户端SDK和示例状态从"待测试"更新为"测试通过"
- 格式化配置项表格,调整列宽对齐提升可读性
- 格式化环境变量表格,统一各列对齐方式
2026-04-02 21:11:14 +08:00
odboy 95d48ddde6 docs(springboot2-client): 完善 Spring Boot 2 客户端文档并更新配置项命名
- 新增 kenaito-conf-springboot2-client 详细 README 文档
- 更新主 README 中客户端状态为"测试通过"
- 统一配置项前缀为 kenaito.configcenter(原 kenaito.config)
- 移除 Spring Boot 3 客户端相关描述和文件
- 移除 application-dev.properties 中的加密配置项
- 版本号升级至 1.0.3
2026-03-30 21:08:12 +08:00
odboy 87fca6db79 refactor(springboot2): 重命名 CCPropertyPlaceholderConfigurer 为 KenaitoPropertyPlaceholderConfigurer
- 统一品牌命名,将 CCPropertyPlaceholderConfigurer 重命名为 KenaitoPropertyPlaceholderConfigurer
- 更新相关代码和引用
2026-03-28 21:05:52 +08:00
odboy 751a0f770f refactor: 配置刷新优化和加密功能移除
- refactor(springboot2): 简化配置刷新逻辑,移除 EnvironmentChangeEvent 包装
  - ConfigChangeHanlder 直接接收 Map<String,String> 参数
  - 移除 EnvironmentChangeEvent 事件类
  - 优化 token 参数构建和敏感信息脱敏处理
- refactor(server): 移除配置加密功能
  - 删除 CryptoConfig 结构体和相关配置项
  - 移除 application-dev.properties 中的加密配置
  - 项目不再使用配置加密功能
- docs: 更新 README 和模块文档
- fix: 修复 Node.js 客户端配置缓存
2026-03-25 21:00:59 +08:00
odboy c2e599097e feat(springboot3): 添加 RefreshScope 自动配置支持
- 新增 KenaitoRefreshAutoConfiguration 类,实现 ApplicationContextAware
- 更新 spring.factories,注册 EnableAutoConfiguration
- 与 Spring Boot 2 客户端保持一致,支持 @Value 和 @ConfigurationProperties 动态刷新
2026-03-23 21:04:15 +08:00
odboy 82707de831 docs: 更新 README API 文档,补充完整路由列表 2026-03-20 21:17:24 +08:00
odboy 858dfcb5cf feat: 查询条件优化和 xorm session 修复 2026-03-18 21:01:04 +08:00