Deprecate and remove Service Templates feature
## Rationale With the introduction of instance and group based integration management, the core use case of Service Templates (managing many integrations) is best served by this new feature. Because of this, we should deprecate Service Templates and remove it from the application, driving customers to this new feature instead. Service Templates allowed you to set a default value across project integrations, but did not support updating that value in the future. Based on many customer interviews and discussions, this caused headaches, since configurations need to get updated periodically, and those updates require a ton of busywork when each integration had to be done individually. Managing _all integrations_ through inheritance is a significantly better approach, saving administrators/owners time and effort, and providing better consistency across all their projects. ## Impact _Usage of Service Templates was recently added to usage ping (%"13.4"), and needs to be evaluated against adoption of Integration Management over the next few releases._ The hypothesis is that Integration Management will quickly eclipse Service Templates in usage, but we will need to validate this before deprecating. ## Rollout #### %"13.11" 1. Create a more visible User Callout for Admin Users of Instances with Service Templates configured. This replaces the existing callout on the **Service template** page: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58613 1. Prevent users from creating new service templates. In other words, only display **active** service templates in the table: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58624 1. Add a non-dismissible `danger` alert to the **Service templates** pages explaining that new service templates cannot be added: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58624 1. Move the **Service templates** nav item behind a feature flag, `:disable_service_templates` *disabled by default* (no MR yet, issue: https://gitlab.com/gitlab-org/gitlab/-/issues/326962) #### %"14.0" 1. Enable the feature flag, `:disable_service_templates`: https://gitlab.com/gitlab-org/gitlab/-/issues/326962 #### %"14.1" (or some future release 14.\*) 1. Remove the feature flag `:disable_service_templates`: https://gitlab.com/gitlab-org/gitlab/-/issues/327436 1. Remove service templates entirely https://gitlab.com/gitlab-org/gitlab/-/issues/325659 https://gitlab.com/gitlab-org/gitlab/-/issues/327091 ## Q & A | | GitLab 13.11, 13.12 | GitLab 14.0 | GitLab 14.1 (or some future release) | |--|---------------------|-------------|--------------------------------------| | *Can I create a new service template?* | No | No | No | | *Can I edit an existing service template?* | Yes | Yes, but not by default. You will need to manually disable the `:disable_service_templates` feature flag (https://gitlab.com/gitlab-org/gitlab/-/issues/326962) | No | | *As a user with an active service template, how do I migrate to [Project integration management](https://docs.gitlab.com/ee/user/admin_area/settings/project_integration_management.html)?* | Activating an instance-level integration will automatically overwrite the corresponding service template (i.e. if you have a Jira service template, activating the Jira integration will overwrite the service template). | <-- Same as 13.11 | <-- Same as 14.0 | | *I have an active service template, and I need to copy my service template configuration details over to [Project integration management](https://docs.gitlab.com/ee/user/admin_area/settings/project_integration_management.html). Can I still view my service template details?* | Yes. | <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION --> *This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.* <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
epic