Create a single source of truth for feature flags
What does this MR do?
Follow-up for !1312 (merged).
Creates a single source of truth for information about available feature flags and adds an automation for documentation table generation.
Why was this MR needed?
Prepares a single source of truth for the information about available FFs. Information about available FFs, their description, default value, deprecation details (if any) are now stored in one place.
The documentation of the specific FFs is managed manually. It makes things easy to forget. The inspiration for preparing this part of the change was !1297 that I'm working on. It adds a new FF and I totally forgot that we have a documentation page for them. There is of course the changes that it would be noticed by the reviewer, but if we can automatize this, then why not!? :)
So, having this in mind, this MR adds also a mechanism do generate the table for https://docs.gitlab.com/runner/configuration/feature-flags.html#available-feature-flags using the FF details added into the
./helpers/feature_flagspackage. Also a new make target:
make update_feature_flags_docswas added to make this a one-command operation.
Are there points in the code the reviewer needs to double check?
Does this MR meet the acceptance criteria?
- Documentation created/updated
- Added tests for this feature/bug
In case of conflicts with
master- branch was rebased