{"repo":"tompave/fun_with_flags","free":true,"listed":false,"github":"https://github.com/tompave/fun_with_flags","clone":"git clone https://github.com/tompave/fun_with_flags.git","description":"Feature Flags/Toggles for Elixir","language":"Elixir","stars":1163,"topics":["elixir","feature-toggles","feature-flags","redis","ecto","phoenix-framework"],"license":"MIT","category":"databases-storage","readme_excerpt":"FunWithFlags FunWithFlags, the Elixir feature flag library. If you're reading this on the GitHub repo, keep in mind that this readme refers to the master branch. For the latest version released on Hex, please check the readme published with the docs. --- FunWithFlags is an OTP application that provides a 2-level storage to save and retrieve feature flags, an Elixir API to toggle and query them, and a web dashboard as control panel. It stores flag information in Redis or a relational DB (PostgreSQL, MySQL, or SQLite - with Ecto) for persistence and synchronization across different nodes, but it also maintains a local cache in an ETS table for fast lookups. When flags are added or toggled on a node, the other nodes are notified via PubSub and reload their local ETS caches. Content What's a Feature Flag Usage - Gate Priority and Interactions - Boolean Gate - Actor Gate - Group Gate - Percentage of Time Gate - Percentage of Actors Gate - Clearing a Feature Flag's Rules Web Dashboard Origin So, caching, huh? To Do Installation Configuration - Persistence Adapters - Ecto Multi-tenancy - Ecto Custom Primary Key Types - PubSub Adapters Extensibility - Custom Persistence Adapters Telemetry Application Start Behaviour Testing Development - Working with PubSub Locally - Benchmarks What's a Feature Flag? Feature flags, or feature toggles, are boolean values associated to a name. They should be used to control whether some application feature is enabled or disabled, and they are meant to ","default_branch":null,"files":null,"tree":[],"storefront":"/r/tompave","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/tompave/fun_with_flags/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}