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
Dan Cech 9020eb4b17
Auth: Update oauthtoken service to use remote cache and server lock (#90572)
* update oauthtoken service to use remote cache and server lock

* remove token cache

* retry is lock is held by an in-flight refresh

* refactor token renewal to avoid race condition

* re-add refresh token expiry cache, but in SyncOauthTokenHook

* Add delta to the cache ttl

* Fix merge

* Change lockTimeConfig

* Always set the token from within the server lock

* Improvements

* early return when user is not authed by OAuth or refresh is disabled

* Allow more time for token refresh, tracing

* Retry on Mysql Deadlock error 1213

* Update pkg/services/authn/authnimpl/sync/oauth_token_sync.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Update pkg/services/authn/authnimpl/sync/oauth_token_sync.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Add settings for configuring min wait time between retries

* Add docs for the new setting

* Clean up

* Update docs/sources/setup-grafana/configure-grafana/_index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

---------

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-08-19 18:57:37 +02:00
.bingo Chore: Commit results of bingo get (#90256) 2024-07-10 10:36:59 +03:00
.changelog-archive Update links to default Grafana branch (#83025) 2024-02-29 17:08:45 +02:00
.github K8s: Add k8s codegen PR check (#91903) 2024-08-14 11:06:37 -04: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 Auth: Update oauthtoken service to use remote cache and server lock (#90572) 2024-08-19 18:57:37 +02:00
contribute Docs: Edit of contribute to docs guide (part 8 of doc improvement project) (#90405) 2024-07-29 08:49:41 -07:00
cue.mod Introduce "scuemata" system for CUE-based specification of Grafana objects (#32527) 2021-04-08 01:11:11 -07:00
devenv Extensions: e2e test usePluginComponent hook (#91750) 2024-08-12 15:43:42 +02:00
docs Auth: Update oauthtoken service to use remote cache and server lock (#90572) 2024-08-19 18:57:37 +02:00
e2e DashboardScene: Support bodyScrolling (#91888) 2024-08-19 15:42:45 +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 K8s: Add k8s codegen PR check (#91903) 2024-08-14 11:06:37 -04:00
kinds Bookmarks: Store URLs instead of ids (#91121) 2024-07-31 13:56:39 +01:00
local Packaging: Dockerfile copy local folder (#64766) 2023-03-14 14:44:11 -05:00
packages Update dependency @grafana/tsconfig to v2 (#92056) 2024-08-19 13:13:33 +03:00
packaging Docker: Fix renderer plugin in custom Dockerfile (#88223) 2024-05-30 10:27:26 +02:00
pkg Auth: Update oauthtoken service to use remote cache and server lock (#90572) 2024-08-19 18:57:37 +02:00
plugins-bundled Chore: Delete Input Datasource (#83163) 2024-03-18 09:48:19 +01:00
public fix nav border when bodyscrolling with sticky variables (#92087) 2024-08-19 18:59:46 +03:00
scripts Alerting: Remove disable logic for name field on time intervals when using k8s API (#91885) 2024-08-19 14:53:12 +01:00
tools Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.betterer.results Swagger: Add a custom swagger/api page (#91785) 2024-08-14 09:03:00 +03:00
.betterer.results.json Table Panel: Move inspector into drawer component (#88196) 2024-05-30 03:33:05 +07:00
.betterer.ts Chore: Add no-untranslated-strings rule to betterer (#88479) 2024-05-30 12:45:22 +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 Chore: Revert drone go workspace change to tests (#91762) 2024-08-09 21:03:26 +03:00
.editorconfig Chore: Enable PR testing in Drone (#26189) 2020-07-10 16:09:21 +02:00
.eslintignore Plugin extensions: Add e2e tests (#89048) 2024-06-14 13:41:17 +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 K8s: Data Plane Aggregator (#91228) 2024-08-13 22:28:17 +03: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 CI: Fix missing vendor dependencies (#91872) 2024-08-15 09:02:15 -04:00
embed.go Core: Remove thema and kindsys dependencies (#84499) 2024-03-21 11:11:29 +01:00
go.mod Chore: Fix panic with golang 1.23 (#92055) 2024-08-19 13:31:01 +03:00
go.sum Chore: Fix panic with golang 1.23 (#92055) 2024-08-19 13:31:01 +03:00
go.work K8s: Data Plane Aggregator (#91228) 2024-08-13 22:28:17 +03:00
go.work.sum Chore: Fix panic with golang 1.23 (#92055) 2024-08-19 13:31:01 +03: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 Chore: Update tests to use go-workspace script (#91746) 2024-08-09 10:25:27 -04: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 DashboardScene: Support bodyScrolling (#91888) 2024-08-19 15:42:45 +02:00
playwright.config.ts E2E: Rewrite mysql tests to playwright (#83424) 2024-03-19 23:07:48 +01: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 DashboardScene: Support bodyScrolling (#91888) 2024-08-19 15:42:45 +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.