Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-03-15 21:11:11 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-03-15 21:11:11 +0300
commitf6b58d14904a1413a5442d13f361671e59ab3ded (patch)
tree5120b75e5d2bfa1773f9c5e431521afef652a8c4 /doc/development/ee_features.md
parentce97c898865e06644ae9c04d5c3666775b9998cb (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/development/ee_features.md')
-rw-r--r--doc/development/ee_features.md72
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