Code Monkey home page Code Monkey logo

flipt's Introduction

Flipt

An open source, self-hosted feature flag solution


Flipt

Flipt is an open source, self-hosted 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

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 existing applications easily
  • Powerful REST API
  • Modern, mobile friendly ๐Ÿ“ฑ UI and debug console
  • Support for multiple databases (Postgres, MySQL, SQLite)
  • Data import and export to allow storing your data as code
  • Cloud ready โ˜๏ธ. Runs anywhere: bare metal, PaaS, K8s, with Docker or without.

Values

  • ๐Ÿ”’ 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.
  • ๐Ÿ‘ Compatibility - REST, GRPC, MySQL, Postgres, SQLite, Redis.. Flipt supports it all.

Works With

SQLite MySQL PostgreSQL Redis Prometheus

Try It

Try the latest version of Flipt out for yourself.

Sandbox

Try Flipt in a deployed environment!

Note: The database gets cleared every 30 minutes in this sandbox environment!

Docker

Flipt

โฏ docker run --rm -p 8080:8080 -p 9000:9000 -t flipt/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.

Logos

Some of the companies depending on Flipt in production.

Paradigm Rokt

Using Flipt at your company? Open a PR and add your logo here!

Integration

Checkout the integration docs for more info on how to integrate Flipt into your existing application.

REST API

Flipt is equipped with a fully functional REST API. In fact, the Flipt UI is completely backed by this same API. This means that anything that can be done in the Flipt UI can also be done via the REST API.

The Flipt REST API can also be used with any language that can make HTTP requests.

โ— Offical generated REST clients coming soon.

Official GRPC Client Libraries

โ— Offical GRPC clients in other languages coming soon.

Third-Party Client Libraries

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

Library Language Author Desc
flipt-grpc-python Python @getsentry Python GRPC bindings for Flipt
rflipt React @christopherdiehl Components/example project to control React features backed by Flipt
flipt-php PHP @fetzi Package for evaluating feature flags via the Flipt REST API using HTTPlug
flipt-js Javascript @betrybe Flipt library for JS that allows rendering components based on Feature Flags ๐ŸŽ‰

Generate Your Own

If a client in your language is not available for download, you can easily generate one yourself using the existing protobuf definition. The GRPC documentation has extensive examples on how to generate GRPC clients in each supported language.

Examples

Check out the examples to see how Flipt works.

Here's a basic one to get started!

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.

See LICENSE.

Sponsors

If you use Flipt at your company, please consider becoming a sponsor today.

Enterprise

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!

Community

For help and discussion around Flipt, feature flag best practices, and more, join us on Discord.

Feedback

If you are a user of Flipt I'd really โค๏ธ it if you could leave a testimonal on how Flipt is working for you.

https://testimonial.to/flipt

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.

Contributors โœจ

Thanks goes to these wonderful people (emoji key):


Aaron Raff

๐Ÿ’ป

Rodrigo Chacon

๐Ÿ’ป

Christopher Diehl

๐Ÿ’ป

Andrew Z Allen

๐Ÿ“–

Sebastien Armand

๐Ÿ’ป

Dat Tran

๐Ÿ’ป

Jon Perl

โš ๏ธ ๐Ÿ’ป

Or Elimelech

๐Ÿ’ป

giddel

๐Ÿ’ป

Eduardo

๐Ÿ“– ๐Ÿ’ป

Itai Schwartz

๐Ÿ’ป

Ikko Ashimine

๐Ÿ“–

Mรกrk Sรกgi-Kazรกr

๐Ÿ’ป

Dan Piet

๐Ÿ’ป

Amay Shah

๐Ÿ’ป

kevin-ip

๐Ÿ’ป

albertchae

๐Ÿ’ป

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

flipt's People

Contributors

markphelps avatar dependabot[bot] avatar dependabot-preview[bot] avatar allcontributors[bot] avatar jperl avatar vic3lord avatar imgbot[bot] avatar snyk-bot avatar itaischwartz avatar aaronraff avatar pietdaniel avatar kevin-ip avatar rochacon avatar edumucelli avatar christopherdiehl avatar amayvs avatar achew22 avatar badboyd avatar eltociear avatar sagikazarmark avatar khepin avatar gitter-badger avatar albertchae avatar giddel avatar github-actions[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.