UPDATE February, 2023: Unfortunatley I just don't have time (or the enthusiasim) to keep this project up to date and working as I'm no longer using it anywhere. If anyone is still using this in production and would like to see it stay alive please get in touch. 😄
Bandiera is a simple, stand-alone feature flagging service that is not tied to any existing web framework or language as all communication is via a simple REST API. It also has a simple web interface for setting up and configuring flags.
- Ruby - https://github.com/springernature/bandiera-client-ruby
- Node - https://github.com/springernature/bandiera-client-node
- Scala - https://github.com/springernature/bandiera-client-scala
- PHP - https://github.com/springernature/bandiera-client-php
The recommended way to run bandiera in production is via docker. The only dependency is a MySQL or PostgreSQL database.
Simply pull/run the bandiera image: docker.io/dazoakley/bandiera
and pass in the DATABASE_URL
connection string as an environment variable described below.
First, you will need the version of Ruby defined in the .ruby-version file and bundler installed. You will also need to install phantomjs as this is used by the test suite for integration tests.
After that, set up your database (MySQL or PostgreSQL) ready for Bandiera (just an empty schema for now), and setup an environment variable with a Sequel connection string i.e.
export DATABASE_URL='postgres://bandiera:bandiera@localhost/bandiera'
If you don't have a local database server setup you can use PostgreSQL configured in the docker-compose file like so (and set your DATABASE_URL as above):
docker-compose up -d db
Now install the dependencies, setup the database and run the app server:
bundle install
bundle exec rake db:migrate
bundle exec shotgun -p 5000 -s puma
You can now visit the web interface at http://127.0.0.1:5000.
Use this command to run the test suite:
bundle exec rspec
Or if you prefer to use Guard:
bundle exec guard -i -p -l 1
Now you're ready to go.
All other documentation can be found on the Bandiera Wiki
Bandiera is licensed under the GNU General Public License 3.0.