Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://openflagr.github.io/flagr/
Flagr is a feature flagging, A/B testing and dynamic configuration microservice
https://openflagr.github.io/flagr/
ab-testing dynamic-configuration feature-flags feature-toggles golang swagger
Last synced: 11 days ago
JSON representation
Flagr is a feature flagging, A/B testing and dynamic configuration microservice
- Host: GitHub
- URL: https://openflagr.github.io/flagr/
- Owner: openflagr
- License: apache-2.0
- Created: 2017-10-03T19:07:32.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2024-10-25T00:24:26.000Z (19 days ago)
- Last Synced: 2024-10-29T15:04:05.654Z (14 days ago)
- Topics: ab-testing, dynamic-configuration, feature-flags, feature-toggles, golang, swagger
- Language: Go
- Homepage: https://openflagr.github.io/flagr
- Size: 40 MB
- Stars: 2,431
- Watchers: 62
- Forks: 185
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-feature-flag-management - flagr - An open-source feature flagging, A/B testing, and dynamic configuration microservice ` Go`. (Fully Open-Source Projects / Multi-language Management Platforms)
README
## Introduction
`openflagr/flagr` is a community-driven OSS effort of advancing the development of Flagr.Flagr is an open source Go service that delivers the right experience to the right entity and monitors the impact. It provides feature flags, experimentation (A/B testing), and dynamic configuration. It has clear swagger REST APIs for flags management and flag evaluation.
## Documentation
- https://openflagr.github.io/flagr## Quick demo
Try it with Docker.
```sh
# Start the docker container
docker pull ghcr.io/openflagr/flagr
docker run -it -p 18000:18000 ghcr.io/openflagr/flagr# Open the Flagr UI
open localhost:18000
```Or try it on [https://try-flagr.onrender.com](https://try-flagr.onrender.com),
it may take a while for a cold start, and every commit to the `main` branch will trigger
a redeployment of the demo website.```
curl --request POST \
--url https://try-flagr.onrender.com/api/v1/evaluation \
--header 'content-type: application/json' \
--data '{
"entityID": "127",
"entityType": "user",
"entityContext": {
"state": "NY"
},
"flagID": 1,
"enableDebug": true
}'
```## Flagr Evaluation Performance
Tested with `vegeta`. For more details, see [benchmarks](./benchmark).
```
Requests [total, rate] 56521, 2000.04
Duration [total, attack, wait] 28.2603654s, 28.259999871s, 365.529µs
Latencies [mean, 50, 95, 99, max] 371.632µs, 327.991µs, 614.918µs, 1.385568ms, 12.50012ms
Bytes In [total, mean] 23250552, 411.36
Bytes Out [total, mean] 8308587, 147.00
Success [ratio] 100.00%
Status Codes [code:count] 200:56521
Error Set:
```## Flagr UI
## Client Libraries
| Language | Clients |
| -------- | ------- |
| Go | [goflagr](https://github.com/openflagr/goflagr) |
| Javascript | [jsflagr](https://github.com/openflagr/jsflagr) |
| Python | [pyflagr](https://github.com/openflagr/pyflagr) |
| Ruby | [rbflagr](https://github.com/openflagr/rbflagr) |## License and Credit
- [`openflagr/flagr`](https://github.com/openflagr/flagr) Apache 2.0
- [`checkr/flagr`](https://github.com/checkr/flagr) Apache 2.0