diff options
author | Achilleas Pipinellis <axil@gitlab.com> | 2019-03-12 16:22:37 +0100 |
---|---|---|
committer | Achilleas Pipinellis <axil@gitlab.com> | 2019-03-12 16:22:37 +0100 |
commit | c19ed72155378c7e684d771964ad027f57c4ca34 (patch) | |
tree | aee24cf4cd24ca3962a2adf68c7b89cfb37ef242 /doc/development/licensed_feature_availability.md | |
parent | a817f7905c084f725b6fa01955be4fd8ad28c747 (diff) | |
download | gitlab-ce-docs/ee-to-ce.tar.gz |
Merge EE docs into CEdocs/ee-to-ce
Diffstat (limited to 'doc/development/licensed_feature_availability.md')
-rw-r--r-- | doc/development/licensed_feature_availability.md | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/doc/development/licensed_feature_availability.md b/doc/development/licensed_feature_availability.md new file mode 100644 index 00000000000..09e3f189bc0 --- /dev/null +++ b/doc/development/licensed_feature_availability.md @@ -0,0 +1,37 @@ +# Licensed feature availability + +As of GitLab 9.4, we've been supporting a simplified version of licensed +feature availability checks via `ee/app/models/license.rb`, both for +on-premise or GitLab.com plans and features. + +## Restricting features scoped by namespaces or projects + +GitLab.com plans are persisted on user groups and namespaces, therefore, if you're adding a +feature such as [Related issues](../user/project/issues/related_issues.md) or +[Service desk](../user/project/service_desk.md), +it should be restricted on namespace scope. + +1. Add the feature symbol on `EES_FEATURES`, `EEP_FEATURES` or `EEU_FEATURES` constants in + `ee/app/models/license.rb`. Note on `ee/app/models/ee/namespace.rb` that _Bronze_ GitLab.com + features maps to on-premise _EES_, _Silver_ to _EEP_ and _Gold_ to _EEU_. +2. Check using: + +```ruby +project.feature_available?(:feature_symbol) +``` + +## Restricting global features (instance) + +However, for features such as [Geo](../gitlab-geo/README.md) and +[Load balancing](../administration/database_load_balancing.md), which cannot be restricted +to only a subset of projects or namespaces, the check will be made directly in +the instance license. + +1. Add the feature symbol on `EES_FEATURES`, `EEP_FEATURES` or `EEU_FEATURES` constants in + `ee/app/models/license.rb`. +2. Add the same feature symbol to `GLOBAL_FEATURES` +3. Check using: + +```ruby +License.feature_available?(:feature_symbol) +``` |