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 Chore: Remove colours from old husky cleanup pre-commit hook (#73395) 2023-08-18 13:10:18 +00:00
.vim Chore: Upgrade yarn and editor sdks (#42847) 2021-12-08 14:40:24 +01:00
.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 Introduce "scuemata" system for CUE-based specification of Grafana objects (#32527) 2021-04-08 01:11:11 -07:00
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 DashboardSchema: Remove old unused legacy props style and timepicker.enable (#73879) 2023-08-28 12:18:17 +02:00
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 Packaging: Dockerfile copy local folder (#64766) 2023-03-14 14:44:11 -05:00
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 Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.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 Babel: Target more modern browsers, updates browserlistrc (#32573) 2021-04-01 10:32:00 +02:00
.dockerignore copy .github folder into golang build container since we rely on codeowners (#62122) 2023-01-25 10:31:16 -05:00
.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 Chore: Enable PR testing in Drone (#26189) 2020-07-10 16:09:21 +02:00
.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 CRLF (#28822) 2020-11-05 17:20:40 +01:00
.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 Adds levitate levignore configuration file to prevent breaking change notifications from expected typescript symbols (#74371) 2023-09-05 15:00:13 +02:00
.nvmrc Chore: Update to node 20 (#76097) 2023-10-26 09:34:50 +02:00
.pa11yci-pr.conf.js Pa11y: Decrease error thresholds for PRs (#85178) 2024-03-27 12:29:54 +01:00
.pa11yci.conf.js Login: Improve accessibility of Login form (#78652) 2023-11-28 10:22:20 +00:00
.prettierignore I18n: Support for Enterprise translations (#86215) 2024-04-18 16:25:27 +01:00
.prettierrc.js Toolkit: Remove deprecated plugin:build (#67485) 2023-04-28 14:33:16 +02:00
.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 Chore: move build command to importable package (#38726) 2021-09-03 11:24:21 -05:00
CHANGELOG.md Release: update changelog for 11.1.4 (#91930) 2024-08-14 17:12:21 -03:00
CODE_OF_CONDUCT.md Fixing typos (#70487) 2023-06-22 09:43:38 +01:00
CONTRIBUTING.md Docs: Fix link to developing plugins (#75816) 2023-10-03 09:57:53 -05:00
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 Release: Deprecate latest.json and replace with api call to grafana.com (#80537) 2024-01-16 11:19:32 +00:00
lefthook.rc Chore: Replace Husky/Lint-staged with Lefthook (#66608) 2023-08-17 09:56:52 +00:00
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 Re-license Grafana to AGPLv3 (#33184) 2021-04-20 19:03:30 +02:00
LICENSING.md Grafana packages: Remove E2E workspace (#86416) 2024-04-25 07:12:43 +02:00
MAINTAINERS.md Update codeowners (#73159) 2023-09-28 11:31:26 -07:00
Makefile Add test-go-unit-pretty (#91645) 2024-08-26 08:32:42 -05:00
NOTICE.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
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 Docs: Invert logo color for dark theme in README (#76012) 2023-11-07 09:54:12 +00:00
ROADMAP.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
SECURITY.md Docs: Update SECURITY.md (#67985) 2023-06-21 07:34:42 +01:00
stylelint.config.js Update dependency stylelint to v16 (#83252) 2024-02-23 11:56:38 +02:00
SUPPORT.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
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.