1 unstable release
0.0.2 | May 22, 2024 |
---|
#1624 in Database interfaces
Used in flagrant-api
49KB
952 lines
Flagrant - CLI-driven feature flagging system
Feature flagging niche is long time filled in with excellent solutions like https://www.getunleash.io/ or https://www.flagsmith.com/, so why yet another app on top of this cake? Flagrant has an ambition to become a Redis of feature flagging - small, reliable and completely CLI driven server providing all that's needed to keep features under control. Namely, it's supposed to bring in:
- multiple environments (prod, dev, test, etc)
- multivariant features
- segment overrides
- identity overrides
- scheduled on/off
- analytics
- client libraries for rust/jvm/js
As it's written in Rust, Flagrant comes with low-level resource utilisation and blazingly fast mode switched on by default 😃
Architecture
To keep things simple yet still allow for extensibilty, code has been structured into following modules (crates)
- flagrant - core logic (requests distribution among others)
- flagrant-types - core types shared across all other modules
- flagrant-api - HTTP server exposing crucial endpoints both for clients and management
- flagrant-cli - a command-line interface to communicate with server
- flagrant-client - a client library ensuring seamless communication between client- and server-side, with caching, etc.
Dependencies
~34–46MB
~785K SLoC