* wip * Fix tools install in Docker; add workflow to ensure Docker build works
|2 weeks ago|
|.devcontainer||7 months ago|
|.github||2 weeks ago|
|.licenses/go||9 months ago|
|.vscode||6 months ago|
|_tools||2 weeks ago|
|bin||3 years ago|
|build||2 months ago|
|cmd/flipt||3 weeks ago|
|config||8 months ago|
|errors||12 months ago|
|examples||8 months ago|
|rpc/flipt||2 months ago|
|script||1 month ago|
|server||1 month ago|
|storage||3 weeks ago|
|swagger||2 months ago|
|test||4 weeks ago|
|ui||2 weeks ago|
|.all-contributorsrc||4 weeks ago|
|.dockerignore||2 weeks ago|
|.env||1 year ago|
|.gitignore||7 months ago|
|.golangci.yml||1 month ago|
|.goreleaser.yml||6 months ago|
|.imgbotconfig||2 years ago|
|.licensed.yml||1 year ago|
|.nancy-ignore||4 weeks ago|
|Brewfile||2 months ago|
|CHANGELOG.md||6 months ago|
|CHANGELOG.template.md||3 years ago|
|CODE_OF_CONDUCT.md||3 years ago|
|DEVELOPMENT.md||2 months ago|
|Dockerfile||2 weeks ago|
|Dockerfile.it||4 weeks ago|
|LICENSE||3 years ago|
|Makefile||1 month ago|
|README.md||4 weeks ago|
|buf.gen.yaml||2 months ago|
|buf.public.gen.yaml||2 months ago|
|buf.work.yaml||2 months ago|
|cli.gif||1 year ago|
|codecov.yml||2 months ago|
|demo.gif||2 years ago|
|docker-compose.yml||2 years ago|
|flipt.png||2 years ago|
|go.mod||3 weeks ago|
|go.sum||3 weeks ago|
|logo.svg||2 years ago|
An open-source, on-prem feature flag solution
Flipt is an open source, on-prem feature flag application that allows you to run experiments across services in your environment.
Flipt can be deployed within your existing infrastructure so that you don't have to worry about your information being sent to a third party or the latency required to communicate across the internet.
Flipt supports use cases such as:
- Simple on/off feature flags to toggle functionality in your applications
- Rolling out features to a percentage of your customers
- Using advanced segmentation to target and serve users based on custom properties that you define
- Fast. Written in Go. Optimized for performance
- Stand alone, easy to run and configure
- Ability to create advanced distribution rules to target segments of users
- Native GRPC client SDKs to integrate with your applications
- Simple REST API
- Modern UI and debug console
- Support for multiple databases (Postgres, MySQL, SQLite)
- Data import and export to allow storing your flags as code
- 🔒 Security - HTTPS support. No data leaves your servers and you don't have to open your systems to the outside world to communicate with Flipt. It all runs within your existing infrastructure.
- 🚀 Speed - Since Flipt is co-located with your existing services, you do not have to communicate across the internet which can add excessive latency and slow down your applications.
- ✅ Simplicity - Flipt is a single binary with no external dependencies by default.
- ⛔ Privacy - No telemetry data is collected or sent by Flipt. Ever.
- 👍 Compatibility - REST, GRPC, MySQL, Postgres, SQLite.. Flipt supports it all.
Check out the examples to see how Flipt works.
Here's a basic one to get started!
Try Flipt out yourself with Docker:
❯ docker run --rm -p 8080:8080 -p 9000:9000 -t markphelps/flipt:latest
Flipt UI will now be reachable at http://127.0.0.1:8080/.
For more permanent methods of running Flipt, see the Installation section.
There are currently two types of licenses in place for Flipt:
- Client License
- Server License
All of the code required to generate GRPC clients in other languages as well as the existing GRPC Go client are licensed under the MIT License.
This code exists in the rpc/ directory.
The client code is the code that you would integrate into your applications, which is why a more permissive license is used.
The server code is licensed under the GPL 3.0 License.
If you use Flipt at your company, please consider becoming a sponsor today.
Need more features or support using Flipt within your Enterprise?
Please help me prioritize an Enterprise version of Flipt by filling out this short survey!
- Business-friendly Licensing
- User Management and Audit Trail
- Multiple Environments (ex: dev/staging/prod)
I would love your help! Before submitting a PR, please read over the Contributing guide.
No contribution is too small, whether it be bug reports/fixes, feature requests, documentation updates, or anything else that can help drive the project forward.
Thanks goes to these wonderful people (emoji key):
Andrew Z Allen
This project follows the all-contributors specification. Contributions of any kind welcome!