diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-03-15 21:11:11 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-03-15 21:11:11 +0300 |
commit | f6b58d14904a1413a5442d13f361671e59ab3ded (patch) | |
tree | 5120b75e5d2bfa1773f9c5e431521afef652a8c4 /doc/development/ee_features.md | |
parent | ce97c898865e06644ae9c04d5c3666775b9998cb (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/development/ee_features.md')
-rw-r--r-- | doc/development/ee_features.md | 72 |
1 files changed, 43 insertions, 29 deletions
diff --git a/doc/development/ee_features.md b/doc/development/ee_features.md index 47abc088fcd..bc997c37e66 100644 --- a/doc/development/ee_features.md +++ b/doc/development/ee_features.md @@ -18,6 +18,49 @@ info: To determine the technical writer assigned to the Stage/Group associated w [EE features list](https://about.gitlab.com/features/). <!-- markdownlint-enable MD044 --> +## SaaS only feature + +Use the following guidelines when you develop a feature that is only applicable for SaaS (for example, a CustomersDot integration). + +1. It is recommended you use an application setting. This enables + granular settings so that each SaaS instance can switch things according to + their need. +1. If application setting is not possible, helpers such as `Gitlab.com?` can be + used. However, this comes with drawbacks as listed in the epic to + [remove these helpers](https://gitlab.com/groups/gitlab-org/-/epics/7374). + 1. Consider performance and availability impact on other SaaS instances. For example, + [GitLab JH overrides](https://jihulab.com/gitlab-cn/gitlab/-/blob/main-jh/jh/lib/jh/gitlab/saas.rb) + SaaS helpers, so that it returns true for `Gitlab.com?`. + +### Simulate a SaaS instance + +If you're developing locally and need your instance to simulate the SaaS (GitLab.com) +version of the product: + +1. Export this environment variable: + + ```shell + export GITLAB_SIMULATE_SAAS=1 + ``` + + There are many ways to pass an environment variable to your local GitLab instance. + For example, you can create an `env.runit` file in the root of your GDK with the above snippet. + +1. Enable **Allow use of licensed EE features** to make licensed EE features available to projects + only if the project namespace's plan includes the feature. + + 1. Visit **Admin > Settings > General**. + 1. Expand **Account and limit**. + 1. Select the **Allow use of licensed EE features** checkbox. + 1. Select **Save changes**. + +1. Ensure the group you want to test the EE feature for is actually using an EE plan: + 1. On the top bar, select **Main menu > Admin**. + 1. On the left sidebar, select **Overview > Groups**. + 1. Identify the group you want to modify, and select **Edit**. + 1. Scroll to **Permissions and group features**. For **Plan**, select `Ultimate`. + 1. Select **Save changes**. + ## Implement a new EE feature If you're developing a GitLab Premium or GitLab Ultimate licensed feature, use these steps to @@ -137,35 +180,6 @@ To do so: bin/rspec spec/features/<path_to_your_spec> ``` -### Simulate a SaaS instance - -If you're developing locally and need your instance to simulate the SaaS (GitLab.com) -version of the product: - -1. Export this environment variable: - - ```shell - export GITLAB_SIMULATE_SAAS=1 - ``` - - There are many ways to pass an environment variable to your local GitLab instance. - For example, you can create an `env.runit` file in the root of your GDK with the above snippet. - -1. Enable **Allow use of licensed EE features** to make licensed EE features available to projects - only if the project namespace's plan includes the feature. - - 1. Visit **Admin > Settings > General**. - 1. Expand **Account and limit**. - 1. Select the **Allow use of licensed EE features** checkbox. - 1. Click **Save changes**. - -1. Ensure that the group for which you want to test the EE feature, is actually using an EE plan: - 1. On the top bar, select **Main menu > Admin**. - 1. On the left sidebar, select **Overview > Groups**. - 1. Identify the group you want to modify, and select **Edit**. - 1. Scroll to **Permissions and group features**. For **Plan**, select `Ultimate`. - 1. Select **Save changes**. - ### Run CI pipelines in a FOSS context By default, merge request pipelines for development run in an EE-context only. If you are |