fix: prevent updates to provisioned dashboards to avoid overwriting user modifications #7792
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Currently, users may edit the provisioned dashboards and save them to the database, this may look nice but the modification from the user will get overwritten if the dashboards have been changed in the newer version of Apache DevLake during an upgrade.
To address the problem, we came to a conclusion: All provisioned dashboards can be edited but should not be saved, it makes more sense for users to save the edited dashboard as a new one.
This PR achieves the goal by simply forbidding updating the provisioned dashboards according to https://grafana.com/docs/grafana/latest/administration/provisioning/
Screenshots
I tested it on my local machine and it seems to be working as expected: