Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/flipt-io/flipt

Enterprise-ready, GitOps enabled, CloudNative feature management solution
https://github.com/flipt-io/flipt

cloudnative continuous-delivery devex devops devtools feature-flags feature-toggles gitops go golang grpc grpc-gateway observability opentelemetry react typescript

Last synced: about 1 month ago
JSON representation

Enterprise-ready, GitOps enabled, CloudNative feature management solution

Lists

README

        


Flipt

An enterprise-ready, GRPC powered, GitOps enabled, CloudNative, feature management solution



Flipt Dashboard


๐Ÿ™ **Please help us make Flipt even better** by filling out this [short survey](https://1ld82idjvlr.typeform.com/to/msI2C6Gc)! Thank you!




Releases


GPL 3.0


Coverage


Go Report Card


Mentioned in Awesome Go


Discord


Public Roadmap


Flipt Newsletter


Flipt Twitter



Docs โ€ข
Website โ€ข
Blog โ€ข
Feedback โ€ข
Contributing โ€ข
Discord


[Flipt](https://www.flipt.io) enables you to follow DevOps best practices and separate releases from deployments. Built with high-performance engineering organizations in mind.

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.

With our [GitOps-friendly functionality](https://www.flipt.io/docs/guides/get-going-with-gitops), you can easily integrate Flipt into your CI/CD workflows to enable continuous configuration and deployment with confidence.



DevHunt - Tool of the Weekย 
Console - Developer Tool of the Week

## Managed Services

Don't want to manage your own Flipt instance? We've got you covered! Check out our in-progress [managed offerings](https://www.flipt.io/docs/managed/overview).

- [Bring Your Own Cloud](https://www.flipt.io/docs/managed/byoc) - Run Flipt in your cloud account, managed by us
- [Flipt Hybrid Cloud](https://www.flipt.io/docs/managed/hybrid) - Combine the benefits of self-hosted and fully-managed Flipt

Interested? Let us know by filling out this [form](https://1ld82idjvlr.typeform.com/to/s7YfGviE) and help us build the future of Flipt!

## Usecases

Flipt supports use cases such as:

- Enabling [trunk-based development](https://trunkbaseddevelopment.com/) workflows
- Testing new features internally during development before releasing them fully in production
- Ensuring overall system safety by guarding new releases with an emergency kill switch
- Gating certain features for different permission levels allows you to control who sees what
- Enabling continuous configuration by changing values during runtime without additional deployments


## Values

- ๐Ÿ”’ **Security** - No [SSO Tax](https://sso.tax/). HTTPS, OIDC, JWT, OAuth, K8s Service Token, and API Token authentication methods supported out of the box.
- ๐ŸŽ›๏ธ **Control** - 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** - GRPC, REST, MySQL, Postgres, CockroachDB, SQLite, LibSQL, Redis... Flipt supports it all.


## Features

- Stand-alone, single binary that's easy to run and [configure](https://www.flipt.io/docs/configuration/overview)
- Ability to create advanced distribution rules to target segments of users
- Modern UI and debug console with dark mode ๐ŸŒ™
- Import and export to allow storing your data as code
- Works with [Prometheus](https://prometheus.io/) and [OpenTelemetry](https://opentelemetry.io/) out of the box ๐Ÿ”‹
- CloudNative [Filesystem, Object, Git, and OCI declarative storage backends](https://www.flipt.io/docs/configuration/storage#declarative) to support GitOps workflows and more.
- Audit logging with Webhook support to track changes to your data

Are we missing a feature that you'd like to see? [Let us know!](https://features.flipt.io)


## Contributing

We would love your help! Before submitting a PR, please read over the [Contributing](CONTRIBUTING.md) 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.

Check out our [public roadmap](https://github.com/orgs/flipt-io/projects/4) to see what we're working on and where you can help.

Not sure how to get started? You can:

- [Book a pairing session/code walkthrough](https://calendly.com/flipt-mark/30) with one of our teammates!
- Join our [Discord](https://www.flipt.io/discord), and ask any questions there

- Dive into any of the open issues, here are some examples:
- [Good First Issues](https://github.com/flipt-io/flipt/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
- [Backend](https://github.com/flipt-io/flipt/issues?q=is%3Aissue+is%3Aopen+label%3Ago)
- [Frontend](https://github.com/flipt-io/flipt/issues?q=is%3Aopen+is%3Aissue+label%3Aui)

- Looking for issues by effort? We've got you covered:
- [XS](https://github.com/flipt-io/flipt/issues?q=is%3Aissue+is%3Aopen+label%3Axs)
- [Small](https://github.com/flipt-io/flipt/issues?q=is%3Aissue+is%3Aopen+label%3Asm)
- [Medium](https://github.com/flipt-io/flipt/issues?q=is%3Aissue+is%3Aopen+label%3Amd)
- [Large](https://github.com/flipt-io/flipt/issues?q=is%3Aissue+is%3Aopen+label%3Alg)
- [XL](https://github.com/flipt-io/flipt/issues?q=is%3Aissue+is%3Aopen+label%3Axl)

Review the [Architecture](ARCHITECTURE.md) and [Development](DEVELOPMENT.md) documentation for more information on how Flipt works.


## Community

For help and discussion around Flipt, feature flag best practices, and more, join us on [Discord](https://www.flipt.io/discord).


## Try It

Try the latest version of Flipt for yourself.

### Deploy



Deploy to DigitalOcean
ย 

Deploy to Render
ย 

Deploy to Railway


Deploy to Koyeb

### Sandbox

[Try Flipt](https://try.flipt.io) in a deployed environment!

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

### Homebrew :beer:

```bash
brew install flipt-io/brew/flipt
brew services start flipt

# or run in the foreground
flipt
```

Flipt UI will now be reachable at [http://127.0.0.1:8080/](http://127.0.0.1:8080).

### Docker :whale:

```bash
docker run --rm -p 8080:8080 -p 9000:9000 -t docker.flipt.io/flipt/flipt:latest
```

Flipt UI will now be reachable at [http://127.0.0.1:8080/](http://127.0.0.1:8080).

For more permanent methods of running Flipt, see the [Installation](https://flipt.io/docs/installation/) section.

### Nightly Build

Like to live on the edge? Can't wait for the next release? Our nightly builds include the latest changes on `main` and are built.. well.. nightly.

```bash
docker run --rm -p 8080:8080 -p 9000:9000 -t docker.flipt.io/flipt/flipt:nightly
```


## Supports


SQLite
MySQL
PostgreSQL
Turso
CockroachDB



Redis
Prometheus
OpenID
OpenTelemetry
Git


## Integration

Check out our [integration documentation](https://flipt.io/docs/integration/) for more info on how to integrate Flipt into your existing applications.

There are two ways to evaluate feature flags with Flipt:

- [Server Side](#server-side-evaluation)
- [Client Side](#client-side-evaluation)

### Server Side Evaluation

Server-side evaluation is the most common way to evaluate feature flags. This is where your application makes a request to Flipt to evaluate a feature flag and Flipt responds with the result of the evaluation.

Flipt exposes two different APIs for performing server-side evaluation:

- [GRPC](#grpc)
- [REST](#rest)

#### GRPC

Flipt is equipped with a fully functional GRPC API. GRPC is a high-performance, low-latency, binary protocol that is used by many large-scale companies such as Google, Netflix, and more.

See our [GRPC Server SDK documentation](https://www.flipt.io/docs/integration/server/grpc) for the latest information.

#### REST

Flipt is equipped with a fully functional REST API. 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](https://www.flipt.io/docs/reference/overview) can also be used with any language that can make HTTP requests.

See our [REST Server SDK documentation](https://www.flipt.io/docs/integration/server/rest) for the latest information.

### Client Side Evaluation

Client-side evaluation is a great way to reduce the number of requests that your application needs to make to Flipt. This is done by retrieving all of the feature flags that your application needs to evaluate and then evaluating them locally.

See our [Client SDK documentation](https://www.flipt.io/docs/integration/client) for the latest information.


## Release Cadence

Flipt follows [semantic versioning](https://semver.org/) for versioning.

We aim to release a new minor version of Flipt every 2-3 weeks. This allows us to quickly iterate on new features.
Bug fixes and security patches (patch versions) will be released as needed.


## Development

[Development](DEVELOPMENT.md) documentation is available for those interested in contributing to Flipt.

We welcome contributions of any kind, including but not limited to bug fixes, feature requests, documentation improvements, and more. Just open an issue or pull request and we'll be happy to help out!


[![Open in Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new/?repo=flipt-io/flipt)

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/flipt-io/flipt)


## Examples

Check out the [examples](/examples) to see how Flipt works in different use cases.


## 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 [Go SDK](/sdk/go) are licensed under the [MIT License](https://spdx.org/licenses/MIT.html).

This code exists in the [rpc/](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](https://spdx.org/licenses/GPL-3.0.html).

See [LICENSE](LICENSE).


## Contributors โœจ

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):



Aaron Raff
Aaron Raff

๐Ÿ’ป
Rodrigo Chacon
Rodrigo Chacon

๐Ÿ’ป
Christopher Diehl
Christopher Diehl

๐Ÿ’ป
Andrew Z Allen
Andrew Z Allen

๐Ÿ“–
Sebastien Armand
Sebastien Armand

๐Ÿ’ป
Dat Tran
Dat Tran

๐Ÿ’ป
Jon Perl
Jon Perl

โš ๏ธ ๐Ÿ’ป


Or Elimelech
Or Elimelech

๐Ÿ’ป
giddel
giddel

๐Ÿ’ป
Eduardo
Eduardo

๐Ÿ“– ๐Ÿ’ป
Itai Schwartz
Itai Schwartz

๐Ÿ’ป
Ikko Ashimine
Ikko Ashimine

๐Ÿ“–
Mรกrk Sรกgi-Kazรกr
Mรกrk Sรกgi-Kazรกr

๐Ÿ’ป
Dan Piet
Dan Piet

๐Ÿ’ป


Amay Shah
Amay Shah

๐Ÿ’ป
kevin-ip
kevin-ip

๐Ÿ’ป
albertchae
albertchae

๐Ÿ’ป
Thomas Sickert
Thomas Sickert

๐Ÿ“–
Jameel Al-Aziz
Jameel Al-Aziz

๐Ÿ“ฆ
George
George

๐Ÿ’ป
Chase Pierce
Chase Pierce

๐Ÿ’ป


ITO Shogo
ITO Shogo

โš ๏ธ
Yoofi Quansah
Yoofi Quansah

๐Ÿ’ป
Darin McLain
Darin McLain

๐Ÿ’ป
Adam Weiss
Adam Weiss

๐Ÿ’ก
Yuval Goihberg
Yuval Goihberg

๐ŸŽจ
David Stotijn
David Stotijn

๐Ÿ’ป
Matthew Notarangelo
Matthew Notarangelo

๐Ÿ’ป


Charles OConor
Charles OConor

๐Ÿ“–
Andrew Hobson
Andrew Hobson

๐Ÿ’ป
Rudinei Goi Roecker
Rudinei Goi Roecker

๐Ÿ’ป
guangwu
guangwu

๐Ÿ’ป
Collin Driscoll
Collin Driscoll

๐Ÿ’ป
James
James

๐Ÿ’ป
legoheld
legoheld

๐Ÿ’ป


Akshay Nair
Akshay Nair

๐Ÿ’ป
Roman Dmytrenko
Roman Dmytrenko

๐Ÿ’ป
Mattia Forcellese
Mattia Forcellese

๐Ÿ’ป
Mohammed El Amine Rhazzar
Mohammed El Amine Rhazzar

๐Ÿ’ป
Julie Gladden
Julie Gladden

๐Ÿ’ป

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!