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:27 +01:00
packages
.editorconfig
.eslintignore
.eslintrc
.gitignore
.travis.yml
lerna.json
LICENSE
package.json
Procfile
README.md

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

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

// Run migrations in your local DBs (via unleash-api)
npm run db-migrate
DATABASE_URL=$TEST_DATABASE_URL npm run db-migrate

// Start server
npm start

// Admin dashboard
http://localhost:4242

// Feature API:
http://localhost:4242/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