Skip to content

Convert dashboard keys (e.g. panel_groups) to camel case

Miguel Rincon requested to merge 201999-support-formatting-dashboard into master

What does this MR do?

Converts the main keys in the dashboard structure to camel case and uses a specific mapping for keys. This is something that I would like to address before continuing the efforts in extending the dashboard.yml API.

This change was done for several reasons:

  • This leads to more predictable data structures in the store making FE-BE integration is more reliable.
  • Users are can add anything to the dashboard's yml file, and this could open the FE to unexpected results.
  • Accepting everything backend sends could waste memory on unused data.

What does this mean for FE development?

The mutation mapping will only allow known keys from metrics_dashboard.json call. This means that new keys must be explicitly added in the mappings before being made available in the store.

The mappings are in app/assets/javascripts/monitoring/stores/utils.js and they start from the top with mapToDashboardViewModel.

Exception: The metric object still accepts all keys, this is ~"technical debt" issue: #207198 (closed)

Background

This is part of our Dogfooding efforts at #201999 (closed) and &2541

Screenshots

N/A

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related to #201999 (closed)

Edited by 🤖 GitLab Bot 🤖

Merge request reports