eirslett 4c9626b6a3 Remove envconsul from Dockerfile
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.
2020-02-20 08:30:23 +01:00
2020-02-20 08:30:23 +01:00
2020-02-20 08:30:20 +01:00
2020-02-20 08:30:23 +01:00
2020-02-20 08:30:21 +01:00
2020-02-20 08:30:23 +01:00
2020-02-20 08:30:21 +01:00
2020-02-20 08:30:23 +01:00
2014-09-29 14:50:46 +02:00
2020-02-20 08:30:21 +01:00
2020-02-20 08:30:23 +01:00
2020-02-20 08:30:23 +01:00

unleash

Build Status Code Climate Coverage Status Dependency Status devDependency Status

Admin UI

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

  1. Create migrations/sql/NNN-your-migration-name.up.sql with your change in SQL.
  2. Create migrations/sql/NNN-your-migration-name.down.sql with the rollback of your change in SQL.
  3. 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');
  4. Run db-migrate up.
  5. Generate LB artifact using scripts/generate-liquibase-artifact (TODO: make this internal)
Languages
TypeScript 97.1%
JavaScript 2.2%
Mustache 0.5%