grafana/pkg/services/ngalert/notifier
Matthew Jacobson 32f06c6d9c
Alerting: Receiver API complete core implementation (#91738)
* Replace global authz abstraction with one compatible with uid scope

* Replace GettableApiReceiver with models.Receiver in receiver_svc

* GrafanaIntegrationConfig -> models.Integration

* Implement Create/Update methods

* Add optimistic concurrency to receiver API

* Add scope to ReceiversRead & ReceiversReadSecrets

migrates existing permissions to include implicit global scope

* Add receiver create, update, delete actions

* Check if receiver is used by rules before delete

* On receiver name change update in routes and notification settings

* Improve errors

* Linting

* Include read permissions are requirements for create/update/delete

* Alias ngalert/models to ngmodels to differentiate from v0alpha1 model

* Ensure integration UIDs are valid, unique, and generated if empty

* Validate integration settings on create/update

* Leverage UidToName to GetReceiver instead of GetReceivers

* Remove some unnecessary uses of simplejson

* alerting.notifications.receiver -> alerting.notifications.receivers

* validator -> provenanceValidator

* Only validate the modified receiver

stops existing invalid receivers from preventing modification of a valid
receiver.

* Improve error in Integration.Encrypt

* Remove scope from alert.notifications.receivers:create

* Add todos for receiver renaming

* Use receiverAC precondition checks in k8s api

* Linting

* Optional optimistic concurrency for delete

* make update-workspace

* More specific auth checks in k8s authorize.go

* Add debug log when delete optimistic concurrency is skipped

* Improve error message on authorizer.DecisionDeny

* Keep error for non-forbidden errutil errors
2024-08-26 10:47:53 -04:00
..
alertmanager_mock Alerting: Vendor in latest grafana/alerting package (#91786) 2024-08-12 15:37:15 +01:00
channels_config Alerting: Receiver API complete core implementation (#91738) 2024-08-26 10:47:53 -04:00
legacy_storage Alerting: Receiver API complete core implementation (#91738) 2024-08-26 10:47:53 -04:00
alertmanager_config.go Chore: Move identity and errutil to apimachinery module (#89116) 2024-06-13 07:11:35 +03:00
alertmanager_test.go Alerting: Stop persisting silences and nflog to disk (#84706) 2024-03-23 00:37:33 +02:00
alertmanager.go Alertmanager: Support limits for silences (#90826) 2024-07-24 14:22:29 +02:00
alerts.go Alerting: Fetch alerts from a remote Alertmanager (#75844) 2023-10-19 11:27:37 +02:00
autogen_alertmanager_test.go Alerting: Fix simplified routing group by override (#86552) 2024-04-18 21:08:14 -04:00
autogen_alertmanager.go Alerting: Fix simplified routing group by override (#86552) 2024-04-18 21:08:14 -04:00
compat_test.go Alerting: Update alerting module to 20230418161049-5f374e58cb32 + refactoring (#66622) 2023-04-25 13:39:46 -04:00
compat.go Alerting: Receiver API complete core implementation (#91738) 2024-08-26 10:47:53 -04:00
config_test.go Alerting: Stop persisting user-defined templates to disk (#83456) 2024-03-04 20:12:49 +02:00
config.go Alerting: Stop persisting user-defined templates to disk (#83456) 2024-03-04 20:12:49 +02:00
crypto.go Chore: Simplify function signature for GetLatestAlertmanagerConfiguration (#79392) 2023-12-12 13:49:54 +01:00
email_test.go Alerting: Update grafana/alerting dependency (#90365) 2024-07-12 14:05:17 -04:00
errors.go Chore: Move identity and errutil to apimachinery module (#89116) 2024-06-13 07:11:35 +03:00
file_store_test.go Alerting: Stop persisting silences and nflog to disk (#84706) 2024-03-23 00:37:33 +02:00
file_store.go Alerting: Stop persisting silences and nflog to disk (#84706) 2024-03-23 00:37:33 +02:00
images_test.go Alerting: Bump grafana/alerting and refactor the ImageStore/Provider to provide image URL/bytes (#70182) 2023-06-21 20:53:30 -03:00
images.go Alerting: Bump grafana/alerting and refactor the ImageStore/Provider to provide image URL/bytes (#70182) 2023-06-21 20:53:30 -03:00
log.go Chore: use any rather than interface{} (#74066) 2023-08-30 18:46:47 +03:00
multiorg_alertmanager_remote_test.go Alerting: Instrument outbound requests for Loki Historian and Remote Alertmanager with tracing (#89185) 2024-06-14 13:24:12 -05:00
multiorg_alertmanager_test.go Alerting: Update grafana/alerting (#88363) 2024-06-04 20:29:37 +02:00
multiorg_alertmanager.go Alerting: Vendor in latest grafana/alerting package (#91786) 2024-08-12 15:37:15 +01:00
receiver_svc_test.go Alerting: Receiver API complete core implementation (#91738) 2024-08-26 10:47:53 -04:00
receiver_svc.go Alerting: Receiver API complete core implementation (#91738) 2024-08-26 10:47:53 -04:00
redis_channel_test.go Alerting: Add support for running HA using Redis (#65267) 2023-04-19 17:05:26 +02:00
redis_channel.go Alerting: Update alerting package and imports from cluster and clusterpb (#79786) 2023-12-21 12:34:48 +01:00
redis_peer_test.go Alerting: Add option to use Redis in cluster mode for Alerting HA (#88696) 2024-06-05 17:02:25 +01:00
redis_peer.go Alerting: Add mutex to Redis HA subs (#89870) 2024-08-22 16:01:33 +01:00
sender.go Alerting: Update grafana/alerting dependency (#90365) 2024-07-12 14:05:17 -04:00
silence_svc_test.go Alerting: Move interface Namespaced from accesscontrol to models package (#89439) 2024-06-19 16:18:33 -04:00
silence_svc.go Alerting: Move interface Namespaced from accesscontrol to models package (#89439) 2024-06-19 16:18:33 -04:00
silences.go Alerting: Update grafana/alerting and use Upsert for creating silences (#85676) 2024-04-08 11:46:14 +02:00
status.go Alerting: Implement GetStatus in the remote Alertmanager struct (#84887) 2024-05-03 13:59:02 +02:00
templates_test.go Alerting: Template Testing API (#67450) 2023-04-28 15:56:59 +01:00
templates.go Alerting: Use remote Alertmanager to test templates and receivers when enabled (#91570) 2024-08-15 16:56:14 +01:00
testing.go Alerting: Receiver API complete core implementation (#91738) 2024-08-26 10:47:53 -04:00
testreceivers_test.go Alerting: Introduce initial common receiver service (#81211) 2024-02-01 14:42:59 -05:00
testreceivers.go Alerting: Vendor in latest grafana/alerting package (#91786) 2024-08-12 15:37:15 +01:00
validation.go Alerting: Improve error when receiver or time interval used by rule is deleted (#86865) 2024-04-25 13:36:00 -04:00