Peter Štibraný
1856d47e47
Remove GetResourceClient hack from unified package. ( #100636 )
...
* Remove GetResourceClient hack from unified package.
2025-02-14 12:34:52 +01:00
Alexander Akhmetov
9593e51da7
Alerting: conversion API structure ( #100258 )
2025-02-12 08:13:21 +01:00
Moustafa Baiou
7dee4d1808
Alerting: Allow specifying uid for new rules added to groups ( #99858 )
...
When modifying rule groups the `uid` can be specified but only if the rule already existed in the DB. If the rule is new the update would be rejected.
This updates the RuleGroup provisioning apis to allow specifying the `uid` when creating/updating rule groups.
Additionally, the RuleGroupIdx was not being updated when rules were reordered in the group.
Context: https://github.com/grafana/terraform-provider-grafana/pull/1971#issuecomment-2599223897
Relates to: https://github.com/grafana/terraform-provider-grafana/issues/1928
Fixes : #98283
2025-02-10 10:28:34 -05:00
Fayzal Ghantiwala
7ae8058c8b
Alerting: Return 404 when /api/ruler/grafana/api/v1/rules/{Namespace}/{Groupname} does not exist ( #100264 )
...
* Return a 404 when rule group doesn't exist
* Update tests
* Update swagger doc and tests
2025-02-07 16:24:28 +00:00
Yuri Tseretyan
f7d476e408
Alerting: Remove id and org_id from grafana alert rule API model ( #100139 )
2025-02-05 23:13:22 +02:00
Yuri Tseretyan
68f1730461
Alerting: set updated_by for system owned operations ( #100068 )
2025-02-04 14:23:15 -05:00
Yuri Tseretyan
ac41c19350
Alerting: Rule version history API ( #99041 )
...
* implement store method to read rule versions
* implement request handler
* declare a new endpoint
* fix fake to return correct response
* add tests
* add integration tests
* rename history to versions
* apply diff from swagger CI step
Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com >
---------
Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com >
2025-02-03 13:26:18 -05:00
Yuri Tseretyan
7007342704
Alerting: k8s receivers api encrypt existing unencrypted secureFields on update ( #99784 )
...
* apply security patch: v11.5.x/305-202501232115.patch
commit 874ce8d12caad3742857ca86d2da7d5f81f3f825
Author: Matt Jacobson <matthew.jacobson@grafana.com >
Date: Thu Jan 23 16:14:28 2025 -0500
linting
commit c4b6d9194cc8b79e252e562a27a2d09a42d7a5e8
Author: Matt Jacobson <matthew.jacobson@grafana.com >
Date: Thu Jan 23 14:56:35 2025 -0500
CVE-2024-11741 - victorops url
2025-01-30 00:48:26 +02:00
Garret Wyman
cf177776bf
Alerting: Adding color option for slack receiver ( #99615 )
2025-01-30 00:12:16 +02:00
Fayzal Ghantiwala
f8e7e9e024
Alerting: Make pagination token empty if an invalid token is passed ( #99644 )
...
Reset token to empty if invalid
2025-01-28 11:54:11 +00:00
Moustafa Baiou
82f457495a
Alerting: Correctly escape provisioning API exports ( #99039 )
...
When exporting contact-points, mute-timings, and notification policies in the provisioning API, we need to escape the `$` character which is used in interpolation by file provisioning.
Follow up to #97985
2025-01-27 14:59:50 -05:00
Yuri Tseretyan
d71904cb27
Alerting: Expose updated_by in rules GET APIs ( #99525 )
...
---------
Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com >
2025-01-27 14:31:40 -05:00
Fayzal Ghantiwala
848ef72100
Alerting: Check if pagination token is greater than or equal to ( #99576 )
...
Use goe for token comparison
2025-01-27 15:56:06 +00:00
Arati R.
a2097fbc2f
Folders: Add user service to folder service implementation ( #99518 )
...
Add user service to folder service implementation
2025-01-27 14:29:47 +01:00
Yuri Tseretyan
92d6762a3a
Alerting: Store information about user that created\updated alert rule ( #99395 )
...
* introduce new fields created_by in rule tables
* update domain model and compat layer to support UpdatedBy
* add alert rule generator mutators for UpdatedBy
* ignore UpdatedBy in diff and hash calculation
* Add user context to alert rule insert/update operations
Updated InsertAlertRules and UpdateAlertRules methods to accept a user context parameter. This change ensures auditability and better tracking of user actions when creating or updating alert rules. Adjusted all relevant calls and interfaces to pass the user context accordingly.
* set UpdatedBy in PreSave because this is where Updated is set
* Use nil userID for system-initiated updates
This ensures differentiation between system and user-initiated changes for better traceability and clarity in update origins.
---------
Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com >
2025-01-24 12:09:17 -05:00
Ezequiel Victorero
3a94057ec8
PublicDashboards: Delete on folder deletion ( #99040 )
2025-01-23 17:23:59 -03:00
Matthew Jacobson
a6dffd7552
Upgrade grafana/alerting to 209e052dba64 ( #99118 )
...
Update grafana/alerting to 209e052dba64
Includes:
- Add NoopDecode function for non-base64-encoded secrets (#264 )
- Log duplicated receivers (#265 )
2025-01-17 21:53:41 +02:00
William Wernert
8415089534
Alerting: Use correct status code for UID conflict in contact point provisionining API ( #98970 )
...
Use correct status code for UID conflict in contact point provisioning API
2025-01-15 11:07:56 -05:00
Konrad Lalik
5aeaccadff
Alerting: Add read-only GMA rules to the new list view ( #98116 )
...
* Reuse prom groups generator between GMA, external DS and list view
* Improve generators, add initial support for GMA in grouped view components
* Improve handling of GMA rules
* Split componentes into files
* Improve error handling, simplify groups grouping
* Extract grafana rules component
* Reset yarn.lock
* Reset yarn.lock 2
* Update filters, adjust file names, add folder display name to GMA rules
* Re-enable filtering for cloud rules
* Rename AlertRuleLoader
* Add missing translations, fix lint errors
* Remove unused imports, update translations
* Fix responses in BE tests
* Update backend tests
* Update integration test
* Tidy up group page size constants
* Add error throwing to getGroups endpoint to prevent grafana usage
* Refactor FilterView to remove exhaustive check
* Refactor common props for grafana rule rendering
* Unify identifiers' discriminators, add comments, minor refactor
* Update translations
* Remove unnecessary prev page condition, add a few explanations
---------
Co-authored-by: fayzal-g <fayzal.ghantiwala@grafana.com >
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com >
2025-01-15 11:36:32 +01:00
Yuri Tseretyan
e15fc984c3
Alerting: Deprecate Alertmanager config and receivers APIs ( #98918 )
2025-01-14 17:22:01 -05:00
Alexander Zobnin
cbb688e910
Zanzana: Remove usage from legacy access control ( #98883 )
...
* Zanzana: Remove usage from legacy access control
* remove unused
* remove zanzana client from services where it's not used
* remove unused metrics
* fix linter
2025-01-14 10:26:15 +01:00
Matthew Jacobson
6883a4b294
Alerting: Regenerate swagger spec ( #98914 )
2025-01-14 01:23:45 +02:00
maicon
766d645d82
Filewalkwithme/unistore refactor folder service to hit folder apiserver ( #98409 )
...
Refactor folder service to use Unified Storage
Signed-off-by: Maicon Costa <maiconscosta@gmail.com >
---------
Signed-off-by: Maicon Costa <maiconscosta@gmail.com >
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com >
2025-01-13 18:15:35 -03:00
Stephanie Hingtgen
9488bf2915
Dashboards: use service for quotas ( #98756 )
2025-01-09 22:21:21 -07:00
Selene
7cad430ca7
ContactPoints: Remove blank lines prefixes in contact point types ( #98590 )
...
Remove blank lines prefixes in contact point types
2025-01-09 19:07:29 +01:00
Moustafa Baiou
25538bcfdf
Alerting: Fix label escaping in rule export ( #97985 )
2025-01-07 17:09:27 -05:00
Moustafa Baiou
8ab12aede4
Alerting: Fix terraform export of notification policy
...
When exporting a notification policy with no `group_by` the hcl exported is not valid as it is missing the required field.
This fixes the issue by initializing the `group_by` field with an empty list if it is nil.
2024-12-31 14:53:39 -05:00
maicon
d2639f6080
Ensure all internal Services are using FolderService and not FolderStore ( #98370 )
...
* Ensure all internal Services are using FolderService and not FolderStore
Signed-off-by: Maicon Costa <maiconscosta@gmail.com >
---------
Signed-off-by: Maicon Costa <maiconscosta@gmail.com >
2024-12-30 13:48:35 -03:00
Alexander Akhmetov
5735a0d11d
Alerting: Fix no-change scenario in provisioning rule update API ( #98389 )
2024-12-30 16:03:45 +01:00
Pepe Cano
706300e9b7
Alerting: notification template group ( #96447 )
...
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com >
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com >
2024-11-22 14:40:20 +02:00
Matthew Jacobson
64c93217ff
Alerting: Fix incorrect 500 code on missing alert rule dashboardUID / panelID ( #96491 )
2024-11-14 21:24:48 +02:00
Alexander Akhmetov
324503ee8b
Alerting: Add simplified_notifications_section field to the alert rule metadata ( #95988 )
2024-11-14 12:55:54 +01:00
Fayzal Ghantiwala
5a143be653
Alerting: Add pagination to /api/prometheus/grafana/api/v1/rules ( #95959 )
...
* Intermediate step before refactoring
* Sort groups to paginate on them
* Formatting and improved test
* Address comments
* Update tests
2024-11-08 16:58:14 +00:00
Karl Persson
f0a5b444e3
Zanzana: generic resource only ( #96019 )
...
* Remove collectors
* Remove zanzana search check, we need to rewrite that part to the new schema
* Only use generic resource schema and cleanup code we don't want to keep / need to re-write
2024-11-08 09:30:41 +01:00
Alexander Akhmetov
4ce1abc6f9
Alerting: Fix saving advanced mode toggle state in the alert rule editor ( #95924 )
2024-11-06 18:39:15 +01:00
Yuri Tseretyan
2deced7d40
Alerting: Notifications Routes API ( #91550 )
...
* Introduce new models RoutingTree, RouteDefaults and Route and api-server to serve them that is backed by provisioning notification policy service.
* update method UpdatePolicyTree of notification policy service to return route and new version
* declare new actions alert.notifications.routes:read and alert.notifications.routes:write and two corresponding fixed roles.
---------
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com >
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com >
2024-10-24 13:53:03 -04:00
Matthew Jacobson
26162a53e6
Alerting: Allow config api receiver create/delete with alertingApiServer ( #95207 )
...
Previously all receiver modifications were denied with alertingApiServer
enabled. This allows pure creates and deletes through as these specific
cases can be handled simply and without risk of rbac shenanigans.
2024-10-22 16:54:05 -04:00
Tito Lins
71d04a326b
Alerting: Support tls config for webhook receiver ( #93513 )
...
Adds the ability to configure tls settings on the webhook receiver (e.g. to skip server certificate validation)
2024-10-22 12:44:32 +02:00
William Wernert
0920e8bcc6
Alerting: Clear ignored fields of recording rules for API response ( #95004 )
...
* Clear ignored fields of recording rules for API response
* Move field clearing to compat function
* Run make update-workspace
* Cleanup changes
2024-10-19 01:03:12 +03:00
William Wernert
053a806ab1
Alerting: Validate namespace when updating rules through the provisioning API ( #94643 )
...
* Also validate folder on provisioning update
* Move folder check before auth check
When checking for the existence of a folder we go through the folder
service which requires auth. Doing so prevents an unprivileged user from
accessing information about whether a particular folder exists or not.
2024-10-18 18:21:26 +03:00
William Wernert
19a9a79467
Alerting: Publish event when one or more rules are created or changed ( #93637 )
...
* Publish event when one or more rules are changed
* Publish affected rules
* Use a fake bus to test publish event without listening
* Wire alerting store into provisioning service
2024-10-11 12:19:52 -04:00
Yuri Tseretyan
18e66d22b1
Alerting: Add more tracing for receivers service ( #94572 )
2024-10-11 11:41:13 -04:00
Yuri Tseretyan
27c44f4709
Alerting: Update notification policy service to check provenance status ( #94359 )
...
* update ResetPolicyTree to accept provenance status
* update methods to check for provenance status use relaxed validation
2024-10-10 16:26:30 -04:00
Santiago
75d42d82a3
Alerting: Make Google Chat URL a secure field ( #94499 )
2024-10-10 21:30:16 +02:00
Yuri Tseretyan
b8df574aba
Alerting: Support optimistic concurrency in notification policies service ( #93932 )
...
* update notification policy provisioning service to support optimistic concurrency
* rewrite tests and include concurrency tests
2024-10-08 00:09:02 +03:00
Yuri Tseretyan
4c1cb79069
Alerting: Add access control to receiver status API ( #94287 )
2024-10-07 15:21:29 -04:00
Yuri Tseretyan
27c7e33217
Alerting: Update permissions to reciever and template test API ( #94282 )
...
* add action "alert.notifications.receivers:test" to receiver creator
* update API permissions to accept new granular actions
2024-10-04 15:52:44 -04:00
Alexander Zobnin
5d724c2482
Zanzana: Initial dashboard search ( #93093 )
...
* Zanzana: Search in a background and compare results
* refactor
* Search with check
* instrument zanzana client
* add single_read option
* refactor
* refactor move check into separate function
* Fix tests
* refactor
* refactor getFindDashboardsFn
* add resource type to span attributes
* run ListObjects concurrently
* Use list and search in less cases
* adjust metrics buckets
* refactor: move Check and ListObjects to AccessControl implementation
* Revert "Fix tests"
This reverts commit b0c2f072a2 .
* refactor: use own types for Check and ListObjects inside accesscontrol package
* Fix search scenario with low limit and empty query string
* more accurate search with checks
* revert
* fix linter
* Revert "revert"
This reverts commit ee5f14eea8 .
* add search errors metric
* fix query performance under some conditions
* simplify check strategy
* fix pagination
* refactor findDashboardsZanzanaList
* Iterate over multiple pages while making check request
* refactor listUserResources
* avoid unnecessary db call
* remove unused zclient
* Add notes for SkipAccessControlFilter
* use more accurate check loop
* always use check for search with provided UIDs
* rename single_read to zanzana_only_evaluation
* refactor
* update go workspace
* fix linter
* don't use deprecated fields
* refactor
* fail if no org specified
* refactor
* initial integration tests
* Fix tests
* fix linter errors
* fix linter
* Fix tests
* review suggestions
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com >
* fix limit
* refactor
* refactor tests
* fix db config in tests
* fix migrator (postgres)
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com >
2024-10-04 12:27:10 +02:00
Yuri Tseretyan
78290301f4
Alerting: Update GettableRuleGroupConfig and PostableRuleGroupConfig with missing fields supported by Prometheus ( #94030 )
2024-10-01 14:17:57 -04:00
Arati R.
e399fe6d09
Folders: Set folder creation permission as part of legacy create ( #94040 )
...
* Add folder store to dashboard permissions
* Include folder store in annotation scope resolver
* Add folder store when initialising library elements
* Include folder store in search v2 service initialisation
* Include folder store in GetInheritedScopes
* Add folder store to folder permissions provider
* Include cfg, folder permissions in folder service
* Move setting of folder permissions for folder service create method
2024-10-01 14:03:02 +02:00