The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Go to file
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
.bingo Chore: Bump Go to 1.23.0 (#92105) 2024-08-21 11:40:42 -04:00
.changelog-archive Update links to default Grafana branch (#83025) 2024-02-29 17:08:45 +02:00
.github Plugin Extensions: E2E test addLink and legacy APIs (#92394) 2024-08-26 16:01:32 +02:00
.husky
.vim
.vscode Ensure running server from VSCode enables dev mode (#88986) 2024-06-10 10:30:03 -05:00
.yarn Update Yarn to v4.4.0 (#91595) 2024-08-07 12:48:56 +02:00
apps/alerting/notifications Alerting: Receiver API (#89707) 2024-06-26 20:03:25 +03:00
conf Add preinstall feature to defaults.ini (#92347) 2024-08-23 10:32:23 +02:00
contribute Docs: Edit contribute/style-guides (part 11 of doc improvement project) (#92169) 2024-08-23 08:08:04 -07:00
cue.mod
devenv E2E: Add support for building test plugins (#91873) 2024-08-23 09:00:03 +02:00
docs update minimum supported version for MySQL (#92356) 2024-08-26 10:39:02 -04:00
e2e Plugin Extensions: E2E test addLink and legacy APIs (#92394) 2024-08-26 16:01:32 +02:00
emails Refactor: Email verification (#84393) 2024-03-14 13:25:28 +01:00
grafana-mixin
hack Chore: Bump Go to 1.23.0 (#92105) 2024-08-21 11:40:42 -04:00
kinds Dashboard Scene: Fix snapshots not displaying variables values (#88967) 2024-08-20 17:05:12 +02:00
local
packages Scopes: Group suggested dashboards (#92212) 2024-08-26 16:08:27 +03:00
packaging Docker: Fix renderer plugin in custom Dockerfile (#88223) 2024-05-30 10:27:26 +02:00
pkg Alerting: Receiver API complete core implementation (#91738) 2024-08-26 10:47:53 -04:00
plugins-bundled Chore: Delete Input Datasource (#83163) 2024-03-18 09:48:19 +01:00
public OpenAPI: Fix ValidationError message attribute (#90846) 2024-08-26 10:05:37 -04:00
scripts Plugins: Fix big query credentials and improve detailed report errors (#92373) 2024-08-26 13:46:24 +02:00
tools
.betterer.results Alerting: useProduceNewRuleGroup for creating / updating alert rules. (#90497) 2024-08-22 15:57:23 +03:00
.betterer.results.json Table Panel: Move inspector into drawer component (#88196) 2024-05-30 03:33:05 +07:00
.betterer.ts E2E: Add support for building test plugins (#91873) 2024-08-23 09:00:03 +02:00
.bra.toml Chore: Switch dev profiling address to 127.0.0.1:6000 (#91916) 2024-08-18 13:45:55 -04:00
.browserslistrc
.dockerignore
.drone.star CI: Add new RRC pipeline (#90731) 2024-07-30 14:01:10 +01:00
.drone.yml E2E: Add support for building test plugins (#91873) 2024-08-23 09:00:03 +02:00
.editorconfig
.eslintignore E2E: Add support for building test plugins (#91873) 2024-08-23 09:00:03 +02:00
.eslintrc Alerting: Add eslint testing-library plugin dependency and create separate ESLint config (#91052) 2024-07-30 15:16:54 +03:00
.gitattributes
.gitignore LDAP: Add guide on how to configure LDAP with TLS (#91686) 2024-08-08 15:29:00 +03:00
.golangci.toml Storage: Add go.mod for apistore (#92224) 2024-08-21 14:32:01 -04:00
.levignore.js
.nvmrc
.pa11yci-pr.conf.js Pa11y: Decrease error thresholds for PRs (#85178) 2024-03-27 12:29:54 +01:00
.pa11yci.conf.js
.prettierignore I18n: Support for Enterprise translations (#86215) 2024-04-18 16:25:27 +01:00
.prettierrc.js
.trivyignore CI: Add Trivy GitHub Action (#88987) 2024-06-10 16:53:48 -04:00
.yarnrc.yml Update Yarn to v4.4.0 (#91595) 2024-08-07 12:48:56 +02:00
build.go
CHANGELOG.md Release: update changelog for 11.1.4 (#91930) 2024-08-14 17:12:21 -03:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
crowdin.yml I18n: Fix path for Crowdin upload (#81733) 2024-02-05 13:33:37 +01:00
cypress.config.js E2E: Add SMTP tester (#88392) 2024-06-18 14:32:19 +02:00
Dockerfile Storage: Add go.mod for apistore (#92224) 2024-08-21 14:32:01 -04:00
embed.go Core: Remove thema and kindsys dependencies (#84499) 2024-03-21 11:11:29 +01:00
go.mod Alerting: Add MQTT notifications receiver (#91487) 2024-08-22 16:47:48 +02:00
go.sum Alerting: Add MQTT notifications receiver (#91487) 2024-08-22 16:47:48 +02:00
go.work Storage: Add go.mod for apistore (#92224) 2024-08-21 14:32:01 -04:00
go.work.sum Alerting: Add MQTT notifications receiver (#91487) 2024-08-22 16:47:48 +02:00
GOVERNANCE.md Сorrection of spelling errors (#83565) 2024-03-01 11:00:15 +01:00
HALL_OF_FAME.md Docs: Update HALL_OF_FAME.md (#79775) 2024-02-26 15:04:58 +01:00
jest.config.js NodeGraph: Add msagl and the layered layout code (#88375) 2024-05-28 17:04:03 +02:00
latest.json
lefthook.rc
lefthook.yml Chore: Remove i18n psuedo precommit hook (#86840) 2024-04-24 13:08:19 +02:00
lerna.json Release: Bump version to 11.3.0-pre (#91863) 2024-08-14 18:34:14 -03:00
LICENSE
LICENSING.md Grafana packages: Remove E2E workspace (#86416) 2024-04-25 07:12:43 +02:00
MAINTAINERS.md
Makefile Add test-go-unit-pretty (#91645) 2024-08-26 08:32:42 -05:00
NOTICE.md
nx.json Chore: Bump Nx to 18.1.x (#85185) 2024-03-28 09:36:35 +01:00
package.json E2E: Add support for building test plugins (#91873) 2024-08-23 09:00:03 +02:00
playwright.config.ts Plugin Extensions: E2E test addLink and legacy APIs (#92394) 2024-08-26 16:01:32 +02:00
project.json Build: Set Nx inputs for theme-generate (#84761) 2024-05-22 17:07:50 +02:00
README.md
ROADMAP.md
SECURITY.md
stylelint.config.js Update dependency stylelint to v16 (#83252) 2024-02-23 11:56:38 +02:00
SUPPORT.md
tsconfig.json Swagger: Add a custom swagger/api page (#91785) 2024-08-14 09:03:00 +03:00
WORKFLOW.md Minor correction done in WORKFLOW.md (#80505) 2024-04-12 17:56:10 +02:00
yarn.lock E2E: Add support for building test plugins (#91873) 2024-08-23 09:00:03 +02:00

Grafana Logo (Light) Grafana Logo (Dark)

The open-source platform for monitoring and observability

License Drone Go Report Card

Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data-driven culture:

  • Visualizations: Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
  • Dynamic Dashboards: Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard.
  • Explore Metrics: Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
  • Explore Logs: Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live.
  • Alerting: Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie.
  • Mixed Data Sources: Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources.

Get started

Unsure if Grafana is for you? Watch Grafana in action on play.grafana.org!

Documentation

The Grafana documentation is available at grafana.com/docs.

Contributing

If you're interested in contributing to the Grafana project:

Get involved

This project is tested with BrowserStack

License

Grafana is distributed under AGPL-3.0-only. For Apache-2.0 exceptions, see LICENSING.md.