update scheduler's aler rule to accept regular Evaluation in update channel
This makes it accept the full rule definition, which is required in reset state.
* add tests for broacaster
* fix sql notifier not closing the stream
* fix sql notifier not closing the stream
* close sub
* fix broadcaster test
* fix broadcaster test
* suggestion
* Add version 2.4 to frontend
* Update settings and types
- Set all properties on backend for consistency
* Update query logic to parse new and old format
- Minor naming updates
- Extract logic for initial frame creation
- When parsing old api responses, ensure data is in ascending order
- Update tests
* Update docs and provisioning file
* Fix lint
* Update docs/sources/datasources/opentsdb/_index.md
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
* Update docs/sources/datasources/opentsdb/_index.md
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
* Review nit
---------
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
* RBAC: Remove accessControlOnCall feature toggle
* Leave the other one in place
* Tests
* frontend
* Readd empty ft to frontend test
* Remove legacy RBAC check
* Fix test
* no need for context
* Remove unused variable
* Remove unecessary param
* remove unecessary param from tests
* More tests :D
What is this feature?
Adds an API endpoint to create alert rules with mimirtool:
- POST /convert/prometheus/config/v1/rules/{NamespaceTitle} - Accepts a single rule group in a Prometheus YAML format and creates or updates a Grafana rule group from it.
The endpoint uses the conversion package from #100224.
Key parts
The API works similarly to the provisioning API. If the rule does not exist, it will be created, otherwise updated. Any rules not present in the new group will be deleted, ensuring the group is fully synchronized with the provided configuration.
Since the API works with namespace titles (folders), the handler automatically creates a folder in the root based on the provided title if it does not exist. It also requires a special header, X-Grafana-Alerting-Datasource-UID. This header specifies which datasource to use for the new rules.
If the rule group's evaluation interval is not specified, it uses the DefaultRuleEvaluationInterval from settings.
* Provisioning: Define secrets service
* Provisioning: Create and store secrets service
* Provisioning: Define safepath
* Provisioning: Define the repository
* Identity: Support a provisioning service
* Provisioning: Define a job queue
* Chore: Regen code
* Provisioning: Show progress more often
Co-Authored-By: Ryan McKinley <ryantxu@gmail.com>
* Provisioning: Rename hash field to lastRef
Co-Authored-By: =?UTF-8?q?Roberto=20Jim=C3=A9nez=20S=C3=A1nchez?= <roberto.jimenez@grafana.com>
* Provisioning: Workflows as write access
Co-Authored-By: Ryan McKinley <ryantxu@gmail.com>
* Provisioning: Regen OpenAPI snapshot
* Provisioning: Update tests to match new fields
---------
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: =?UTF-8?q?Roberto=20Jim=C3=A9nez=20S=C3=A1nchez?= <roberto.jimenez@grafana.com>
* add alertUID to annotations API query parameter
* update state history UI to fetch rule by UID
---------
Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>