Skip to content
forked from flipt-io/flipt

A feature flag solution that runs in your existing infrastructure

License

Notifications You must be signed in to change notification settings

aaronraff/flipt

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Flipt

A feature flag solution that runs in your existing infrastructure


Flipt

What is Flipt

Flipt is an open source feature flag application that allows you to run experiments across services in your environment.

This means that you can deploy Flipt within your existing infrastructure and not have to worry about your information being sent to a third party or the latency required to communicate across the internet.

Flipt is a single, self contained binary that you run on your own servers or cloud infrastructure. There are a multitude of benefits to running Flipt yourself, including:

  • πŸ”’ 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.

Why Flipt

Flipt allows you to focus on building your applications without having to worry about implementing your own feature flag solution that works across your entire infrastructure.

With Flipt you can:

  • Use simple on/off feature flags to toggle functionality in your applications
  • Rollout features to a subset of your audience
  • Use advanced segmentation to target and serve users based on custom properties that you define

On top of all this, Flipt provides a clean, modern UI so that you can always monitor the state of your feature flags and experiments in a single place.

Features

  • 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

Try It!

❯ docker run --rm -p 8080:8080 -p 9000:9000 markphelps/flipt:latest

Flipt UI will now be reachable at http://localhost:8080/.

For more permanent methods of running Flipt, see the Installation section.

⚠️ Beta Software ⚠️

Flipt is still considered beta software until the 1.0.0 release. This means that there are likely bugs and features/configuration may change between releases. Attempts will be made to maintain backwards compatibility whenever possible.

Clients

There are two ways to communicate with the Flipt server from your applications:

  1. GRPC
  2. REST API

To figure out which best supports your usecase and how to get client(s) in your preferred language, see the Integration docs.

Official Clients

Third-Party Client Libraries

Client libraries built by awesome people from the Open Source community:

Databases

Flipt supports both SQLite and Postgres databases as of v0.5.0.

SQLite is enabled by default for simplicity, however you should use Postgres if you intend to run multiple copies of Flipt in a high availability configuration.

See the Configuration documentation for more information.

Licensing

There are currently two types of licenses in place for Flipt:

  1. Client License
  2. Server License

Client 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.

Server License

The server code is licensed under the GPL 3.0 License.

If there are any concerns about the use of this license for the server, please open an issue on GitHub so that we can discuss publicly.

Author

twitter/mark_a_phelps
Mark Phelps

Contributing

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.

Pro Version

My plan is to soon start working on a Pro Version of Flipt for enterprise. Along with support, some of the planned features include:

  • User management/permissions
  • Multiple environments
  • Audit log
  • Streaming updates

If you or your organization would like to help beta test a Pro version of Flipt, please get in touch with me:

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Aaron Raff
Aaron Raff

πŸ’»
Rodrigo Chacon
Rodrigo Chacon

πŸ’»
Christopher Diehl
Christopher Diehl

πŸ’»
Andrew Z Allen
Andrew Z Allen

πŸ“–

This project follows the all-contributors specification. Contributions of any kind welcome!

Support

Want to support Flipt development in other ways?

BTC

Send me some satoshi: 3B6ct7jZnDJRAfWSCpX12ZobvBqFNDx7hz

send me some satoshi

Coffee β˜•

buy me a coffee

About

A feature flag solution that runs in your existing infrastructure

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 55.0%
  • Shell 21.3%
  • Vue 14.8%
  • JavaScript 5.4%
  • Python 1.2%
  • TSQL 1.0%
  • Other 1.3%