#cli #feature-flags #sqlite #hugsql

bin+lib flagrant-api

基于CLI的功能标志

1 个不稳定版本

0.0.2 2024年5月22日

#2343数据库接口

MIT 许可证

70KB
1K SLoC

Rust 1K SLoC // 0.0% comments SQL 139 SLoC // 0.3% comments

Flagrant - 基于CLI的功能标志系统

功能标志领域长期以来已被诸如https://www.getunleash.io/https://www.flagsmith.com/ 等优秀解决方案所占据,那么为什么还要在这个领域上再增加一个应用程序呢?Flagrant的雄心是成为功能标志领域的Redis - 一个小巧、可靠且完全由CLI驱动的服务器,提供所有控制功能所需的一切。具体来说,它应该提供以下内容:

  • 多个环境(生产、开发、测试等)
  • 多变量功能
  • 分段覆盖
  • 身份覆盖
  • 定时开关
  • 分析
  • rust/jvm/js客户端库

由于Flagrant是用Rust编写的,因此它具有低级别的资源利用和默认开启的极快模式 😃

架构

为了保持简单同时仍允许扩展,代码已被结构化为以下模块(crate):

  • flagrant - 核心逻辑(包括请求分配等)
  • flagrant-types - 在所有其他模块中共享的核心类型
  • flagrant-api - 提供关键端点的HTTP服务器,供客户端和管理使用
  • flagrant-cli - 与服务器通信的命令行界面
  • flagrant-client - 确保客户端和服务器端之间无缝通信的客户端库,具有缓存等。

依赖项

~41–55MB
~1M SLoC