mirror of
https://github.com/grafana/grafana.git
synced 2026-06-09 16:40:43 -04:00
Visualisation de métriques
* feat(imageupload): 🔗 add presigned URL support for S3 external image storage Add `enable_presigned_urls` and `presigned_url_expiration` config options to `[external_image_storage.s3]`, bringing S3 to parity with GCS and Azure. When enabled, objects are uploaded without an ACL header (compatible with BucketOwnerEnforced buckets that disable ACLs) and a time-limited presigned GET URL is returned instead of a direct S3 URL. Closes #82707 Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * refactor(imageupload): 🔧 address PR review feedback for S3 presigned URLs - Refactor NewS3Uploader to accept S3UploaderOptions struct instead of positional parameters - Remove dead ACL override (ACL was set to "private" but never used since upload skips ACL when presigned URLs are enabled) - Add validation that presigned_url_expiration is >= 0 - Remove tautological constructor tests - Add S3 client interface (s3ifaces) with stubbable newS3Client for testability, mirroring the existing GCS pattern - Add unit tests for both upload paths: regular (with ACL) and presigned URL (without ACL) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude <svc-devxp-claude@slack-corp.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .changelog-archive | ||
| .citools | ||
| .github | ||
| .vim | ||
| .vscode | ||
| .yarn | ||
| apps | ||
| conf | ||
| contribute | ||
| cue.mod | ||
| devenv | ||
| docs | ||
| e2e-playwright | ||
| emails | ||
| grafana-mixin | ||
| hack | ||
| kinds | ||
| local | ||
| packages | ||
| packaging | ||
| pkg | ||
| public | ||
| scripts | ||
| tools | ||
| .air.toml | ||
| .browserslistrc | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .golangci.yml | ||
| .ignore | ||
| .levignore.js | ||
| .madgerc | ||
| .nvmrc | ||
| .nxignore | ||
| .policy.yml | ||
| .policy.yml.tmpl | ||
| .prettierignore | ||
| .prettierrc.js | ||
| .vale.ini | ||
| .yarnrc.yml | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| crowdin.yml | ||
| Dockerfile | ||
| embed.go | ||
| eslint-suppressions.json | ||
| eslint.config.js | ||
| go.mod | ||
| go.sum | ||
| go.work | ||
| go.work.sum | ||
| GOVERNANCE.md | ||
| HALL_OF_FAME.md | ||
| i18next.config.ts | ||
| jest.config.codeowner.js | ||
| jest.config.js | ||
| latest.json | ||
| lefthook.rc | ||
| lefthook.yml | ||
| lerna.json | ||
| LICENSE | ||
| LICENSING.md | ||
| MAINTAINERS.md | ||
| Makefile | ||
| NOTICE.md | ||
| nx.json | ||
| package.json | ||
| playwright.config.ts | ||
| playwright.storybook.config.ts | ||
| project.json | ||
| README.md | ||
| relyance.yaml | ||
| ROADMAP.md | ||
| stylelint.config.js | ||
| SUPPORT.md | ||
| tsconfig.json | ||
| WORKFLOW.md | ||
| yarn.lock | ||
The open-source platform for monitoring and observability
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:
- Start by reading the Contributing guide.
- Learn how to set up your local environment, in our Developer guide.
- Explore our beginner-friendly issues.
- Look through our style guide and Storybook.
Share your contributor experience in our feedback survey to help us improve.
Get involved
- Follow @grafana on X (formerly Twitter).
- Read and subscribe to the Grafana blog.
- If you have a specific question, check out our discussion forums.
- For general discussions, join us on the official Slack team.
This project is tested with BrowserStack.
License
Grafana is distributed under AGPL-3.0-only. For Apache-2.0 exceptions, see LICENSING.md.

