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.
There are two ways you can work with/develop the Bandiera code-base - locally on your own machine (connected to your own database etc.); or within docker containers.
We prefer the docker setup as this is most likely closer to a production setup than your local machine (unless you run the same OS and setup as your production boxes).
Then run the following command:
docker-compose build docker-compose up -d db
This runs the db in the background under docker.
docker-compose run app bundle exec rake db:migrate docker-compose up app
This builds the docker containers for Bandiera, sets up your development database, and then starts the service.
You can now visit the web interface at
http://127.0.0.1:5000 if you are on Linux, or
http://192.168.59.103:5000 on Mac OS X (if this
doesn't work check the IP of your docker machine with
docker-machine ipdocker-machine active``).
You're all set to develop Bandiera now!
You can also run the test suite within a docker container, simply run the following command in another terminal (or tab):
docker-compose up test
This uses Guard and will run the test suite every time you update one of the files.
Install Docker for Mac
Install docker and docker-compose by following the Docker instructions here.
You're now ready to go.
Install Docker for Windows
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.
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.