You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
dependabot[bot] 4dfee48042
Bump axios from 0.21.1 to 0.21.4 in /ui (#552)
1 week ago
.devcontainer Dev Container (#474) 3 months ago
.github Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#542) 3 weeks ago
.licenses/go Bump github.com/uber/jaeger-client-go from 2.25.0+incompatible to 2.27.0+incompatible (#412) 5 months ago
.vscode Fix vscode default build task 2 months ago
_tools Go embed (#492) 3 months ago
bin Initial commit 3 years ago
build Native goreleaser (#482) 3 months ago
cmd/flipt Go embed (#492) 3 months ago
config DB key/value config (#326) 1 year ago
errors Empty string constraint fixes (#193) 2 years ago
examples Devcontainer (#463) 4 months ago
rpc Feature: batch evaluate exclude not found (#518) 2 months ago
script Fix generate client script for go pkg 1 month ago
server Feature: batch evaluate exclude not found (#518) 2 months ago
storage Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#360) 10 months ago
swagger Feature: batch evaluate exclude not found (#518) 2 months ago
test Bump github.com/spf13/cobra from 1.1.3 to 1.2.1 (#496) 1 month ago
ui Bump axios from 0.21.1 to 0.21.4 in /ui (#552) 1 week ago
.all-contributorsrc docs: add eltociear as a contributor for doc (#523) 2 months ago
.dockerignore Devcontainer (#463) 4 months ago
.env Tools (#331) 1 year ago
.gitignore Go embed (#492) 3 months ago
.golangci.yml Bump google.golang.org/protobuf from 1.25.0 to 1.26.0 (#398) 5 months ago
.goreleaser.yml Update changelog for v1.4.0 2 months ago
.imgbotconfig Dont try to optimize svgs 2 years ago
.licensed.yml Bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0 (#371) 9 months ago
Brewfile Native goreleaser (#482) 3 months ago
CHANGELOG.md Update changelog for v1.4.0 2 months ago
CHANGELOG.template.md Initial commit 3 years ago
CODE_OF_CONDUCT.md Create CoC [ci skip] 2 years ago
DEVELOPMENT.md Update DEVELOPMENT.md (#522) 2 months ago
Dockerfile Dev Container (#474) 3 months ago
Dockerfile.it Build IT image and use for ITs (#497) 3 months ago
LICENSE Initial commit 3 years ago
Makefile add commit hash to dev build (#517) 2 months ago
README.md docs: add eltociear as a contributor for doc (#523) 2 months ago
cli.gif Add cli gif 12 months ago
codecov.yml Add batch eval test, bump protoc-gen-go (#298) 1 year ago
demo.gif [ImgBot] Optimize images (#317) 1 year ago
docker-compose.yml Create docker-compose.yml 2 years ago
flipt.png Readme/docs update 2 years ago
go.mod Bump github.com/lib/pq from 1.10.2 to 1.10.3 (#549) 2 weeks ago
go.sum Bump github.com/lib/pq from 1.10.2 to 1.10.3 (#549) 2 weeks ago
logo.svg [ImgBot] Optimize images (#179) 2 years ago

README.md

Flipt

An open-source, on-prem feature flag solution


Flipt

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

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 (Postgres, MySQL, SQLite)
  • Data import and export to allow storing your flags as code

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.
  • Privacy - No telemetry data is collected or sent by Flipt. Ever.
  • 👍 Compatibility - REST, GRPC, MySQL, Postgres, SQLite.. Flipt supports it all.

Examples

Check out the examples to see how Flipt works.

Here's a basic one to get started!

Try It

Flipt Docker

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.

GRPC Clients

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!

Potential Features

  • Business-friendly Licensing
  • User Management and Audit Trail
  • Multiple Environments (ex: dev/staging/prod)

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

📖

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