* Alerting: Fix simplified routes '...' groupBy creating invalid routes
There were a few ways to go about this fix:
1. Modifying our copy of upstream validation to allow this
2. Modify our notification settings validation to prevent this
3. Normalize group by on save
4. Normalized group by on generate
Option 4. was chosen as the others have a mix of the following cons:
- Generated routes risk being incompatible with upstream/remote AM
- Awkward FE UX when using '...'
- Rule definition changing after save and potential pitfalls with TF
With option 4. generated routes stay compatible with external/remote AMs, FE
doesn't need to change as we allow mixed '...' and custom label groupBys, and
settings we save to db are the same ones requested.
In addition, it has the slight benefit of allowing us to hide the internal
implementation details of `alertname, grafana_folder` from the user in the
future, since we don't need to send them with every FE or TF request.
* Safer use of DefaultNotificationSettingsGroupBy
* Fix missed API tests
* only users with Grafana Admin role can grant/revoke Grafana Admin role
* check permissions to user amdin endpoints globally
* allow checking global permissions for service accounts
* use a middleware for checking whether the caller is Grafana Admin
* User: remove unused function
* User: Remove UpdatePermissions and support IsGrafanaAdmin flag in Update function instead
* User: Remove Disable function and use Update instead
* add history links for monaco completion provider folder
* add history links for monaco query field folder
* add history links for components folder
* add history links for configuration folder
* add history links for dashboard json folder
* add history links for gcopypaste folder
* add history link for variableMigration
* add history link for querybuilder/components/metrics-modal folder
* add history link for querybuilder/components/promqail folder
* add history links for querybuilder/components folder
* add history links for querybuilder/hooks folder
* add history links for querybuilder/shared folder
* add history links for querybuilder folder
* add history links for querycache folder
* add history links for src folder
* use frontend package and custom auth in module.ts
* remove files and fix import issues
* remove usePrometheusFrontendPackage
* remove extra files
* update betterer
* remove extra files after rebase
* fix betterer for rebase
* fix e2e flakiness
* add native histogram functions to code editor
* add native histogram function types for query builder
* add functions to query builder
* add test to show parsing breaks from code to builder
* add histogram_avg to code editor
* add histogram_avg to builder and make parity between package and core
* add functions to hard coded promql file for highlighting
* remove native histogram test so that it can be added in #85942
* remove functions from core prometheus js to prevent merge conflict in #86080
* use xit for test instead of removing it
* Added template from existing landing page
* Added dashboards content
* Fixed front matter
* Referenced existing icon to test
* Added test icon
* Edited text
* Fixed link formatting
* Finalized description and overview text
* Updated description'
* Updated tile text
* Updated docs/ref section
* Added panel overview page and updated panel editor page
* Finalized panel overview intro text and added links
* Added add panel section to overview and removed section from editor
* Fixed version interpolation syntax and updated Cloud link
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* Fixed version interpolation syntax
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
---------
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>