Introduce additional granular controls to toggle the feature
### Overview In order to make adoption of this feature easier, we should introduce more granular controls to enable/disable the feature. At the moment, only instance-level configuration is available, and we would like to expand to other options (e.g. organization, group, and project). This would also support the [integration](https://docs.google.com/document/d/1C6PNM0a6TMG7GkqMzhA1jv6kd7e1e75i1xBq7eISP30/edit#bookmark=id.np7aveosc4tl) (internal only) with [Security Policies](https://docs.gitlab.com/ee/user/application_security/policies) in the future. Having granular settings is a prerequisite for us to be able to add an additional option in the Scan Execution Policy to enforce pre-receive secret detection for a group or project where the policy is applied. Also, as part of this effort, we should probably remove the existing per-project [feature flag](https://gitlab.com/gitlab-org/gitlab/-/issues/429287) as such controls will likely replace it. ### Proposal Adding a new setting on the project-level would likely require creating a new database column, and each setting has to be available to set or update using either the API or the UI. We propose the following list of tasks to implement this change: * [x] Add new project-level setting in database to toggle feature on/off. * [x] Add the new setting to [API](https://docs.gitlab.com/ee/api/projects.html) and [UI](https://docs.gitlab.com/ee/user/project/working_with_projects.html) to allow toggling the feature for a project. * ~~[ ] Add new group-level setting in database to toggle feature on/off.~~ Postponed to GA * ~~[ ] Add the new setting to [API](https://docs.gitlab.com/ee/api/groups.html) and [UI](https://docs.gitlab.com/ee/user/group/manage.html) to allow toggling the feature for a group.~~ * [x] Update [secrets push check](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/ee/gitlab/checks/push_rules/secrets_check.rb) to honour the new setting ~~and remove the aforementioned feature flag~~. * [] ~~Update documentation, focusing on how instance-level and project-level interact, in regards to precedence.~~
epic