1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
Unleash is the open source feature toggle service.
Go to file
2020-02-20 08:30:38 +01:00
bin
docs
lib Add unit-test for /health route 2020-02-20 08:30:38 +01:00
migrations
scripts
test fix db test 2020-02-20 08:30:38 +01:00
.editorconfig
.eslintignore
.eslintrc
.gitignore
.travis.yml correct order 2020-02-20 08:30:38 +01:00
app.js
LICENSE
migrator.js
package.json upgrade express-validator 2020-02-20 08:30:38 +01:00
Procfile
README.md Update README.md 2020-02-20 08:30:38 +01:00
server-dev.js
server-impl.js
server-prod.js

unleash

__Warning: We are in the process of splitting up unleash into multiple packages in this repository, if you want to test the previous package see previous tag __

Build Status 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:

Project details

Run with docker

We have set up docker-compose to start postgres and the unleash server together. This makes it really fast to start up unleash locally without setting up a database or node.

You find the docker files inside the packages/unleash-docker folder

$ docker-compose build
$ docker-compose up

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

// Build unleash-frontend 
// (yes this is a bit wierd and be easier when we have a release of the frontend artifact).
// You can of course "npm link unleash-frontend" instead 
cd node_modules/unleash-frontend && npm install

// Start server in development
npm start:dev

// Admin dashboard
http://localhost:4242

// Feature API:
http://localhost:4242/api/features

// Execute tests in all packages:
npm 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('../scripts/migration-runner').create('NNN-your-migration-name');
  4. Run db-migrate up.
  5. Generate LB artifact using scripts/generate-liquibase-artifact (TODO: make this internal)

Publishing / Releasing new packages

Please run npm run nsp nad npm run lint checks before publishing.

Run npm run publish to start the publishing process. Lerna is setup with independent versioning so you will be prompted with version per package, and lerna will update all the versions across packages.

npm run publish:dry