- Notifications
You must be signed in to change notification settings - Fork2
🏁 Open-source Feature Management Platform
License
flagbase/flagbase
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Flagbase: Democratizing Feature Management
Flagbase is an open-source feature management platform, allowing you to manage, track and deliver feature flags to all your applications, in real-time. Flagbase was built with performance in mind, whilst being simple to use.
Flagbase offers these three key features:
- Workspace / Projects / Environments
- Feature Flags / Advanced Targeting
- Segments for reusable targeting
- Custom IAM roles and policies
Integrating Flagbase in your application is super simple. Get started by following ourQuick Start Guide today!
Whilst Flagbase is quite minimal at its core - its extendable nature allows you to tailor it your organisation's needs.
Below are some of the features Flagbase offers:
Flagbase uses a percentage-based targeting system by default - allowing you to incrementally release you feature to a particular segment of your users over time.
Flagbase offers client-side and server-side SDKs for feature flagging. Client-side SDKs, embedded in client applications, personalize features for end-users but may have slower performance. Server-side SDKs handle server-to-server communication, maintain security, and are designed for high traffic and scalability.
Client SDK | Server SDK |
---|---|
![]() | ![]() |
Flagbase's resource hierarchy consists of instances, access, workspaces, projects, environments, flags, identities, segments, and targeting. An instance is a single Flagbase core installation using a shared PostgreSQL database. Access refers to key/secret pairs restricting operations on resources. Workspaces group projects, while projects contain flags and segments across multiple environments. Environments represent different targeting states. Flags determine feature states, while identities are flag observer/consumers. Segments group users based on traits, and targeting rules map conditions to flag variations within specific environments.
- Multiple transports (HTTP long-polling, SSE)
- Robust Identity & Access Management (IAM) that uses a hybrid RBAC/ABAC design policy based access control
- Extend to use additional contextual data from flag evaluations, using your own data sources
- Self hosted: can be provisioned to the cloud of your choice or run on-prem
Flagbase is very easy to get up and running. Follow ourquick start guide to get up an running:
- Set up the core: provision the service on server(s). You can use your preferred cloud vendor.
- Integrate to your application: use the SDK in your application to wrap features you want to control remotely.
- Configure targeting: set up your flag's targeting rules so users see feature variations intended for them.
That's it! Now your ready to release your feature code - knowing that you'll be able to turn it off anytime 🚀
Thismonorepo contains the code for Flagbase Core, UI & SDKs.
/core
: Code forflagbased
, the service used to manage protected resources and stream feature flags to the SDKs. This service can be run in multiple worker modes, includingpoller
,streamer
andAPI
./sdk
: SDKs retrieve and evaluate feature flags from the service./ui
: UI interacts with theCore API. It is used to manage resources (e.g. workspaces, projects, environments, flags, etc)./website
: Code forflagbase.com, build usingDocusaurus.
Pleaseraise an issue and label it withhelp wanted
orquestion
for any help.
We encourage community contributions via pull requests. Before opening up a PR, please read ourcontributor guidelines.
Join us onGithub Discussions.
- Announcements: General PSAs & feature updates
- Development: Where contributors discuss ideas
- Help: Stuck on something? Ask for help here 😄
Flagbase's roadmap consists of our step-by-step plan made up of different parts:
- Roadmap
- Goals: big things we want to achieve
- Objectives: smaller goals that help reach the big ones
- Tasks: to-do items that explain what needs to be done to meet each objective
Mozilla Public License Version 2.0, seeLICENSE
About
🏁 Open-source Feature Management Platform