Update analytics dashboard schema to make `version` field required again
Background
As part of #444915 (closed), we had to relax the analytics dashboard schema and make the version
field optional – YAML files for existing custom dashboards (created using YAML or the dashboard designer) did not include it and so were not compliant with the schema, resulting in the Invalid dashboard configuration
alert appearing in all of them. To avoid creating unversioned custom dashboards via the dashboard designer, as of !155896 (merged), the version
field is added by default to all new dashboards.
Proposal
-
Make the
version
field required in the schema to enforce versioning of YAML configurations - Once the
version
field is marked as required, all dashboards with unversioned YAML configurations will be invalid and an alert will appear. We'll need to document how to get rid of it:- For YAML users, they can update their configurations by adding the
version
field with the correct value - For dashboard designer users, they can re-save their dashboards and the
version
field with the correct value should be automatically added
- For YAML users, they can update their configurations by adding the
Questions
- Do we need to announce a breaking change or will flag notes in the appropriate sections in the documentation suffice?
-
@felipe_artur
raises some great questions in https://gitlab.slack.com/archives/CJZR6KPB4/p1716386339938559?thread_ts=1716368967.516479&cid=CJZR6KPB4:- Do we really need the
version
property? - Do we plan to introduce new schemas regularly? And if so, how would the deprecation process of old schemas look like? (There is an action item to document the schema change process in https://gitlab.com/gitlab-org/gitlab/-/issues/463342#note_1938470186, so this will likely be addressed there).
- Do we really need the
Edited by Rudy Crespo