RolloutUI: A slick way to rollout features in your web app.
What does it do?
RolloutUI provides a zero-configuration user interface for James Golick's rollout. RolloutUI auto-detects features defined in rollout in your application. It allows you to release features to groups, users or a percentage of your userbase through a nice interface rather than digging around in the console or modifying redis directly.
It looks something like this:
First, get rollout set up and running on your app and define at least one feature.
Then you're ready to use RolloutUI.
Add it to your gemfile:
Wrap your rollout instance:
$rollout = Rollout.new($redis) RolloutUi.wrap($rollout)
application.rb file, require the rollout engine:
Mount the Rails engine in your routes.rb file:
mount RolloutUi::Engine => "/rollout"
Run the sinatra app. You can either run it as it's own app, or run it in
tandom with other rack apps. Example: using Rack's
URLMap in your
run Rack::URLMap.new \ "/" => Your::App.new, "/rollout" => RolloutUi::Server.new
Protecting the sinatra app with HTTP basic auth is probably a good idea.
Put this somewhere before the
URLMap in your
RolloutUi::Server.use Rack::Auth::Basic do |username, password| username == '<some username>' && password == '<some password>' end
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so I don't break it in a future version unintentionally.
- Send me a pull request.