Backend: Allow Self Manage users to increase maximum number of includes
### Problem When building a CI/CD pipeline users often use the `include` keywords which reference external yaml configuration (file) in their CI/CD configuration. Users cannot have more than 150 includes per pipeline. ### Proposal (for Self Manage users only) Add an application ~~limit~~ setting for self-managed that allows them to have more than 150 includes. Details: Redefine the [hardcoded limit](https://gitlab.com/gitlab-org/gitlab/-/blob/4b4a5def2a65a15966fd5eed0c5a6f30f819b328/lib/gitlab/ci/config/external/context.rb#L12) with ~~[application limits](https://docs.gitlab.com/ee/development/application_limits.html)~~ [application settings](https://docs.gitlab.com/ee/api/settings.html) with 150 as the default recommended limit. With this thing in place, self-managed can set it to whatever works for their setup. For .com we should wait until the performance changes are implemented. [2023-04-19] Proposal updated to use "application settings" (not limits) per https://gitlab.com/gitlab-org/gitlab/-/issues/207270#note_1358530340. ### Proposal for .com A pre-requisite for .com is #382531 and #382751. Afterwards, we could increase the limit for `.com`. ## Implementation | Description | MR | | ------ | ------ | | Allow max includes to be changed in application settings | https://gitlab.com/gitlab-org/gitlab/-/merge_requests/118392 | A new `Maximum includes` setting in **Admin > Settings > CI/CD > Expand "Continuous Integration and Deployment"** has been added to %"16.0". You can also change `ci_max_includes` via the [API](https://docs.gitlab.com/ee/api/settings.html#list-of-settings-that-can-be-accessed-via-api-calls). ![image](/uploads/c24a01c30e86e408201b14a907e3b69a/image.png)
issue