This renames `data` to `expressions` for clarity in the rules apis.
Also makes certain fields that are redundant optional in the case of pure expressions, so that users don't have to specify them when they are not needed (e.g. not datasource queries).
* support panel actions
* refactor
* add test; move action transformer to utils
* refactor so v2 headers and queryParams are just a simple record
* update open api
* update actions to be same shape accross all dashboard schemas and add validation on the backend
* cleanup
* update snapshot
* add tests to validation
Rules created in the new api makes the rule have no group in the database, but the rule is returned in the old group api with a sentinel group name formatted with the rule uid for compatiblity with the old api.
This makes the UI continue to work with the rules without a group, and the ruler will continue to work with the rules without a group.
Rules are not allowed to be created in the provisioning api with a NoGroup sentinel mask, but NoGroup rules can be manipulated through both the new and old apis.
Co-authored-by: William Wernert <william.wernert@grafana.com>
* Configurable repository types in monolith and operator
* Default to Github in operators
* Regenerate wire
* Fix and implement unit tests
* Same types for enterprise tests
* Remove unnecessary conversion
* Remove the issue with import cycles
* FS: Move multiTenantFrontend evaluation to OpenFeature
* comment
* actually, just remove the toggle
* fix k8s prefs test using toggle
* replace frontend flag usage
* codeowners
* move isFrontendService just into core
* put back comment
* Replace remaining calls to testing.Short where possible.
* Update style guide.
* Revert change in TestAlertmanager_ExtraDedupStage, as it doesn't work.
* Make TestAlertRulePostExport into integration test.
* Provisioning: Use merge patch instead of json path to release orphan resources
* rolling back to json Patch
* adding TODO for testing
* adding integration test
* using struct
* addressing comments on tests
* add VersionedNotifierPlugin and method that converts NotifierPlugin to it
* return new schema if query parameter version=2
* add version to k8s model of integration
* fix open api snapshot
* add version to IntegrationConfig
* use current version on conversion
* create versioned integrations for test
* Add log after jobs
* Use the same helper to create repository in export job
* Improve the logging
* Fix eventually conditions in helpers
* Fix export job tests
* Format code
* Fix linting
* Fix the format
* Fix linting issue
* Fix innefectual assignment
* Add URLs to Job spec
* Rename them as RefURLs
* Implement RefURLs for Github
* Add Ref URLs to Jobs
* Worker Test
* Create the branch in the staged writer
* Regenerate Git mock
* Format code
* Consolidate ResourceURLs and RefURLs into one
* Fix broken tests
* Add config provider and integrate with wire setup
* Refactor quota service to use config provider for configuration management
* Enhance OSSConfigProvider to include logging and update ProvideService to return an error. Refactor server initialization to handle potential errors from config provider. Remove unnecessary wire binding for OSSConfigProvider.
* Update CODEOWNERS to include the configprovider package under the grafana-backend-services-squad.
* Refactor quota service initialization to include context in multiple service providers. Update tests and service implementations to ensure proper context handling during service creation.
* Add HistoryJob back to Spec
* Generate client
* Put back History Jobs
* Add a controller to remove historic jobs after some minutes
* Start only if Loki is not used
* Format code
* Update OpenAPI spec
* Change log level
* Fix condition
* Fix staticcheck
* Use provisioning identity
* Fix registration APIs
* Fix readonly issue
* Update OpenAPI
* Chore: Apply proper database settings to integration tests
* add logging
* join host and port in database config to override default ports
* apply test fixes from the original pr
* host might contain port already
* increase timeout
* increase timeout even more
* even larger timeouts
* Use eventually for stats
* Use eventually also for listing settings as index takes some time
---------
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>