Go to file
Roberto Jiménez Sánchez ed24558e07
Actionlint / Lint GitHub Actions files (push) Waiting to run Details
Backend Code Checks / Detect whether code changed (push) Waiting to run Details
Backend Code Checks / Validate Backend Configs (push) Blocked by required conditions Details
Backend Unit Tests / Detect whether code changed (push) Waiting to run Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (1/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (2/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (3/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (4/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (5/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (6/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (7/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (8/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (1/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (2/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (3/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (4/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (5/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (6/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (7/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (8/8) (push) Blocked by required conditions Details
Backend Unit Tests / All backend unit tests complete (push) Blocked by required conditions Details
CodeQL checks / Detect whether code changed (push) Waiting to run Details
CodeQL checks / Analyze (actions) (push) Blocked by required conditions Details
CodeQL checks / Analyze (go) (push) Blocked by required conditions Details
CodeQL checks / Analyze (javascript) (push) Blocked by required conditions Details
Deploy Storybook / Detect whether code changed (push) Waiting to run Details
Deploy Storybook / Deploy Storybook (push) Blocked by required conditions Details
Lint Frontend / Detect whether code changed (push) Waiting to run Details
Lint Frontend / Lint (push) Blocked by required conditions Details
Lint Frontend / Typecheck (push) Blocked by required conditions Details
Lint Frontend / Verify API clients (push) Waiting to run Details
Lint Frontend / Verify API clients (enterprise) (push) Waiting to run Details
Lint Frontend / Verify packed frontend packages (push) Blocked by required conditions Details
golangci-lint / Detect whether code changed (push) Waiting to run Details
golangci-lint / go-fmt (push) Blocked by required conditions Details
golangci-lint / lint-go (push) Blocked by required conditions Details
Verify i18n / verify-i18n (push) Waiting to run Details
End-to-end tests / Detect whether code changed (push) Waiting to run Details
End-to-end tests / Build & Package Grafana (push) Blocked by required conditions Details
End-to-end tests / Build E2E test runner (push) Blocked by required conditions Details
End-to-end tests / push-docker-image (push) Blocked by required conditions Details
End-to-end tests / ${{ matrix.suite }} (--flags="--env dashboardScene=false", e2e/old-arch/dashboards-suite, dashboards-suite (old arch)) (push) Blocked by required conditions Details
End-to-end tests / ${{ matrix.suite }} (--flags="--env dashboardScene=false", e2e/old-arch/panels-suite, panels-suite (old arch)) (push) Blocked by required conditions Details
End-to-end tests / ${{ matrix.suite }} (--flags="--env dashboardScene=false", e2e/old-arch/smoke-tests-suite, smoke-tests-suite (old arch)) (push) Blocked by required conditions Details
End-to-end tests / ${{ matrix.suite }} (--flags="--env dashboardScene=false", e2e/old-arch/various-suite, various-suite (old arch)) (push) Blocked by required conditions Details
End-to-end tests / Verify Storybook (Playwright) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (1, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (2, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (3, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (4, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (5, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (6, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (7, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (8, 8) (push) Blocked by required conditions Details
End-to-end tests / run-azure-monitor-e2e (push) Blocked by required conditions Details
End-to-end tests / All Playwright tests complete (push) Blocked by required conditions Details
End-to-end tests / A11y test (push) Blocked by required conditions Details
End-to-end tests / Publish metrics (push) Blocked by required conditions Details
End-to-end tests / All E2E tests complete (push) Blocked by required conditions Details
Frontend tests / Detect whether code changed (push) Waiting to run Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (1, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (10, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (11, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (12, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (13, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (14, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (15, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (16, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (2, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (3, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (4, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (5, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (6, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (7, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (8, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (9, 16) (push) Blocked by required conditions Details
Frontend tests / Decoupled plugin tests (push) Blocked by required conditions Details
Frontend tests / Packages unit tests (push) Blocked by required conditions Details
Frontend tests / All frontend unit tests complete (push) Blocked by required conditions Details
Frontend tests / Devenv frontend-service build (push) Blocked by required conditions Details
Integration Tests / Detect whether code changed (push) Waiting to run Details
Integration Tests / Sqlite (${{ matrix.shard }}) (1/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite (${{ matrix.shard }}) (2/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite (${{ matrix.shard }}) (3/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite (${{ matrix.shard }}) (4/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo (${{ matrix.shard }}) (1/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo (${{ matrix.shard }}) (2/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo (${{ matrix.shard }}) (3/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo (${{ matrix.shard }}) (4/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo (${{ matrix.shard }}) (profiled) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (1/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (10/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (11/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (12/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (13/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (14/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (15/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (16/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (2/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (3/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (4/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (5/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (6/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (7/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (8/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (9/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (1/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (10/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (11/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (12/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (13/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (14/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (15/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (16/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (2/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (3/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (4/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (5/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (6/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (7/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (8/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (9/16) (push) Blocked by required conditions Details
Integration Tests / Sqlite Enterprise (${{ matrix.shard }}) (1/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Enterprise (${{ matrix.shard }}) (2/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Enterprise (${{ matrix.shard }}) (3/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Enterprise (${{ matrix.shard }}) (4/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo Enterprise (${{ matrix.shard }}) (1/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo Enterprise (${{ matrix.shard }}) (2/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo Enterprise (${{ matrix.shard }}) (3/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo Enterprise (${{ matrix.shard }}) (4/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo Enterprise (${{ matrix.shard }}) (profiled) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (1/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (10/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (11/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (12/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (13/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (14/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (15/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (16/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (2/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (3/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (4/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (5/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (6/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (7/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (8/16) (push) Blocked by required conditions Details
Integration Tests / MySQL Enterprise (${{ matrix.shard }}) (9/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (1/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (10/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (11/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (12/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (13/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (14/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (15/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (16/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (2/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (3/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (4/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (5/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (6/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (7/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (8/16) (push) Blocked by required conditions Details
Integration Tests / Postgres Enterprise (${{ matrix.shard }}) (9/16) (push) Blocked by required conditions Details
Integration Tests / All backend integration tests complete (push) Blocked by required conditions Details
Reject GitHub secrets / reject-gh-secrets (push) Waiting to run Details
Run dashboard schema v2 e2e / dashboard-schema-v2-e2e (push) Waiting to run Details
Shellcheck / Shellcheck scripts (push) Waiting to run Details
Run Storybook a11y tests / Detect whether code changed (push) Waiting to run Details
Run Storybook a11y tests / Run Storybook a11y tests (light theme) (push) Blocked by required conditions Details
Run Storybook a11y tests / Run Storybook a11y tests (dark theme) (push) Blocked by required conditions Details
Swagger generated code / Detect whether code changed (push) Waiting to run Details
Swagger generated code / Verify committed API specs match (push) Blocked by required conditions Details
Dispatch sync to mirror / dispatch-job (push) Waiting to run Details
Provisioning: Refactor admission/validation logic into app package (#116483)
* Provisioning: Refactor admission/validation logic into app package

- Extract Mutate and Validate logic from register.go into dedicated
  admission handlers in apps/provisioning/pkg
- Create admission.Handler registry in apps/provisioning/pkg/apis/admission
  to dispatch to resource-specific mutators and validators
- Move repository mutator/validator to apps/provisioning/pkg/repository
- Move connection mutator/validator to apps/provisioning/pkg/connection
- Move job validator to apps/provisioning/pkg/jobs
- Add HistoricJob validator to address FIXME comments
- Move VerifyAgainstExistingRepositories to apps/provisioning/pkg/repository
- Reorganize packages: move auth, admission, apifmt into apis/ directory
- Fix ConnectionSecure.IsZero() to include ClientSecret check
- Add comprehensive unit tests for all new admission handlers

* Provisioning: Address PR feedback

1. Add unit tests for Connection.Test() method in github/connection.go
   - Tests for successful validation
   - Tests for service unavailable errors
   - Tests for invalid token errors
   - Tests for appID mismatch
   - Tests for invalid installation errors

2. Improve admission validator documentation
   - Move validation comment to struct-level documentation
   - Clarify that admission validation is limited to structural checks
   - Reference Test() method for runtime validation with external services

3. Update repository factory Mutate/Validate to check type
   - Only call Mutate/Validate on the matching type's extra
   - Return error for unsupported or disabled repository types
   - Consistent behavior with connection factory
   - Add comprehensive tests for new behavior

* Run goimports
2026-01-21 09:50:42 +01:00
.changelog-archive
.citools Go: Update to 1.25.6 (#116394) 2026-01-16 10:50:12 +01:00
.github CI: Run Ent integration tests for non-forks (#116523) 2026-01-20 14:55:59 +01:00
.husky
.vim
.vscode
.yarn Chore: Bump storybook to fix CVE (#115927) 2026-01-09 11:56:29 +00:00
apps Provisioning: Refactor admission/validation logic into app package (#116483) 2026-01-21 09:50:42 +01:00
conf Grafana Monitoring: Enable native HTTP histograms by default, make classic histograms configurable (#116534) 2026-01-20 15:07:04 +01:00
contribute
cue.mod
devenv Gauge: More e2e tests (#116386) 2026-01-16 11:39:58 -05:00
docs docs(alerting): add tracking params to Grafana Play links (#116491) 2026-01-20 20:06:35 +01:00
e2e chore(unified): remove unifiedStorageSearchSprinkles feature toggle (#116139) 2026-01-13 11:24:13 +01:00
e2e-playwright E2E: Use updated plugin-e2e setVisualization method (#116558) 2026-01-20 15:28:37 -06:00
emails
grafana-mixin
hack Go: Update to 1.25.6 (#116394) 2026-01-16 10:50:12 +01:00
kinds CustomVariable: support values with multiple properties (json values format) (#113844) 2026-01-07 11:01:03 +01:00
kindsv2
local
packages LBAC: Add Team LBAC rule APIs (#116429) 2026-01-20 13:52:16 -06:00
packaging Build: Update alpine version to 3.23.2 (#116527) 2026-01-20 12:54:42 +01:00
pkg Provisioning: Refactor admission/validation logic into app package (#116483) 2026-01-21 09:50:42 +01:00
public Plugins: replace `config.apps` from sandbox (#116519) 2026-01-21 09:21:19 +01:00
scripts Tests: Bootstrapping for CI workflow to compare PR test coverage with main (#116500) 2026-01-19 14:48:52 -04:00
tools
.air.toml
.bra.toml
.browserslistrc
.dockerignore
.editorconfig
.gitattributes
.gitignore
.golangci.yml Elasticsearch: Decoupling from core (#115900) 2026-01-14 12:54:21 +00:00
.ignore
.levignore.js
.nvmrc
.nxignore
.prettierignore
.prettierrc.js
.trivyignore
.vale.ini
.yarnrc.yml
AGENTS.md
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Dockerfile Build: Update alpine version to 3.23.2 (#116527) 2026-01-20 12:54:42 +01:00
GOVERNANCE.md
HALL_OF_FAME.md
LICENSE
LICENSING.md
MAINTAINERS.md
Makefile Go: Update to 1.25.6 (#116394) 2026-01-16 10:50:12 +01:00
NOTICE.md
README.md
ROADMAP.md
SUPPORT.md
WORKFLOW.md
build.go
crowdin.yml
cypress.config.js
embed.go
eslint-suppressions.json Plugins: replace `config.apps` from sandbox (#116519) 2026-01-21 09:21:19 +01:00
eslint.config.js GrafanaBootData: Deprecate config.apps (#115610) 2026-01-14 06:30:05 +01:00
go.mod auth: bump authlib with changes to BatchCheck (#116485) 2026-01-20 16:55:20 +01:00
go.sum auth: bump authlib with changes to BatchCheck (#116485) 2026-01-20 16:55:20 +01:00
go.work Go: Update to 1.25.6 (#116394) 2026-01-16 10:50:12 +01:00
go.work.sum auth: bump authlib with changes to BatchCheck (#116485) 2026-01-20 16:55:20 +01:00
i18next.config.ts
jest.config.codeowner.js Tests: Bootstrapping for CI workflow to compare PR test coverage with main (#116500) 2026-01-19 14:48:52 -04:00
jest.config.js feat(query row): add query with Assistant action for Loki and Prometheus (#116275) 2026-01-19 16:33:24 +01:00
latest.json
lefthook.rc
lefthook.yml
lerna.json
nx.json
package.json E2E: Use updated plugin-e2e setVisualization method (#116558) 2026-01-20 15:28:37 -06:00
playwright.config.ts Alerting: Add E2E test configuration and fix saved searches tests (#116203) 2026-01-14 16:41:53 +01:00
playwright.storybook.config.ts
project.json Frontend: use custom conditions for development and build (#111685) 2025-12-18 11:47:38 +01:00
relyance.yaml
stylelint.config.js
tsconfig.json Frontend: use custom conditions for development and build (#111685) 2025-12-18 11:47:38 +01:00
yarn.lock E2E: Use updated plugin-e2e setVisualization method (#116558) 2026-01-20 15:28:37 -06:00

README.md

Grafana Logo (Light) Grafana Logo (Dark)

The open-source platform for monitoring and observability

License 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:

Share your contributor experience in our feedback survey to help us improve.

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.