<!-- Thanks for creating a PR! To make it easier for reviewers and everyone else to understand what your changes relate to, please add some relevant content to the headings below. Feel free to ignore or delete sections that you don't think are relevant. Thank you! ❤️ --> Documenting Default Strategy ## About the changes <!-- Describe the changes introduced. What are they and why are they being introduced? Feel free to also add screenshots or steps to view the changes if they're visual. --> <!-- Does it close an issue? Multiple? --> Closes # [1-1023](https://linear.app/unleash/issue/1-1023/document-strategy-improvements) <!-- (For internal contributors): Does it relate to an issue on public roadmap? --> <!-- Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item: # --> ### Important files <!-- PRs can contain a lot of changes, but not all changes are equally important. Where should a reviewer start looking to get an overview of the changes? Are any files particularly important? --> ## Discussion points <!-- Anything about the PR you'd like to discuss before it gets merged? Got any questions or doubts? --> --------- Signed-off-by: andreas-unleash <andreas@getunleash.ai> Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
7.5 KiB
id | title |
---|---|
projects | Projects |
:::info feature availability
All users get access to projects, but only pro and enterprise users can create, update, or delete them.
:::
This document explains how Unleash uses projects, including how to create and maintain them.
The default project
All users get access to the default project. You cannot delete this project. You can, however, rename it if you're using the pro or enterprise version of Unleash.
Understanding purpose of projects
Projects are a way to organize your feature toggles within Unleash. Within a large organization, having multiple feature toggles, staying on top of the feature toggles might become a challenge. Every feature toggle will be part of a project. Projects can be linked to a development team or to functional modules within the software.
A common pattern is to organize the feature toggles according to key areas of the application, e.g. “Basic user process” and “Advanced user process”. This is illustrated below.
Projects and environments
You can configure which environments should be available within a project. By default, all globally available environments are available. You can only enable/disable a feature toggle for the environments you configure for a project.
Within the admin UI, the projects are available under the "environments" tab of the project page. Changing them requires the project owner role.
Creating a new project
When you log into Unleash for the first time, there is a Default project already created. All feature toggles are included in the Default project, unless explicitly set to a different one.
From the top-line menu – click on “Projects”
The UI shows the currently available projects. To create a new project, use the “new project” button.
The configuration of a new Project is now available. the following input is available to create the new Project.
Item | Description |
---|---|
Project Id | Id for this Project |
Project name | The name of the Project. |
Description | A short description of the project |
Mode | The project collaboration mode |
Default Stickiness | The default stickiness for the project. This setting controls the default stickiness value for variants and for the gradual rollout strategy. |
Deleting an existing project
To keep your feature toggles clean, removing deprecated projects is important. From the overview of Projects –
- In the top right of the project card, find the project menu represented by three vertical dots.
- Click on Delete Project
Filter feature toggles on projects
When browsing the feature toggles in Unleash, you might want to filter the view by looking only at the ones included in the project of interest. This is possible from the Feature toggle overview.
From the UI top navigation menu, choose "Feature toggles".
The list of features toggles can be filtered on the project of your choice. By default, all feature toggles are listed in the view. You can use the search to filter to a specific project or even for multiple projects in the same time if you need.
In the search you can type "project:specific-name" to filter that project only.
The view will now be updated with the filtered feature toggles.
Assigning project to a new feature toggle
When you create a new feature toggle, you can choose which project to create it in. The default project is whatever project you are currently configuring.
All available projects are available from the drop-down menu.
Change project for an existing feature toggle
If you want to change which project a feature toggle belongs to, you can change that from the feature toggle's configuration page. Under the settings tab, choose the project option and choose the new project from the dropdown menu.
Project default strategy
import Figure from '@site/src/components/Figure/Figure.tsx'
:::info Availability
The project default strategy feature is generally available starting with Unleash 5.2.0.
:::
You can define default strategies for each of a project's environments. The default strategy for an environment will be added to a feature when you enable it in an environment if and only if the feature has no active strategies defined.
All default project strategies use the gradual rollout activation strategy. By default, the rollout 100%. You can customize the strategies by changing the rollout percentage and adding constraints and segments as you would for any other strategy.
Configuration
Custom strategies are configured from each project's project settings tab.