From d0506a24da81b20ed528fa00422ad966f672130a Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Tue, 5 Apr 2022 12:56:54 +0200 Subject: [PATCH 01/37] docs: fix heading level in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7cf3aeb7613..50c242ceb94 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ The are numbers of ways you can run Unleash. 3. Unleash Open-Source - Self host with Node.js [Guide](https://docs.getunleash.io/deploy/getting_started#start-unleash-server) 4. Unleash Open-Source - Helm chart [artifacthub.io](https://artifacthub.io/packages/helm/unleash/unleash) -### Run from Docker +## Run from Docker 1. Create a network by running the following command: From f22f16eca2feda98fc19d5bebc4a5badf99b4237 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Tue, 5 Apr 2022 16:10:35 +0200 Subject: [PATCH 02/37] fix(readme): remove mention of Rust as community SDK --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 50c242ceb94..98b14298125 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ The frontend SDKs connects via the [Unleash Proxy](https://docs.getunleash.io/sd **Community SDKs** -In addition there exists a good list of [community developed SDKs](https://docs.getunleash.io/sdks/community), so there might already exist an implementation for your favorite programming language (e.g. [Rust](https://github.com/cognitedata/unleash-client-rust), [Elixir](https://gitlab.com/afontaine/unleash_ex), [Dart](https://pub.dev/packages/unleash), [Clojure](https://github.com/AppsFlyer/unleash-client-clojure), [NestJS](https://github.com/pmb0/nestjs-unleash), [Kotlin](https://github.com/silvercar/unleash-client-kotlin), [PHP](https://gitlab.com/minds/unleash-client-php) and more.) +In addition there exists a good list of [community developed SDKs](https://docs.getunleash.io/sdks/community), so there might already exist an implementation for your favorite programming language (e.g. [Elixir](https://gitlab.com/afontaine/unleash_ex), [Dart](https://pub.dev/packages/unleash), [Clojure](https://github.com/AppsFlyer/unleash-client-clojure), [NestJS](https://github.com/pmb0/nestjs-unleash), [Kotlin](https://github.com/silvercar/unleash-client-kotlin), [PHP](https://gitlab.com/minds/unleash-client-php) and more.) ## Architecture From 6a01539af090c78097199e620f252feb4862d58a Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 6 Apr 2022 09:31:54 +0200 Subject: [PATCH 03/37] chore: add slack join badge --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 98b14298125..a27e5f88f52 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,10 @@ ![Build & Tests](https://github.com/Unleash/unleash/workflows/Build%20%26%20Tests/badge.svg?branch=main) [![Coverage Status](https://coveralls.io/repos/github/Unleash/unleash/badge.svg?branch=main&)](https://coveralls.io/github/Unleash/unleash?branch=main) [![npm](https://img.shields.io/npm/v/unleash-server)](https://www.npmjs.com/package/unleash-server) [![Docker Pulls](https://img.shields.io/docker/pulls/unleashorg/unleash-server)](https://hub.docker.com/r/unleashorg/unleash-server) -[![Deploy to Heroku](./.github/deploy-heroku-20.png)](https://www.heroku.com/deploy/?template=https://github.com/Unleash/unleash) [![Deploy to DigitalOcean](./.github/deploy-digital.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Unleash/unleash/tree/main&refcode=0e1d75187044) [![Twitter Follow](https://img.shields.io/twitter/follow/getunleash)](https://twitter.com/intent/follow?screen_name=getunleash) +[![Deploy to Heroku](./.github/deploy-heroku-20.png)](https://www.heroku.com/deploy/?template=https://github.com/Unleash/unleash) +[![Deploy to DigitalOcean](./.github/deploy-digital.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Unleash/unleash/tree/main&refcode=0e1d75187044) +[![Twitter Follow](https://img.shields.io/twitter/follow/getunleash)](https://twitter.com/intent/follow?screen_name=getunleash) +[![Join Unleash on Slack!](https://img.shields.io/badge/slack-join-635dc5?logo=slack)](https://slack.unleash.run) From 23826a3a6563f6d11697e975de1814374f32bfe0 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 6 Apr 2022 10:22:16 +0200 Subject: [PATCH 04/37] chore: swap twitter and slack buttons --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a27e5f88f52..ee8b00c0ca6 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ [![Deploy to Heroku](./.github/deploy-heroku-20.png)](https://www.heroku.com/deploy/?template=https://github.com/Unleash/unleash) [![Deploy to DigitalOcean](./.github/deploy-digital.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Unleash/unleash/tree/main&refcode=0e1d75187044) -[![Twitter Follow](https://img.shields.io/twitter/follow/getunleash)](https://twitter.com/intent/follow?screen_name=getunleash) -[![Join Unleash on Slack!](https://img.shields.io/badge/slack-join-635dc5?logo=slack)](https://slack.unleash.run) +[![Join Unleash on Slack](https://img.shields.io/badge/slack-join-635dc5?logo=slack)](https://slack.unleash.run) +[![Follow Unleash on Twitter](https://img.shields.io/twitter/follow/getunleash)](https://twitter.com/intent/follow?screen_name=getunleash) From ce01c7da3f8604c67df1eba502d92a80822a4d90 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 6 Apr 2022 10:23:33 +0200 Subject: [PATCH 05/37] docs: add get started in 2 steps --- README.md | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ee8b00c0ca6..b345c70af42 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,44 @@ -Unleash is an open-source feature management platform. It provides a great overview of all feature toggles/flags across all your applications and services. Unleash enables software teams all over the world to take full control of how they enabled new functionality to end-users. +Unleash is an open-source feature management platform. It provides a great overview of all feature toggles/flags across all your applications and services. Unleash lets software teams all over the world take full control of how they enable new functionality to end-users. + +Unleash has [official client SDKs](https://docs.getunleash.io/sdks) for a number of the most popular languages around. Can't find one for the language you want? Check out the [community-contributed SDKs](https://docs.getunleash.io/sdks#community-sdks) instead! + +[what is feature management + unleash] +[who uses Unleash? Show that you can scale from small to laaarge] + +## Get started in 2 steps + +### 1. Start Unleash + +With `git` and `docker` installed, it's easy to get started immediately! + +Run this script: +``` bash +git clone git@github.com:Unleash/unleash-docker.git +cd unleash-docker +docker compose up -d +``` + +Then point your browser to `localhost:4242` and log in using + - username: `admin` + - password: `unleash4all` + +### 2. Connect your SDK + +Find your preferred SDK in [our list of official SDKs](#unleash-sdks) and import it into your project. Follow the setup guides for your specific SDK. + +If you use the docker compose file from the previous step, here's the configuration details you'll need to get going: +- For front-end SDKs, use: + - URL: `http://localhost:3000` + - `clientKey`: `proxy-client-key` +- For server-side SDKs, use: + - Unleash API URL: `http://localhost:4242` + - API token: `default:development.unleash-insecure-api-token` + +If you use a different setup, your configuration details will most likely also be different. -Unleash comes with [official client SDKs](https://docs.getunleash.io/sdks) for all the popular languages. ## Features From c769e2190a0cad262f2fc582d5f4eae23a7ee353 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 6 Apr 2022 10:24:09 +0200 Subject: [PATCH 06/37] chore: move community and contribute sections --- README.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index b345c70af42..76989c8b68c 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,22 @@ If you use the docker compose file from the previous step, here's the configurat If you use a different setup, your configuration details will most likely also be different. +## Community and help + +We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate about reaching out to get help. + +- [Join Unleash on Slack](https://join.slack.com/t/unleash-community/shared_invite/enQtNjUxMjU2MDc0MTAxLTJjYmViYjkwYmE0ODVlNmY1YjcwZGRmZWU5MTU1YTQ1Nzg5ZWQ2YzBlY2U1MjlmZDg5ZDRmZTMzNmQ5YmEyOGE) if you want ask open questions about Unleash, feature toggling or discuss these topics in general. +- [Create a GitHub issue](https://github.com/Unleash/unleash/issues/new) if you have found a bug or have ideas on how to improve Unleash. +- [Follow Unleash on Twitter](https://twitter.com/getunleash) if you want to stay updated on the latest progress of the Unleash project. +- [Visit the documentation](https://docs.getunleash.io/) for more in-depth descriptions, how-to guides, and more. + +## Contribute to Unleash + +Building Unleash is a collaborative effort, and we owe a lot of gratitude to many smart and talented individuals. +Building it together with community ensures that we build a product that solves real problems for real people. +We'd love to have your help too: Please feel free to open issues or provide pull requests. + +Check out [the CONTRIBUTING.md file](./CONTRIBUTING.md) for contribution guidelines and the [Unleash developer guide](./website/docs/contributing/developer-guide.md) for tips on environment setup, running the tests, and running Unleash from source. ## Features @@ -204,21 +220,6 @@ Unleash is trusted by thousands of companies all over the world (we are tracking _(PS! feel free to submit your logo!)_ -# Contribute to Unleash - -Unleash has been built with the help of many smart individuals. This ensures that we build a product that solves real problems for people. If you want to contribute to this project you are encouraged to send issue requests, or provide pull-requests. - -1. Read [CONTRIBUTING.md](./CONTRIBUTING.md) to learn more on how you can contribute -1. Browse the [developer-guide](./website/docs/contributing/developer-guide.md) for tips on environment setup, running the tests, and running Unleash from source. - -# Community and Help - -We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate about reaching out to get help. - -- [Join Unleash on Slack](https://join.slack.com/t/unleash-community/shared_invite/enQtNjUxMjU2MDc0MTAxLTJjYmViYjkwYmE0ODVlNmY1YjcwZGRmZWU5MTU1YTQ1Nzg5ZWQ2YzBlY2U1MjlmZDg5ZDRmZTMzNmQ5YmEyOGE) if you want ask open questions about Unleash, feature toggling or discuss these topics in general. -- [Create a issue request](https://github.com/Unleash/unleash/issues/new) if you have found a bug or have ideas on how to improve Unleash. -- [Follow Unleash on Twitter](https://twitter.com/getunleash) if you want to stay updated on the latest progress of the Unleash project. - # In the media - [Free Code Camp: Feature toggles - Why and how to add to your software](https://www.youtube.com/watch?v=-yHZ9uLVSp4) From cde34e70e7ede712ff14bb47ce57f43bd6c997ce Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 6 Apr 2022 10:48:44 +0200 Subject: [PATCH 07/37] chore: adjust heading levels --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 76989c8b68c..bc17ec1a070 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ Unleash is an open-source feature management platform. It provides a great overv Unleash has [official client SDKs](https://docs.getunleash.io/sdks) for a number of the most popular languages around. Can't find one for the language you want? Check out the [community-contributed SDKs](https://docs.getunleash.io/sdks#community-sdks) instead! + [what is feature management + unleash] [who uses Unleash? Show that you can scale from small to laaarge] @@ -172,7 +173,7 @@ if (unleash.isEnabled("AwesomeFeature")) { } ``` -# Running Unleash +## Running Unleash The are numbers of ways you can run Unleash. @@ -181,7 +182,7 @@ The are numbers of ways you can run Unleash. 3. Unleash Open-Source - Self host with Node.js [Guide](https://docs.getunleash.io/deploy/getting_started#start-unleash-server) 4. Unleash Open-Source - Helm chart [artifacthub.io](https://artifacthub.io/packages/helm/unleash/unleash) -## Run from Docker +### Run from Docker 1. Create a network by running the following command: @@ -212,7 +213,7 @@ The first time Unleash starts it will create a default user which you can use to - username: `admin` - password: `unleash4all` -# Users of Unleash +## Users of Unleash Unleash is trusted by thousands of companies all over the world (we are tracking more than 90 countries already). Proud Open-Source users: @@ -220,7 +221,7 @@ Unleash is trusted by thousands of companies all over the world (we are tracking _(PS! feel free to submit your logo!)_ -# In the media +## In the media - [Free Code Camp: Feature toggles - Why and how to add to your software](https://www.youtube.com/watch?v=-yHZ9uLVSp4) - [Feature toggling transient errors in load tests](https://nrkbeta.no/2021/08/23/feature-toggling-transient-errors-in-load-tests/) (English) From c58f6cf0363c61228b48f4e72a71aaca337b382b Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 6 Apr 2022 11:18:05 +0200 Subject: [PATCH 08/37] chore: add link to ci build from readme --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bc17ec1a070..f518d0e9f88 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@
-![Build & Tests](https://github.com/Unleash/unleash/workflows/Build%20%26%20Tests/badge.svg?branch=main) [![Coverage Status](https://coveralls.io/repos/github/Unleash/unleash/badge.svg?branch=main&)](https://coveralls.io/github/Unleash/unleash?branch=main) [![npm](https://img.shields.io/npm/v/unleash-server)](https://www.npmjs.com/package/unleash-server) [![Docker Pulls](https://img.shields.io/docker/pulls/unleashorg/unleash-server)](https://hub.docker.com/r/unleashorg/unleash-server) +[![Build and tests](https://github.com/Unleash/unleash/workflows/build/badge.svg?branch=main)](https://github.com/Unleash/unleash/actions/workflows/build.yaml) +[![Coverage Status](https://coveralls.io/repos/github/Unleash/unleash/badge.svg?branch=main&)](https://coveralls.io/github/Unleash/unleash?branch=main) [![npm](https://img.shields.io/npm/v/unleash-server)](https://www.npmjs.com/package/unleash-server) [![Docker Pulls](https://img.shields.io/docker/pulls/unleashorg/unleash-server)](https://hub.docker.com/r/unleashorg/unleash-server) [![Deploy to Heroku](./.github/deploy-heroku-20.png)](https://www.heroku.com/deploy/?template=https://github.com/Unleash/unleash) [![Deploy to DigitalOcean](./.github/deploy-digital.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Unleash/unleash/tree/main&refcode=0e1d75187044) From 004e28aded74d2701cac63f48148f26aada9df95 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 6 Apr 2022 11:27:02 +0200 Subject: [PATCH 09/37] fix: build badge link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f518d0e9f88..cc8adfe6ce5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
-[![Build and tests](https://github.com/Unleash/unleash/workflows/build/badge.svg?branch=main)](https://github.com/Unleash/unleash/actions/workflows/build.yaml) +[![Build and Tests](https://github.com/Unleash/unleash/workflows/Build%20%26%20Tests/badge.svg?branch=main)](https://github.com/Unleash/unleash/actions/workflows/build.yaml) [![Coverage Status](https://coveralls.io/repos/github/Unleash/unleash/badge.svg?branch=main&)](https://coveralls.io/github/Unleash/unleash?branch=main) [![npm](https://img.shields.io/npm/v/unleash-server)](https://www.npmjs.com/package/unleash-server) [![Docker Pulls](https://img.shields.io/docker/pulls/unleashorg/unleash-server)](https://hub.docker.com/r/unleashorg/unleash-server) [![Deploy to Heroku](./.github/deploy-heroku-20.png)](https://www.heroku.com/deploy/?template=https://github.com/Unleash/unleash) From 188f44dfa5666b55be0fc2915040c2a0b86daa0f Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 6 Apr 2022 11:43:12 +0200 Subject: [PATCH 10/37] fix: add alternate (shorter) build badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cc8adfe6ce5..c2c684735ea 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
-[![Build and Tests](https://github.com/Unleash/unleash/workflows/Build%20%26%20Tests/badge.svg?branch=main)](https://github.com/Unleash/unleash/actions/workflows/build.yaml) +[![Build and Tests](https://img.shields.io/github/workflow/status/unleash/unleash/Build%20%26%20Tests)](https://github.com/Unleash/unleash/actions/workflows/build.yaml) [![Coverage Status](https://coveralls.io/repos/github/Unleash/unleash/badge.svg?branch=main&)](https://coveralls.io/github/Unleash/unleash?branch=main) [![npm](https://img.shields.io/npm/v/unleash-server)](https://www.npmjs.com/package/unleash-server) [![Docker Pulls](https://img.shields.io/docker/pulls/unleashorg/unleash-server)](https://hub.docker.com/r/unleashorg/unleash-server) [![Deploy to Heroku](./.github/deploy-heroku-20.png)](https://www.heroku.com/deploy/?template=https://github.com/Unleash/unleash) From 07408bba453b80589f7d487a136b375ba2466a3f Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Thu, 7 Apr 2022 15:22:08 +0200 Subject: [PATCH 11/37] docs: Add "about unleash section" --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index c2c684735ea..4f3af31b7e0 100644 --- a/README.md +++ b/README.md @@ -14,19 +14,20 @@
-Unleash is an open-source feature management platform. It provides a great overview of all feature toggles/flags across all your applications and services. Unleash lets software teams all over the world take full control of how they enable new functionality to end-users. +## About Unleash -Unleash has [official client SDKs](https://docs.getunleash.io/sdks) for a number of the most popular languages around. Can't find one for the language you want? Check out the [community-contributed SDKs](https://docs.getunleash.io/sdks#community-sdks) instead! +Unleash is an open source feature management solution. It improves the workflow of your development team and leads to quicker software delivery. Unleash increases efficiency and gives teams *full control* of how and when they enable new functionality for end users. Unleash lets teams ship code to production in *smaller* releases *whenever* they want. +Feature toggles make it easy to test how your code works with real production data without the fear that you'll accidentally break your users' experience. It also helps your team work on multiple features in parallel without each maintaining an separate feature branch. + +Unleash is the largest open source solution for feature flagging on GitHub. There's 12 official client and server SDKs and 10+ community SDKs available; you can even make your own if you want to. You can use Unleash with any language and any framework. -[what is feature management + unleash] -[who uses Unleash? Show that you can scale from small to laaarge] ## Get started in 2 steps ### 1. Start Unleash -With `git` and `docker` installed, it's easy to get started immediately! +With `git` and `docker` installed, it's easy to get started: Run this script: ``` bash From 0c1698cef8d7895a5fa7df3abbdd63f7ab088160 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Thu, 7 Apr 2022 15:26:04 +0200 Subject: [PATCH 12/37] docs: Add client API example. --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 4f3af31b7e0..868ef01c506 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,18 @@ If you use the docker compose file from the previous step, here's the configurat If you use a different setup, your configuration details will most likely also be different. +### Check a feature toggle + +Checking the state of a feature toggle in your code is easy! The syntax will vary depending on your language, but all you need is a simple function call to check whether a toggle is available. Here's how it might look in Java: + +```java +if (unleash.isEnabled("AwesomeFeature")) { + // do new, flashy thing +} else { + // do old, boring stuff +} +``` + ## Community and help We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate about reaching out to get help. From 95c243fa78e966337c4b86526da0b4cd7d8082a6 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Thu, 7 Apr 2022 15:32:29 +0200 Subject: [PATCH 13/37] chore: fix readme buttons --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 868ef01c506..e4b4a01df60 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,10 @@
[![Build and Tests](https://img.shields.io/github/workflow/status/unleash/unleash/Build%20%26%20Tests)](https://github.com/Unleash/unleash/actions/workflows/build.yaml) -[![Coverage Status](https://coveralls.io/repos/github/Unleash/unleash/badge.svg?branch=main&)](https://coveralls.io/github/Unleash/unleash?branch=main) [![npm](https://img.shields.io/npm/v/unleash-server)](https://www.npmjs.com/package/unleash-server) [![Docker Pulls](https://img.shields.io/docker/pulls/unleashorg/unleash-server)](https://hub.docker.com/r/unleashorg/unleash-server) - -[![Deploy to Heroku](./.github/deploy-heroku-20.png)](https://www.heroku.com/deploy/?template=https://github.com/Unleash/unleash) -[![Deploy to DigitalOcean](./.github/deploy-digital.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Unleash/unleash/tree/main&refcode=0e1d75187044) +[![Coverage Status](https://coveralls.io/repos/github/Unleash/unleash/badge.svg?branch=main&)](https://coveralls.io/github/Unleash/unleash?branch=main) [![npm](https://img.shields.io/npm/v/unleash-server)](https://www.npmjs.com/package/unleash-server) +[![Docker Pulls](https://img.shields.io/docker/pulls/unleashorg/unleash-server)](https://hub.docker.com/r/unleashorg/unleash-server) +[![Apache-2.0 license](https://img.shields.io/github/license/unleash/unleash)](https://github.com/Unleash/unleash/blob/main/LICENSE) [![Join Unleash on Slack](https://img.shields.io/badge/slack-join-635dc5?logo=slack)](https://slack.unleash.run) -[![Follow Unleash on Twitter](https://img.shields.io/twitter/follow/getunleash)](https://twitter.com/intent/follow?screen_name=getunleash) From 83c9125f2731bba56669c13658e1271d27486fba Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Thu, 7 Apr 2022 15:35:30 +0200 Subject: [PATCH 14/37] chore: add new header --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e4b4a01df60..2ec39dd2406 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![Join Unleash on Slack](https://img.shields.io/badge/slack-join-635dc5?logo=slack)](https://slack.unleash.run) - + The Unleash website
From 9042263d2fbea8ada71f91b6a4498a52884774f3 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Thu, 7 Apr 2022 15:40:26 +0200 Subject: [PATCH 15/37] docs: move heroku / DO buttons --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2ec39dd2406..0bd57915f03 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,6 @@ Feature toggles make it easy to test how your code works with real production da Unleash is the largest open source solution for feature flagging on GitHub. There's 12 official client and server SDKs and 10+ community SDKs available; you can even make your own if you want to. You can use Unleash with any language and any framework. - ## Get started in 2 steps ### 1. Start Unleash @@ -64,6 +63,12 @@ if (unleash.isEnabled("AwesomeFeature")) { } ``` +### Run Unleash on a service? + +If you don't want to run Unleash locally, we also provide easy deployment setups for Heroku and Digital Ocean: + +[![Deploy to Heroku](./.github/deploy-heroku-20.png)](https://www.heroku.com/deploy/?template=https://github.com/Unleash/unleash) [![Deploy to DigitalOcean](./.github/deploy-digital.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Unleash/unleash/tree/main&refcode=0e1d75187044) + ## Community and help We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate about reaching out to get help. From bd22d3db306722a008641b4ea6ffbac05bfdc1ae Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Thu, 7 Apr 2022 15:40:43 +0200 Subject: [PATCH 16/37] fix: add missing header image --- .github/github_header_opaque_landscape.svg | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/github_header_opaque_landscape.svg diff --git a/.github/github_header_opaque_landscape.svg b/.github/github_header_opaque_landscape.svg new file mode 100644 index 00000000000..f06c4f011fb --- /dev/null +++ b/.github/github_header_opaque_landscape.svg @@ -0,0 +1,8 @@ + + + + + + + + From 602fce818992e198739be2f93bd7d52f9af1edfd Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Thu, 7 Apr 2022 15:41:49 +0200 Subject: [PATCH 17/37] fix: header order and sizes --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0bd57915f03..354c6e3bf10 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@
+ + The Unleash website + + [![Build and Tests](https://img.shields.io/github/workflow/status/unleash/unleash/Build%20%26%20Tests)](https://github.com/Unleash/unleash/actions/workflows/build.yaml) [![Coverage Status](https://coveralls.io/repos/github/Unleash/unleash/badge.svg?branch=main&)](https://coveralls.io/github/Unleash/unleash?branch=main) [![npm](https://img.shields.io/npm/v/unleash-server)](https://www.npmjs.com/package/unleash-server) [![Docker Pulls](https://img.shields.io/docker/pulls/unleashorg/unleash-server)](https://hub.docker.com/r/unleashorg/unleash-server) [![Apache-2.0 license](https://img.shields.io/github/license/unleash/unleash)](https://github.com/Unleash/unleash/blob/main/LICENSE) [![Join Unleash on Slack](https://img.shields.io/badge/slack-join-635dc5?logo=slack)](https://slack.unleash.run) - - The Unleash website - -
## About Unleash From e6943dddf74494f46f02831cec5f864ee5ec106d Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Thu, 7 Apr 2022 15:53:04 +0200 Subject: [PATCH 18/37] docs: add links for git and docker --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 354c6e3bf10..2d5dc316215 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Unleash is the largest open source solution for feature flagging on GitHub. Ther ### 1. Start Unleash -With `git` and `docker` installed, it's easy to get started: +With [`git`](https://git-scm.com/) and [`docker`](https://www.docker.com/) installed, it's easy to get started: Run this script: ``` bash From 78098578a290213ec365b86721af1e2ee5713600 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Thu, 7 Apr 2022 16:01:26 +0200 Subject: [PATCH 19/37] docs: add placeholder for online demo; start community section --- README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2d5dc316215..352f5a6fdd0 100644 --- a/README.md +++ b/README.md @@ -69,9 +69,17 @@ If you don't want to run Unleash locally, we also provide easy deployment setups [![Deploy to Heroku](./.github/deploy-heroku-20.png)](https://www.heroku.com/deploy/?template=https://github.com/Unleash/unleash) [![Deploy to DigitalOcean](./.github/deploy-digital.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Unleash/unleash/tree/main&refcode=0e1d75187044) -## Community and help +## Online demo -We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate about reaching out to get help. +Try out [the Unleash online demo](https://www.getunleash.io/interactive-demo). + +[Get image from Nicolae here] + +## Community and help — sharing is caring + +We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate to reach out for help. + +[![Join Unleash on Slack](https://img.shields.io/badge/slack-join-635dc5?logo=slack)](https://slack.unleash.run) - [Join Unleash on Slack](https://join.slack.com/t/unleash-community/shared_invite/enQtNjUxMjU2MDc0MTAxLTJjYmViYjkwYmE0ODVlNmY1YjcwZGRmZWU5MTU1YTQ1Nzg5ZWQ2YzBlY2U1MjlmZDg5ZDRmZTMzNmQ5YmEyOGE) if you want ask open questions about Unleash, feature toggling or discuss these topics in general. - [Create a GitHub issue](https://github.com/Unleash/unleash/issues/new) if you have found a bug or have ideas on how to improve Unleash. From c42089d6d47f81816d3433ecd9dc9287136dadaf Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 10:59:47 +0200 Subject: [PATCH 20/37] docs: Add online demo illustration image. --- .github/github_online_demo.svg | 675 +++++++++++++++++++++++++++++++++ README.md | 2 + 2 files changed, 677 insertions(+) create mode 100644 .github/github_online_demo.svg diff --git a/.github/github_online_demo.svg b/.github/github_online_demo.svg new file mode 100644 index 00000000000..d3aeaed9c50 --- /dev/null +++ b/.github/github_online_demo.svg @@ -0,0 +1,675 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/README.md b/README.md index 352f5a6fdd0..2c294edfd32 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,8 @@ If you don't want to run Unleash locally, we also provide easy deployment setups Try out [the Unleash online demo](https://www.getunleash.io/interactive-demo). +![The Unleash UI. It shows a project and its users, feature toggles and tabs for health, access, and environments.](./.github/github_online_demo.svg) + [Get image from Nicolae here] ## Community and help — sharing is caring From 479eee7904dec79f1d82f80e5645c94d73b12d4f Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 11:04:43 +0200 Subject: [PATCH 21/37] docs: Update community section --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2c294edfd32..a09fd60ccbe 100644 --- a/README.md +++ b/README.md @@ -83,10 +83,11 @@ We know that learning a new tool can be hard and time-consuming. We have a growi [![Join Unleash on Slack](https://img.shields.io/badge/slack-join-635dc5?logo=slack)](https://slack.unleash.run) -- [Join Unleash on Slack](https://join.slack.com/t/unleash-community/shared_invite/enQtNjUxMjU2MDc0MTAxLTJjYmViYjkwYmE0ODVlNmY1YjcwZGRmZWU5MTU1YTQ1Nzg5ZWQ2YzBlY2U1MjlmZDg5ZDRmZTMzNmQ5YmEyOGE) if you want ask open questions about Unleash, feature toggling or discuss these topics in general. -- [Create a GitHub issue](https://github.com/Unleash/unleash/issues/new) if you have found a bug or have ideas on how to improve Unleash. -- [Follow Unleash on Twitter](https://twitter.com/getunleash) if you want to stay updated on the latest progress of the Unleash project. -- [Visit the documentation](https://docs.getunleash.io/) for more in-depth descriptions, how-to guides, and more. +💬 ![Join Unleash on Slack](https://slack.unleash.run) if you want ask open questions about Unleash, feature toggling or discuss these topics in general. + +💻 [Create a GitHub issue](https://github.com/Unleash/unleash/issues/new) if you have found a bug or have ideas on how to improve Unleash. + +📚 [Visit the documentation](https://docs.getunleash.io/) for more in-depth descriptions, how-to guides, and more. ## Contribute to Unleash From 5f3396f7095f5cc35dd98bf3a97b4e119071e845 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 11:05:09 +0200 Subject: [PATCH 22/37] fix: remove in-text reminder --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index a09fd60ccbe..8b3b520c3ad 100644 --- a/README.md +++ b/README.md @@ -75,8 +75,6 @@ Try out [the Unleash online demo](https://www.getunleash.io/interactive-demo). ![The Unleash UI. It shows a project and its users, feature toggles and tabs for health, access, and environments.](./.github/github_online_demo.svg) -[Get image from Nicolae here] - ## Community and help — sharing is caring We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate to reach out for help. From eeead5216a9146a8ceff9e21252049961285e89c Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 12:21:33 +0200 Subject: [PATCH 23/37] docs: add updated features section --- README.md | 71 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 38 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 8b3b520c3ad..bd4f6389337 100644 --- a/README.md +++ b/README.md @@ -95,44 +95,49 @@ We'd love to have your help too: Please feel free to open issues or provide pull Check out [the CONTRIBUTING.md file](./CONTRIBUTING.md) for contribution guidelines and the [Unleash developer guide](./website/docs/contributing/developer-guide.md) for tips on environment setup, running the tests, and running Unleash from source. -## Features - -**Open-Source** - -- Boolean feature toggles (on/off) -- Canary release (Gradual rollout) -- Targeted release -- Experimentation (A/B testing) -- Kill Switches -- Custom activation strategies -- Privacy first (GDPR) where end-user data never leaves your application -- Audit logs -- Addons integrating with other popular tools (Slack, Teams, Datadog, etc.) -- It is secure (Enable Secure Headers with strict HTTPS only mode) -- Extremely scalable with evaluations on the client-side. Used in enterprises handling more than 10k req/s. [Read more about our architecture](https://docs.getunleash.io/) -- Dashboard to manage technical debt -- Admin APIs -- Flexible architecture and can be hosted anywhere -- [Docker image available](https://hub.docker.com/r/unleashorg/unleash-server) - -**Enterprise** - -[Unleash Enterprise](https://www.getunleash.io/plans) builds directly on top of the Open-Source (open-core) and provides additional advanced functionality: - -- Project support -- Advanced segmentation -- Environments (unlimited) -- SSO (SAML 2.0, OpenID Connect, etc) -- A cloud offering where the Unleash team host, monitor, scale, patches, upgrades and take full backups for you -- Self-hosted possible -- SLA guarantees -- Support +## Features our users love + +### Flexibility and adaptability + +- Get an easy overview of all feature toggles across all your environments, applications and services +- Use included [activation strategies](https://docs.getunleash.io/user_guide/activation_strategy) for most common use cases, or use a [custom activation strategy](https://docs.getunleash.io/advanced/custom_activation_strategy) to support any need you might have +- Organise feature toggles by [feature toggle tags](https://docs.getunleash.io/advanced/tags) +- [Canary releases / gradual rollouts](https://docs.getunleash.io/user_guide/activation_strategy#gradual-rollout) +- Targeted releases: release features to specific [users](https://docs.getunleash.io/user_guide/activation_strategy#userids), [IPs](https://docs.getunleash.io/user_guide/activation_strategy#ips), or [hostnames](https://docs.getunleash.io/user_guide/activation_strategy#hostnames) +- [Kill switches](https://docs.getunleash.io/advanced/feature_toggle_types#feature-toggle-types) +- [A/B testing](https://docs.getunleash.io/topics/a-b-testing) +- 2 [environments](https://docs.getunleash.io/topics/a-b-testing) +- Out-of-the-box integrations with popular tools ([Slack](https://docs.getunleash.io/addons/slack), [Microsoft Teams](https://docs.getunleash.io/addons/teams), [Datadog](https://docs.getunleash.io/addons/datadog)) + integrate with anything with [webhooks](https://docs.getunleash.io/addons/webhook) +- [Dashboard for managing technical debt](https://docs.getunleash.io/user_guide/technical_debt) and [stale toggles](https://docs.getunleash.io/user_guide/technical_debt#stale-and-potentially-stale-toggles) +- API-first: *everything* can be automated. No exceptions. +- [12 official client SDKs](https://docs.getunleash.io/sdks#official-sdks), and ten [community-contributed client SDKs](https://docs.getunleash.io/sdks#community-sdks) +- Run it via Docker with the [official Docker image](https://hub.docker.com/r/unleashorg/unleash-server) or as a pure Node.js application + +### Security & performance + +- Privacy by design (GDPR and Schrems II). End-user data never leaves your application. +- [Audit logs](https://docs.getunleash.io/advanced/audit_log) +- Enforce [OWASP's secure headers](https://owasp.org/www-project-secure-headers/) via the strict HTTPS-only mode +- Flexible hosting options: host it on premise or in the cloud (*any* cloud) +- Scale [the Unleash Proxy](https://docs.getunleash.io/sdks/unleash-proxy) independently of the Unleash server to support any number of front-end clients without overloading your Unleash instance + +### Looking for more features? + +If you're looking for one of the following features, please take a look at our [Pro and Enterprise plans](https://www.getunleash.io/plans): +- [role-based access control (RBAC)](https://docs.getunleash.io/user_guide/rbac) +- [single sign-on (SSO)](https://docs.getunleash.io/advanced/enterprise-authentication) +- more environments +- [feature toggles project support](https://docs.getunleash.io/user_guide/projects) +- [advanced segmentation](https://docs.getunleash.io/reference/segments) +- [additional strategy constraints](https://docs.getunleash.io/advanced/strategy_constraints) +- tighter security +- more hosting options (we can even host it for you!) ## Unleash SDKs In order to connect your application to Unleash you need to use a client SDK for your programming language. -**Official Server SDKs**: +**Official server-side SDKs**: - [Go SDK](https://docs.getunleash.io/sdks/go_sdk) - [Java SDK](https://docs.getunleash.io/sdks/java_sdk) From 2d8812ef28b5f02a918b19700bb14d78726fa664 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 12:51:08 +0200 Subject: [PATCH 24/37] docs: move and update architecture section --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index bd4f6389337..5c18bd4834d 100644 --- a/README.md +++ b/README.md @@ -133,6 +133,12 @@ If you're looking for one of the following features, please take a look at our [ - tighter security - more hosting options (we can even host it for you!) +## Architecture + + + +Read more in the [*system overview* section of the Unleash documentation](https://docs.getunleash.io/user_guide/unleash_overview#system-overview). + ## Unleash SDKs In order to connect your application to Unleash you need to use a client SDK for your programming language. @@ -161,11 +167,6 @@ The frontend SDKs connects via the [Unleash Proxy](https://docs.getunleash.io/sd In addition there exists a good list of [community developed SDKs](https://docs.getunleash.io/sdks/community), so there might already exist an implementation for your favorite programming language (e.g. [Elixir](https://gitlab.com/afontaine/unleash_ex), [Dart](https://pub.dev/packages/unleash), [Clojure](https://github.com/AppsFlyer/unleash-client-clojure), [NestJS](https://github.com/pmb0/nestjs-unleash), [Kotlin](https://github.com/silvercar/unleash-client-kotlin), [PHP](https://gitlab.com/minds/unleash-client-php) and more.) -## Architecture - - - -[Read more in the Unleash documentation](https://docs.getunleash.io/) ## What is a feature toggle? From c7544d4e08126bea5c5dace965648f2f834dbdc7 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 12:53:47 +0200 Subject: [PATCH 25/37] docs: Update SDKs section --- README.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 5c18bd4834d..c668b214ce9 100644 --- a/README.md +++ b/README.md @@ -141,32 +141,31 @@ Read more in the [*system overview* section of the Unleash documentation](https: ## Unleash SDKs -In order to connect your application to Unleash you need to use a client SDK for your programming language. +To connect your application to Unleash you'll need to use a client SDK for your programming language. **Official server-side SDKs**: - [Go SDK](https://docs.getunleash.io/sdks/go_sdk) - [Java SDK](https://docs.getunleash.io/sdks/java_sdk) - [Node.js SDK](https://docs.getunleash.io/sdks/node_sdk) -- [Python SDK](https://docs.getunleash.io/sdks/python_sdk) - [PHP SDK](https://docs.getunleash.io/sdks/php_sdk) +- [Python SDK](https://docs.getunleash.io/sdks/python_sdk) - [Ruby SDK](https://docs.getunleash.io/sdks/ruby_sdk) - [Rust SDK](https://github.com/unleash/unleash-client-rust) - [.NET SDK](https://docs.getunleash.io/sdks/dot_net_sdk) -**Official Frontend SDKs:** +**Official front-end SDKs:** -The frontend SDKs connects via the [Unleash Proxy](https://docs.getunleash.io/sdks/unleash-proxy) in order to ensure Privacy, scalability and security. +The front-end SDKs connects via the [Unleash Proxy](https://docs.getunleash.io/sdks/unleash-proxy) in order to ensure privacy, scalability and security. - [Android SDK](https://docs.getunleash.io/sdks/android_proxy_sdk) -- [iOS SDK](https://docs.getunleash.io/sdks/proxy-ios) - [Javascript SDK](https://docs.getunleash.io/sdks/proxy-javascript) - [React SDK](https://docs.getunleash.io/sdks/proxy-react) +- [iOS SDK](https://docs.getunleash.io/sdks/proxy-ios) **Community SDKs** -In addition there exists a good list of [community developed SDKs](https://docs.getunleash.io/sdks/community), so there might already exist an implementation for your favorite programming language (e.g. [Elixir](https://gitlab.com/afontaine/unleash_ex), [Dart](https://pub.dev/packages/unleash), [Clojure](https://github.com/AppsFlyer/unleash-client-clojure), [NestJS](https://github.com/pmb0/nestjs-unleash), [Kotlin](https://github.com/silvercar/unleash-client-kotlin), [PHP](https://gitlab.com/minds/unleash-client-php) and more.) - +If none of the official SDKs fit your need, there's also a number of [community-developed SDKs](https://docs.getunleash.io/sdks#community-sdks) where you might find an implementation for your preferred language (such as [Elixir](https://gitlab.com/afontaine/unleash_ex), [Dart](https://pub.dev/packages/unleash), [Clojure](https://github.com/AppsFlyer/unleash-client-clojure), and more). ## What is a feature toggle? From 210bb9da22b3b84ddefaa63ec38259e5279cc130 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 12:55:07 +0200 Subject: [PATCH 26/37] docs: delete old sections --- README.md | 77 ------------------------------------------------------- 1 file changed, 77 deletions(-) diff --git a/README.md b/README.md index c668b214ce9..fa1af2cae8a 100644 --- a/README.md +++ b/README.md @@ -167,83 +167,6 @@ The front-end SDKs connects via the [Unleash Proxy](https://docs.getunleash.io/s If none of the official SDKs fit your need, there's also a number of [community-developed SDKs](https://docs.getunleash.io/sdks#community-sdks) where you might find an implementation for your preferred language (such as [Elixir](https://gitlab.com/afontaine/unleash_ex), [Dart](https://pub.dev/packages/unleash), [Clojure](https://github.com/AppsFlyer/unleash-client-clojure), and more). -## What is a feature toggle? - -The main motivation for doing feature toggling is to decouple the process for deploying code to production and releasing new features. This helps reducing risk, and allow us to easily manage which features to enable, and have full control of how we exposed the new feature for. - -> Feature toggles decouple **deployment** of code from **release** of new features. - -This repo contains the unleash-server, which contains the Unleash Admin UI and the Unleash API. To make use of unleash you will also need a client SDK. - -Unleash Admin UI - -[Online demo](https://app.unleash-hosted.com/demo) - -## Segmentation - -It's fine to have a system for turning stuff on and off. But sometimes we want more granular control, we want to decide who the toggle should be enabled for. This is where activation strategies come into the picture. Activation strategies take arbitrary config and allow us to enable a toggle to a specific subset of your users (segment). - -Common activation strategies includes: - -- Active For users with a specified userId -- GradualRollout to X-percent of our users -- Active for our beta users -- Active only for application instances running on host x. - -Read more about [activation strategies in our docs](https://docs.getunleash.io/docs/user_guide/activation_strategy). - -## The Client API - -The [client SDKs](https://docs.getunleash.io/sdks) provides a simple abstraction making it easy to check feature toggles in your application. The code snippet below shows how you would use `Unleash` in Java. - -```java -if (unleash.isEnabled("AwesomeFeature")) { - //do some magic -} else { - //do old boring stuff -} -``` - -## Running Unleash - -The are numbers of ways you can run Unleash. - -1. Unleash Enterprise - Cloud hosted by the Unleash Team. [see plans](https://www.getunleash.io/plans) -2. Unleash Open-Source - Self host with Docker. [Guide](https://docs.getunleash.io/deploy/getting_started#start-unleash-server) -3. Unleash Open-Source - Self host with Node.js [Guide](https://docs.getunleash.io/deploy/getting_started#start-unleash-server) -4. Unleash Open-Source - Helm chart [artifacthub.io](https://artifacthub.io/packages/helm/unleash/unleash) - -### Run from Docker - -1. Create a network by running the following command: - -```sh -docker network create unleash -``` - -2. Start a postgres database: - -```sh -docker run -e POSTGRES_PASSWORD=some_password \ - -e POSTGRES_USER=unleash_user -e POSTGRES_DB=unleash \ - --network unleash --name postgres postgres -``` - -3. Start Unleash via docker: - -```sh -docker run -p 4242:4242 \ - -e DATABASE_HOST=postgres -e DATABASE_NAME=unleash \ - -e DATABASE_USERNAME=unleash_user -e DATABASE_PASSWORD=some_password \ - -e DATABASE_SSL=false \ - --network unleash unleashorg/unleash-server -``` - -The first time Unleash starts it will create a default user which you can use to sign-in to your Unleash instance and add more users with: - -- username: `admin` -- password: `unleash4all` - ## Users of Unleash Unleash is trusted by thousands of companies all over the world (we are tracking more than 90 countries already). Proud Open-Source users: From b138812da8d507fff095c7500f0688d053d52835 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 13:13:51 +0200 Subject: [PATCH 27/37] docs: Update "want to know more about unleash" --- README.md | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index fa1af2cae8a..ed027a589b0 100644 --- a/README.md +++ b/README.md @@ -169,23 +169,28 @@ If none of the official SDKs fit your need, there's also a number of [community- ## Users of Unleash -Unleash is trusted by thousands of companies all over the world (we are tracking more than 90 countries already). Proud Open-Source users: +**Unleash is trusted by thousands of companies all over the world**. + +**Proud Open-Source users:** _(PS! feel free to submit your logo!)_ -## In the media - -- [Free Code Camp: Feature toggles - Why and how to add to your software](https://www.youtube.com/watch?v=-yHZ9uLVSp4) -- [Feature toggling transient errors in load tests](https://nrkbeta.no/2021/08/23/feature-toggling-transient-errors-in-load-tests/) (English) -- [The Code Kitchen Episode 7: Feature flags with Unleash](https://share.fireside.fm/episode/zD-4e4KI+Pr379KBv) (English) -- [Utviklerpodden, 1 - Feature Flags og Unleash med Fredrik Oseberg](https://pod.space/utviklerpodden/feature-flags-og-unleash-med-fredrik-oseberg) (Norwegian) -- [Node Weekly issue 380](https://nodeweekly.com/issues/380) -- [Console 42 - The open-source newsletter](https://console.substack.com/p/console-42) -- [This Week in Rust 340](https://this-week-in-rust.org/blog/2020/05/27/this-week-in-rust-340/) -- [Unleash-hosted - Unleash as a Service](https://www.unleash-hosted.com) -- [Medium blog](https://medium.com/unleash-hosted) -- [Blog: Unleash your features gradually!](http://bytes.schibsted.com/unleash-features-gradually/) -- [Presentation: Unleash your features gradually!](http://ivarconr.github.io/feature-toggles-presentation/sch-dev-lunch-2017/#1) -- http://martinfowler.com/bliki/FeatureToggle.html +## Want to know more about Unleash? + +### Videos and podcasts? + +- [The Unleash YouTube channel](https://www.youtube.com/channel/UCJjGVOc5QBbEje-r7nZEa4A) +- [*Feature toggles — Why and how to add to your software* — freeCodeCamp (YouTube)](https://www.youtube.com/watch?v=-yHZ9uLVSp4&t=0s) +- [*Feature flags with Unleash* — The Code Kitchen (podcast)](https://share.fireside.fm/episode/zD-4e4KI+Pr379KBv) +- [*Feature Flags og Unleash med Fredrik Oseberg* — Utviklerpodden (podcast; Norwegian)](https://pod.space/utviklerpodden/feature-flags-og-unleash-med-fredrik-oseberg) + +### Articles and more + +- [The Unleash Blog](https://www.getunleash.io/blog) +- [*Designing the Rust Unleash API client* — Medium](https://medium.com/cognite/designing-the-rust-unleash-api-client-6809c95aa568) +- [*FeatureToggle* by Martin Fowler](http://martinfowler.com/bliki/FeatureToggle.html) +- [*Feature toggling transient errors in load tests* — nrkbeta](https://nrkbeta.no/2021/08/23/feature-toggling-transient-errors-in-load-tests/) +- [*An Interview with Ivar of Unleash* — Console](https://console.substack.com/p/console-42) +- [*Unleash your features gradually*](http://ivarconr.github.io/feature-toggles-presentation/sch-dev-lunch-2017/#1 " "), slideshow/presentation by Ivar, the creator of Unleash From b38963e56057906066bffc8c5ccb450135cfee1a Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 13:14:36 +0200 Subject: [PATCH 28/37] fix: remove rogue question mark --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ed027a589b0..c30568ef6b8 100644 --- a/README.md +++ b/README.md @@ -179,7 +179,7 @@ _(PS! feel free to submit your logo!)_ ## Want to know more about Unleash? -### Videos and podcasts? +### Videos and podcasts - [The Unleash YouTube channel](https://www.youtube.com/channel/UCJjGVOc5QBbEje-r7nZEa4A) - [*Feature toggles — Why and how to add to your software* — freeCodeCamp (YouTube)](https://www.youtube.com/watch?v=-yHZ9uLVSp4&t=0s) From 0213dbc8dc9d5e4ac96719c78cd561ffa1d5e930 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 13:19:02 +0200 Subject: [PATCH 29/37] docs: Update users of Unleash section --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c30568ef6b8..7081448b4cb 100644 --- a/README.md +++ b/README.md @@ -171,11 +171,9 @@ If none of the official SDKs fit your need, there's also a number of [community- **Unleash is trusted by thousands of companies all over the world**. -**Proud Open-Source users:** +**Proud Open-Source users:** (send us a message if you want to add your logo here) - - -_(PS! feel free to submit your logo!)_ +![The Unleash logo encircled by logos for Finn.no, nav (the Norwegian Labour and Welfare Administration), Budgets, Otovo, and Amedia. The encircling logos are all connected to the Unleash logo.](./.github/github_unleash_users.svg) ## Want to know more about Unleash? From 124c54ca3dbf0052ab92f0ce80341c6b61a41804 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 13:19:24 +0200 Subject: [PATCH 30/37] fix: Add unleash users image --- .github/github_unleash_users.svg | 171 +++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 .github/github_unleash_users.svg diff --git a/.github/github_unleash_users.svg b/.github/github_unleash_users.svg new file mode 100644 index 00000000000..992884ad66a --- /dev/null +++ b/.github/github_unleash_users.svg @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 46c15764c4e1ada1fd947dac17205ef42877226f Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 13:25:36 +0200 Subject: [PATCH 31/37] docs: Add section with links to deployment setup docs --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 7081448b4cb..cc35e14aba3 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,10 @@ If you don't want to run Unleash locally, we also provide easy deployment setups [![Deploy to Heroku](./.github/deploy-heroku-20.png)](https://www.heroku.com/deploy/?template=https://github.com/Unleash/unleash) [![Deploy to DigitalOcean](./.github/deploy-digital.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Unleash/unleash/tree/main&refcode=0e1d75187044) +### Configure and run Unleash anywhere + +The above sections show you how to get up and running quickly and easily. When you're ready to start configuring and customizing Unleash for your own environment, check out the documentation for [getting started with self-managed deployments](https://docs.getunleash.io/deploy/getting_started), [Unleash configuration options](https://docs.getunleash.io/deploy/configuring_unleash), or [running Unleash locally via docker](https://docs.getunleash.io/user_guide/quickstart#i-want-to-run-unleash-locally). + ## Online demo Try out [the Unleash online demo](https://www.getunleash.io/interactive-demo). From ea5100491419444b119abc81ed5516e0eb981ffd Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 13:32:11 +0200 Subject: [PATCH 32/37] fix: inconsistent use of colons, wrong image link --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cc35e14aba3..b4ffb0dec70 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ We know that learning a new tool can be hard and time-consuming. We have a growi [![Join Unleash on Slack](https://img.shields.io/badge/slack-join-635dc5?logo=slack)](https://slack.unleash.run) -💬 ![Join Unleash on Slack](https://slack.unleash.run) if you want ask open questions about Unleash, feature toggling or discuss these topics in general. +💬 [Join Unleash on Slack](https://slack.unleash.run) if you want ask open questions about Unleash, feature toggling or discuss these topics in general. 💻 [Create a GitHub issue](https://github.com/Unleash/unleash/issues/new) if you have found a bug or have ideas on how to improve Unleash. @@ -147,7 +147,7 @@ Read more in the [*system overview* section of the Unleash documentation](https: To connect your application to Unleash you'll need to use a client SDK for your programming language. -**Official server-side SDKs**: +**Official server-side SDKs:** - [Go SDK](https://docs.getunleash.io/sdks/go_sdk) - [Java SDK](https://docs.getunleash.io/sdks/java_sdk) @@ -167,7 +167,7 @@ The front-end SDKs connects via the [Unleash Proxy](https://docs.getunleash.io/s - [React SDK](https://docs.getunleash.io/sdks/proxy-react) - [iOS SDK](https://docs.getunleash.io/sdks/proxy-ios) -**Community SDKs** +**Community SDKs:** If none of the official SDKs fit your need, there's also a number of [community-developed SDKs](https://docs.getunleash.io/sdks#community-sdks) where you might find an implementation for your preferred language (such as [Elixir](https://gitlab.com/afontaine/unleash_ex), [Dart](https://pub.dev/packages/unleash), [Clojure](https://github.com/AppsFlyer/unleash-client-clojure), and more). From 6573a12fa92f489a5add8b4b17628b3827476812 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 13:35:21 +0200 Subject: [PATCH 33/37] docs: add margin before sections --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index b4ffb0dec70..54a08f1280e 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@
+

## About Unleash Unleash is an open source feature management solution. It improves the workflow of your development team and leads to quicker software delivery. Unleash increases efficiency and gives teams *full control* of how and when they enable new functionality for end users. Unleash lets teams ship code to production in *smaller* releases *whenever* they want. @@ -20,6 +21,7 @@ Feature toggles make it easy to test how your code works with real production da Unleash is the largest open source solution for feature flagging on GitHub. There's 12 official client and server SDKs and 10+ community SDKs available; you can even make your own if you want to. You can use Unleash with any language and any framework. +

## Get started in 2 steps ### 1. Start Unleash @@ -73,12 +75,14 @@ If you don't want to run Unleash locally, we also provide easy deployment setups The above sections show you how to get up and running quickly and easily. When you're ready to start configuring and customizing Unleash for your own environment, check out the documentation for [getting started with self-managed deployments](https://docs.getunleash.io/deploy/getting_started), [Unleash configuration options](https://docs.getunleash.io/deploy/configuring_unleash), or [running Unleash locally via docker](https://docs.getunleash.io/user_guide/quickstart#i-want-to-run-unleash-locally). +

## Online demo Try out [the Unleash online demo](https://www.getunleash.io/interactive-demo). ![The Unleash UI. It shows a project and its users, feature toggles and tabs for health, access, and environments.](./.github/github_online_demo.svg) +

## Community and help — sharing is caring We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate to reach out for help. @@ -91,6 +95,7 @@ We know that learning a new tool can be hard and time-consuming. We have a growi 📚 [Visit the documentation](https://docs.getunleash.io/) for more in-depth descriptions, how-to guides, and more. +

## Contribute to Unleash Building Unleash is a collaborative effort, and we owe a lot of gratitude to many smart and talented individuals. @@ -99,6 +104,7 @@ We'd love to have your help too: Please feel free to open issues or provide pull Check out [the CONTRIBUTING.md file](./CONTRIBUTING.md) for contribution guidelines and the [Unleash developer guide](./website/docs/contributing/developer-guide.md) for tips on environment setup, running the tests, and running Unleash from source. +

## Features our users love ### Flexibility and adaptability @@ -137,12 +143,14 @@ If you're looking for one of the following features, please take a look at our [ - tighter security - more hosting options (we can even host it for you!) +

## Architecture Read more in the [*system overview* section of the Unleash documentation](https://docs.getunleash.io/user_guide/unleash_overview#system-overview). +

## Unleash SDKs To connect your application to Unleash you'll need to use a client SDK for your programming language. @@ -171,6 +179,7 @@ The front-end SDKs connects via the [Unleash Proxy](https://docs.getunleash.io/s If none of the official SDKs fit your need, there's also a number of [community-developed SDKs](https://docs.getunleash.io/sdks#community-sdks) where you might find an implementation for your preferred language (such as [Elixir](https://gitlab.com/afontaine/unleash_ex), [Dart](https://pub.dev/packages/unleash), [Clojure](https://github.com/AppsFlyer/unleash-client-clojure), and more). +

## Users of Unleash **Unleash is trusted by thousands of companies all over the world**. @@ -179,6 +188,7 @@ If none of the official SDKs fit your need, there's also a number of [community- ![The Unleash logo encircled by logos for Finn.no, nav (the Norwegian Labour and Welfare Administration), Budgets, Otovo, and Amedia. The encircling logos are all connected to the Unleash logo.](./.github/github_unleash_users.svg) +

## Want to know more about Unleash? ### Videos and podcasts From c7875bc9f52bd6a40338d70d4768b50712a07600 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 13:38:28 +0200 Subject: [PATCH 34/37] docs: Add pre-section margin --- README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 54a08f1280e..8a597f387b3 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,6 @@
-

## About Unleash Unleash is an open source feature management solution. It improves the workflow of your development team and leads to quicker software delivery. Unleash increases efficiency and gives teams *full control* of how and when they enable new functionality for end users. Unleash lets teams ship code to production in *smaller* releases *whenever* they want. @@ -21,7 +20,8 @@ Feature toggles make it easy to test how your code works with real production da Unleash is the largest open source solution for feature flagging on GitHub. There's 12 official client and server SDKs and 10+ community SDKs available; you can even make your own if you want to. You can use Unleash with any language and any framework. -

+
+ ## Get started in 2 steps ### 1. Start Unleash @@ -75,14 +75,16 @@ If you don't want to run Unleash locally, we also provide easy deployment setups The above sections show you how to get up and running quickly and easily. When you're ready to start configuring and customizing Unleash for your own environment, check out the documentation for [getting started with self-managed deployments](https://docs.getunleash.io/deploy/getting_started), [Unleash configuration options](https://docs.getunleash.io/deploy/configuring_unleash), or [running Unleash locally via docker](https://docs.getunleash.io/user_guide/quickstart#i-want-to-run-unleash-locally). -

+
+ ## Online demo Try out [the Unleash online demo](https://www.getunleash.io/interactive-demo). ![The Unleash UI. It shows a project and its users, feature toggles and tabs for health, access, and environments.](./.github/github_online_demo.svg) -

+
+ ## Community and help — sharing is caring We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate to reach out for help. @@ -95,7 +97,8 @@ We know that learning a new tool can be hard and time-consuming. We have a growi 📚 [Visit the documentation](https://docs.getunleash.io/) for more in-depth descriptions, how-to guides, and more. -

+
+ ## Contribute to Unleash Building Unleash is a collaborative effort, and we owe a lot of gratitude to many smart and talented individuals. @@ -104,7 +107,8 @@ We'd love to have your help too: Please feel free to open issues or provide pull Check out [the CONTRIBUTING.md file](./CONTRIBUTING.md) for contribution guidelines and the [Unleash developer guide](./website/docs/contributing/developer-guide.md) for tips on environment setup, running the tests, and running Unleash from source. -

+
+ ## Features our users love ### Flexibility and adaptability From 61d353de03a1871783817ec7dacafdc29b251241 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 13:39:44 +0200 Subject: [PATCH 35/37] docs: add padding between header and buttons --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 8a597f387b3..8d5a15e50db 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,9 @@ The Unleash website +
+
+ [![Build and Tests](https://img.shields.io/github/workflow/status/unleash/unleash/Build%20%26%20Tests)](https://github.com/Unleash/unleash/actions/workflows/build.yaml) [![Coverage Status](https://coveralls.io/repos/github/Unleash/unleash/badge.svg?branch=main&)](https://coveralls.io/github/Unleash/unleash?branch=main) [![npm](https://img.shields.io/npm/v/unleash-server)](https://www.npmjs.com/package/unleash-server) [![Docker Pulls](https://img.shields.io/docker/pulls/unleashorg/unleash-server)](https://hub.docker.com/r/unleashorg/unleash-server) From dc5b7d1d45d3f8004f57838e71a7b153c5ac2c6c Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 15:16:00 +0200 Subject: [PATCH 36/37] fix: make section specing consistent --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8d5a15e50db..7563632fc47 100644 --- a/README.md +++ b/README.md @@ -150,14 +150,16 @@ If you're looking for one of the following features, please take a look at our [ - tighter security - more hosting options (we can even host it for you!) -

+
+ ## Architecture Read more in the [*system overview* section of the Unleash documentation](https://docs.getunleash.io/user_guide/unleash_overview#system-overview). -

+
+ ## Unleash SDKs To connect your application to Unleash you'll need to use a client SDK for your programming language. @@ -186,7 +188,8 @@ The front-end SDKs connects via the [Unleash Proxy](https://docs.getunleash.io/s If none of the official SDKs fit your need, there's also a number of [community-developed SDKs](https://docs.getunleash.io/sdks#community-sdks) where you might find an implementation for your preferred language (such as [Elixir](https://gitlab.com/afontaine/unleash_ex), [Dart](https://pub.dev/packages/unleash), [Clojure](https://github.com/AppsFlyer/unleash-client-clojure), and more). -

+
+ ## Users of Unleash **Unleash is trusted by thousands of companies all over the world**. @@ -195,7 +198,8 @@ If none of the official SDKs fit your need, there's also a number of [community- ![The Unleash logo encircled by logos for Finn.no, nav (the Norwegian Labour and Welfare Administration), Budgets, Otovo, and Amedia. The encircling logos are all connected to the Unleash logo.](./.github/github_unleash_users.svg) -

+
+ ## Want to know more about Unleash? ### Videos and podcasts From 8867860c38ceed68e2ecdb2b2646ea278bc4d513 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 8 Apr 2022 15:17:06 +0200 Subject: [PATCH 37/37] fix(docs): add colon, align and and vs & --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7563632fc47..01e47629aed 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ cd unleash-docker docker compose up -d ``` -Then point your browser to `localhost:4242` and log in using +Then point your browser to `localhost:4242` and log in using: - username: `admin` - password: `unleash4all` @@ -130,7 +130,7 @@ Check out [the CONTRIBUTING.md file](./CONTRIBUTING.md) for contribution guideli - [12 official client SDKs](https://docs.getunleash.io/sdks#official-sdks), and ten [community-contributed client SDKs](https://docs.getunleash.io/sdks#community-sdks) - Run it via Docker with the [official Docker image](https://hub.docker.com/r/unleashorg/unleash-server) or as a pure Node.js application -### Security & performance +### Security and performance - Privacy by design (GDPR and Schrems II). End-user data never leaves your application. - [Audit logs](https://docs.getunleash.io/advanced/audit_log)