mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-01 00:08:27 +01:00
Unleash is the open source feature toggle service.
activation-strategiescontinuous-deliverycontinuous-deploymentdevopsdevtoolexperimentsfeaturefeature-flagsfeature-togglefeature-togglesfeature-togglinghacktoberfesttogglesunleashvariants
c510e1f456
The open source version of Unleash shouldn't depend on envconsul, since that's an internal operations detail at FINN.no. Instead, we accept configuration from environment variables passed through from the "docker run" command, or via Marathon/Mesos. |
||
---|---|---|
helpers | ||
lib | ||
migrations | ||
public | ||
scripts | ||
test | ||
.dockerignore | ||
.editorconfig | ||
.gitignore | ||
.jshintrc | ||
.travis.yml | ||
app.js | ||
artifact.json | ||
docker-compose.yml | ||
Dockerfile | ||
finnbuild.json | ||
jest-preprocessor.js | ||
LICENSE | ||
package.json | ||
README.md | ||
server.js | ||
Vagrantfile | ||
webpack.config.js |
unleash
Demo instance on Heroku
This repo contains the unleash-server, which contains the admin UI and a place to ask for the status of features. In order to make use of unleash you will also need a client implementation.
Known client implementations:
Development
Create a local unleash databases in postgres
$ psql postgres <<SQL
CREATE USER unleash_user WITH PASSWORD 'passord';
CREATE DATABASE unleash;
GRANT ALL PRIVILEGES ON DATABASE unleash to unleash_user;
CREATE DATABASE unleash_test;
GRANT ALL PRIVILEGES ON DATABASE unleash_test to unleash_user;
SQL
Then set env vars:
export DATABASE_URL=postgres://unleash_user:passord@localhost:5432/unleash
export TEST_DATABASE_URL=postgres://unleash_user:passord@localhost:5432/unleash_test
Commands
// Install dependencies
npm install
// Run migrations in your local DBs
./node_modules/.bin/db-migrate up
DATABASE_URL=$TEST_DATABASE_URL ./node_modules/.bin/db-migrate up
// Start server in dev-mode:
npm run dev
// Admin dashboard
http://localhost:4242
// Feature API:
http://localhost:4242/features
// Execute tests:
npm test
// Run tests with postgres running in docker:
npm run docker-test
Making a schema change
- Create
migrations/sql/NNN-your-migration-name.up.sql
with your change in SQL. - Create
migrations/sql/NNN-your-migration-name.down.sql
with the rollback of your change in SQL. - Run
db-migrate create your-migration-name
and edit the generated file to have this line:module.exports = require('../lib/migrationRunner').create('NNN-your-migration-name');
- Run
db-migrate up
. - Generate LB artifact using
scripts/generate-liquibase-artifact
(TODO: make this internal)