1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
Unleash is the open source feature toggle service.
Go to file
2020-02-20 08:30:37 +01:00
bin remove all lerna stuff 2020-02-20 08:30:37 +01:00
docs Update api-v1.md 2020-02-20 08:30:37 +01:00
lib remove all lerna stuff 2020-02-20 08:30:37 +01:00
migrations remove all lerna stuff 2020-02-20 08:30:37 +01:00
scripts remove all lerna stuff 2020-02-20 08:30:37 +01:00
test remove all lerna stuff 2020-02-20 08:30:37 +01:00
.editorconfig eslint config 2020-02-20 08:30:26 +01:00
.eslintignore add eslintignore 2020-02-20 08:30:27 +01:00
.eslintrc remove all lerna stuff 2020-02-20 08:30:37 +01:00
.gitignore fix frontend and fix deploy to dev-master with lerna 2020-02-20 08:30:27 +01:00
.travis.yml use lerna for multipackaging 2020-02-20 08:30:26 +01:00
app.js remove all lerna stuff 2020-02-20 08:30:37 +01:00
LICENSE
migrator.js remove all lerna stuff 2020-02-20 08:30:37 +01:00
package.json remove all lerna stuff 2020-02-20 08:30:37 +01:00
Procfile fix frontend and fix deploy to dev-master with lerna 2020-02-20 08:30:27 +01:00
README.md Update README.md 2020-02-20 08:30:37 +01:00
server-dev.js remove all lerna stuff 2020-02-20 08:30:37 +01:00
server-impl.js remove all lerna stuff 2020-02-20 08:30:37 +01:00
server-prod.js remove all lerna stuff 2020-02-20 08:30:37 +01:00

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

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