Create default instance specific integrations
What does this MR do and why?
This change is to allow the creation of default instance specific integrations for groups and projects.
Unlike conventional integrations, instance specific integrations can be deactivated by default (e.g if the group is excluded, then a new project for that group will also be excluded)
These custom settings will be created/destroyed in following MRs:
- Update integration exclusions services to handle groups
- Update exclusions graphql endpoints to handle groups
Preceding MR for context: Allow Beyond Identity Integration to be inheritable
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Query plans
The query used in https://gitlab.com/gitlab-org/gitlab/-/blob/f0c19eb04239fe4a0614b8ca911d2a713dc3b920/app/models/integration.rb#L473 is new:
The query for https://gitlab.com/gitlab-org/gitlab/-/blob/f0c19eb04239fe4a0614b8ca911d2a713dc3b920/app/models/integration.rb#L473 is changed:
- Before: https://console.postgres.ai/gitlab/gitlab-production-main/sessions/28736/commands/89681
- After this MR: https://console.postgres.ai/gitlab/gitlab-production-main/sessions/28736/commands/89682
Related to #454372 (closed)