Compare commits

...
706 Commits
Author SHA1 Message Date
Dimitris Sotirakis 5f16e4cedc Rename build-e2e-publish pipelines (#44836) 2022-02-03 14:23:50 +00:00
Gábor Farkas 0c2ba819a7 Loki: use generic grafana null-insertion mechanism (#44826)
* loki: refactor: return dataframes instead of timeseries

* fixed unit test

* removed unused import
2022-02-03 15:23:38 +01:00
Grot (@grafanabot) afac7701cb ReleaseNotes: Updated changelog and release notes for 8.4.0-beta1 (#44822) 2022-02-03 15:15:48 +01:00
Armand Grillet a943bf9963 Improve prettier:check output (#44816) 2022-02-03 15:13:14 +01:00
Giordano Ricci 6415b9a54d Explore: avoid locking timepicker when range is inverted (#44790)
* Explore: avoid locking timepicker when range is inverted

* Explore: prevent time picker to lock if from & to search parameters are present
2022-02-03 13:45:29 +00:00
Konrad Lalik bb88cf683c Alerting: Fix alert notification template (#44761)
* Wrap the inner template into div to prevent premailer from breaking the HTML structure

* Remove test row

* Add wrapper explanation

* Remove redundant code

* Add empty line
2022-02-03 14:17:05 +01:00
Todd Treece c8bb4c733e Prometheus: Set interval on time field (#44802) 2022-02-03 08:15:55 -05:00
Gilles De Mey 29b97361f7 Alerting: load correct unified alerting tab (#44794) 2022-02-03 13:35:56 +01:00
Serge Zaitsev 43b15b92ad Chore: Remove bus from the alerting service (#44496)
* propagate notificationservice down to the notifiers

* replace dispatch in result handler

* remove dispatch from the rule reader

* remove dispatch from eval context

* remove dispatch from alerting usage

* remove dispatch from alerting usage

* remove dispatch from notifier

* attempt to fix tests in alerting

* hello linter, my old friend; also disable some tests for now

* use mocks to fix the tests

* resolving wire providers

* make linter happy

* remove yet another bus.dispatch

* fix tests using store mock
2022-02-03 13:26:05 +01:00
Alex Khomenko a79c048344 Feature Highlights: move setting to a feature toggle (#44780)
* Add toggle

* Use the toggle

* Cleanup
2022-02-03 13:53:23 +02:00
Ivana HuckovaandTorkel Ödegaard c23bc1e7b7 Prometheus: Show variable options in query builder (#44784)
* Prometheus: Show variable options

* Remove lint error

* Fix test for CodeQL

* Update public/app/plugins/datasource/prometheus/datasource.ts

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>

* Update public/app/plugins/datasource/loki/datasource.ts

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
2022-02-03 11:40:19 +01:00
Kat YangandSerge Zaitsev f582e6c86a Chore: Remove bus from password (#44482)
* Chore: Remove bus from password

* Refactor: Remove bus from password.go and adjust tests

* remove sqlstore dependency from notifications

* Chore: Remove bus from password

* Refactor: Remove bus from password.go and adjust tests

* remove sqlstore dependency (again)

* remove fmt printf

* fix dependencies in http server

* fix renamed method in tests

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2022-02-03 10:33:46 +01:00
Gábor FarkasandIvana Huckova f36ed878e9 Loki: add helper function to handle instant/range queries (#44785)
* loki: add helper function to handle range/instant queries

* improved comment

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-02-03 10:25:37 +01:00
Peter Holmberg 3314178a0a grafana/ui: Fix RelativeTimeRange supported formats (#44535)
* remove link to docs site

* extract tooltip to component

* text and formatting

* use div instead of p
2022-02-03 10:13:19 +01:00
Vardan Torosyan f38f10416a Revert fixed roles and service accounts (#44778)
* Revert fixed roles and service accounts

* Leave the fixed role for service accounts
2022-02-03 09:59:26 +01:00
Armand Grillet 8c6a5f043a [docs] Clarify legacy alerting deprecation (#44759)
* Clarify legacy alerting deprecation

* Lint Markdown
2022-02-03 09:59:02 +01:00
idafurjes 1b286e6bb5 Remove bus from quota, preferences, plugins, user_token (#44762)
* Remove bus from quota, preferences, plugins, user_token

* Bind sqlstore.Store to *sqlstore.SQLStore

* Fix test

* Fix sqlstore wire injection, dependency
2022-02-03 09:20:20 +01:00
Joan López de la Franca BeltranandLeonard Gram b2655750e8 Encryption: Add support for data keys re-encryption (#43548)
* Encryption: Add support for data keys re-encryption

* Add tests for data keys re-encryption

* Update code after refactorings

Co-authored-by: Leonard Gram <leo@xlson.com>
2022-02-03 09:15:38 +01:00
JM 16f0c6617a Update docs library element http api (#44493) 2022-02-03 08:46:03 +01:00
Joan López de la Franca Beltran f8105efff3 Encryption: CLI rollback command (#43935)
* Encryption: CLI rollback command

* Update flag reference to 'featuremgmt' pkg

* Update feature toggles usage

* Clean up data keys table after envelope encryption rollback
2022-02-03 07:19:18 +01:00
Josh Hunt ce4d8646fd Chore: E2E tests for various variables types (#44747)
* Pass data-testid into VariableTextEditorField

* Add e2e tests for custom variables

* Rename query variable specs to match others

* Add e2e tests for Text Box variables

* manually remove id: null

* Add tests for constant variables
2022-02-03 09:58:56 +11:00
Yuriy Tseretyan 984c95de63 Do not store EvaluationString in Evaluation. (#44606)
* do not store evaluation string in Evaluation.
* reduce number of buckets to store for a single state
2022-02-02 19:18:20 +01:00
Marcus Efraimsson 0092d10764 Instrumentation: Fix HTTP request instrumentation of authentication failures (#44234)
Moves the request tracing middleware earlier in the chain, just after the tracing middleware 
and before the log middleware. With these changes we'll be able to track 
authentication/authorization status failures that currently exits early and don't execute the 
request tracing middleware. In addition, there might be some other routes now being tracked 
with this that we didn't do before.

Fixes #39590
2022-02-02 18:48:46 +01:00
Leon Sorokin 3504844ad7 DataFrame: insert null values along interval (#44622) 2022-02-02 10:25:49 -06:00
Andres Martinez Gotor 0ab7097abc Chore: Update what's new link (#44782) 2022-02-02 16:43:37 +01:00
Eric Leijonmarck 1dd2579528 fix: remove migrated, and /org endpoint (#44788)
* fix: remove migrated, and /org endpoint

* Update pkg/api/index.go
2022-02-02 16:32:37 +01:00
kay delaney 9e6b9215ab SectionHeader: Fix "Go to Folder" link not working (#44593) 2022-02-02 16:27:55 +01:00
Ieva 9247848a7b increment fixed role version (#44779) 2022-02-02 15:24:16 +00:00
040ce40113 SSE: Mode to drop NaN/Inf/Null in Reduction operations (#43583)
Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-02-02 14:50:44 +01:00
0cb3037b55 Panel: Embed URL is now correctly generated for a panel in the home dashboard (#44706)
* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* test tidyup

* Add comment for route

Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: Muaaz Saleem <muaazsaleem@Muaazs-MacBook-Pro.local>
2022-02-02 13:38:23 +00:00
George Robinson 924deda589 Fix Discord Webhook URL for invalid template (#44763)
This commit fixes an issue where an invalid template for Discord would change the Webhook URL to "" and cause "unsupported protocol scheme" errors.
2022-02-02 14:28:41 +01:00
Julien Pivotto b78082f426 doc: snapshots: fix JSON response (#44758) 2022-02-02 14:03:14 +01:00
Tania BandMitchel Seaman 84ea13bf6c Docs: Refactor encryption docs (#44718)
* Docs: Refactor encryption docs

* Rename enterprise encr

* Remove envelope encr page

* combine database encryption sections

* fix reference

* Fix link

Co-authored-by: Mitchel Seaman <mitchel.seaman@gmail.com>
2022-02-02 15:02:57 +02:00
Tania BandMitch Seaman 07d207a3f0 Docs: Add documentation for the new encryption providers (#44604)
* Add docs for Google Cloud KMS provider

* Minor changes to Google KMS provider

* Add docs for Hashicorp Vault provider

* Review suggestion

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>

* Commit suggested change

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>

* Remove confusing instruction

* Add example of key file path

* Add links to new providers

* Add path description

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
2022-02-02 14:24:56 +02:00
d87cd6f26c Update dependency prettier to v2.5.1 (#43473)
* Update dependency prettier to v2.5.1

* prettier fixes

* chore(toolkit): bump prettier to 2.5.1

* style(eslint): bump grafana config to 2.5.2 in core and toolkit

* style(mssql-datasource): fix no-inferrable-types eslint errors

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-02-02 12:02:32 +00:00
Joan López de la Franca Beltran 3b4e812449 Encryption: Keep legacy default provider id on providers map (#44721)
* Encryption: Keep legacy default provider id on providers map

* Minor fixes

* Refactor
2022-02-02 12:10:46 +01:00
Dimitris Sotirakis 7bb5a5b318 CI: Make e2e tests depend on binary builds (#44647)
* Make e2e test depend on binary builds

* Search for binary in the correct folders

* Remove package file var

* Add ARCH var
2022-02-02 12:40:22 +02:00
Oscar KilhedandDominik Prokop 78ed5a99e6 TimeSeries/Barchart: Only show default label for y axis (#44713)
* TimeSeries/Barchart: only show default label for x axis

* Update docs

* Update packages/grafana-ui/src/options/builder/axis.tsx

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-02-02 11:05:48 +01:00
Konrad Lalik 69e4796504 Alerting: Split legacy and unified routing configuration (#44641)
* Disable add alert menu entry for legacy alerting

* Split legacy and unified routing configuration

* Fix fallback routes configuration
2022-02-02 10:57:43 +01:00
Giordano Ricci cff7336510 Logs Panel: fix timestamp parsing for string dates without timezone (#44664) 2022-02-02 09:54:33 +00:00
Artur Wierzbicki 46a34451d5 Analytics: add more properties to dashboard list viewed event (#44739) 2022-02-02 13:41:10 +04:00
JM 925333bfa4 Library Elements API GET by name returns array (#44743)
* Library Elements API GET by name returns array

Making a GET request to the Library Elements HTTP API `api/library-elements/name/:name` will return an **array** of Library Element objects, but the documentation says it will return a Library Element object.

Example cURL POST request:
`curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer XXXXXXXXXXX" -d @request.json "https://my.grafana.net/api/library-elements/"`

request.json
```json
{
  "model": {},
  "kind": 1,
  "name": "testing description3",
  "uid": "basic3",
  "id": 12345,
  "version": 2
}
```

Example cURL GET request:
`curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer XXXXXXXX" -d @request "https://my/api/library-elements/name/testing description3"`

Example response:
```json
{
    "result": [
        {
            . . .
        }
    ]
}
```

* Library Elements API fix bracket spacing
2022-02-02 09:50:27 +01:00
Ryan McKinley ac90c8d68d Geomap: initialization fixes (#44745) 2022-02-01 22:08:07 -08:00
Ryan McKinley d8df08ce5d Geomap: clear features when no-data is returned (#44748) 2022-02-01 22:02:43 -08:00
Sarah Zinger 58a71c7e91 Cloudwatch: Add syntax highlighting and autocomplete for "Metric Search" (#43985)
* Create a "monarch" folder with everything you need to do syntax highlighting and autocompletion.

* Use this new monarch folder with existing cloudwatch sql.

* Add metric math syntax highlighting and autocomplete.

* Make autocomplete "smarter":
- search always inserts a string as first arg
- strings can't contain predefined functions
- operators follow the last closing )

* Add some tests for Metric Math's CompletionItemProvider.

* Fixes After CR:
- refactor CompletionItemProvider, so that it only requires args that are dynamic or outside of it's responsibility
- Update and add tests with mocked monaco
- Add more autocomplete suggestions for SEARCH expression functions
- sort keywords and give different priority from function to make more visually distinctive.

* Change QueryEditor to auto-resize and look more like the one in Prometheus.

* Add autocomplete for time periods for the third arg of Search.

* More CR fixes:
- fix missing break
- add unit tests for statementPosition
- fix broken time period
- sort time periods

* Bug fix
2022-02-01 22:53:32 -05:00
Nathan Marrs b2b584f611 Geomap: Improve tooltip UX and fix data links (#44740) 2022-02-01 18:17:39 -08:00
Santiago 04d93751b8 Alerting: send alerts to external, internal, or both alertmanagers (#40341)
* (WIP) send alerts to external, internal, or both alertmanagers

* Modify admin configuration endpoint, update swagger docs

* Integration test for admin config updated

* Code review changes

* Fix alertmanagers choice not changing bug, add unit test

* Add AlertmanagersChoice as enum in swagger, code review changes

* Fix API and tests errors

* Change enum from int to string, use 'SendAlertsTo' instead of 'AlertmanagerChoice' where necessary

* Fix tests to reflect last changes

* Keep senders running when alerts are handled just internally

* Check if any external AM has been discovered before sending alerts, update tests

* remove duplicate data from logs

* update comment

* represent alertmanagers choice as an int instead of a string

* default alertmanagers choice to all alertmanagers, test cases

* update definitions and generate spec
2022-02-01 20:36:55 -03:00
Atif Shoukat Ali 21796c61ba Geomap: fix casing for panel options (#44688)
* fix casing for panel options

* remove hardcoded label values
2022-02-01 15:09:19 -08:00
Cat Perry a86d7a5a90 Tempo: Show error if transformTrace() is passed bad data to parse to JSON (#44684)
* Surface errors if transformTrace() is passed bad data to parse
2022-02-01 14:39:09 -08:00
Sergej Zagursky 1f4fdf31df Fix one more typo in data rate unit names (#44675) 2022-02-01 19:49:21 +01:00
Ryan McKinley 7ee38af95a FeatureToggls: remove IsFeatureToggleEnabled from SettingsProvider (#44574) 2022-02-01 10:24:59 -08:00
Connor Lindsey de04f19c47 Tempo: Add request histogram to service graph datalink (#44671) 2022-02-01 10:41:14 -07:00
Gabriel MABILLE f81b9c8150 AccessControl: Read team permissions from db (#44727) 2022-02-01 18:35:31 +01:00
55a9c98ae3 CloudWatch: Use metrics query header for logs (#44668)
Co-authored-by: Sarah Zinger <sarahzinger@users.noreply.github.com>
Co-authored-by: Yaelle Chaudy <42030685+yaelleC@users.noreply.github.com>
2022-02-01 11:36:51 -05:00
Ryan McKinley 3749695594 TestData: support dropping points from random walk data and send interval (#44683) 2022-02-01 17:27:52 +01:00
kay delaney 8218d81f0e AnnoListPanel: Add keyboard accessibility (#44280) 2022-02-01 15:33:21 +00:00
Karl Persson e93e1bdd2b Access control: Enable data source view for partial permissions (#44695)
* Return correct value

* Remove scope all requirement

* Only add dashboard sub nav if user is admin
2022-02-01 15:00:05 +01:00
bc24fdcf8d AccessControl: Team membership migration (#44065)
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-02-01 14:57:26 +01:00
idafurjes dca3dddafd Add store interface (#44694)
* Add store interface

* Fix lint
2022-02-01 14:51:22 +01:00
Torkel Ödegaard fb680b3575 Loki: Query builder, hook up instant toggle and improve inline switch (#44704) 2022-02-01 13:56:11 +01:00
Gábor Farkas 3873c5e7b5 loki: alerting: better error-handling (#44700) 2022-02-01 13:34:03 +01:00
renovate[bot]andRenovate Bot 22c3d72d9c Update dependency webpack to v5.68.0 (#44669)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-01 11:50:20 +00:00
Selene 875e0736ec LDAP: Use an interface instead of a bus to get group teams (#42165)
* Remove bus for GetTeams for LDAP

* Fix lint
2022-02-01 12:03:21 +01:00
George Robinson 8b2fe460e2 Remove EvaluationValue to avoid redundant copies of labels (#44603) 2022-02-01 09:58:18 +00:00
Peter Holmberg 552c24a66e Alerting: Show affected alert rules when creating Silence (#44307)
* first things

* show affected rules when creating silence

* revert typescript bump

* fix yarn lock

* fix import order

* fixing tests

* some layout for affected alerts

* fix test

* add default description

* review part 1

* Add a badge for number of affected alerts

* fix test

* remove blank space
2022-02-01 09:49:05 +01:00
Erik Sundell dc0a2fb55b Azure monitor Logs: Optimize data fetching in resource picker (#44549)
* refactor resource picker

* add tests

* remove not used code

* remove unnecessary check

* fix broken tests

* update table tests now that we no longer expand second level by default

* add missing new line

* pr feedback

* fix broken test
2022-02-01 09:39:48 +01:00
Levente Balogh c31585c246 feat: use the latest version of @grafana/levitate (#44656) 2022-02-01 09:18:21 +01:00
Yaelle Chaudy 33a7269b4f Cloudwatch : Fixed reseting metric name when changing namespace in Metric Query (#44612)
* Added logic to reset metric name when changing namespace in Metric Query

* Added tests for reseting or not metricName onChange namespace

* Added tests for reseting or not metricName onChange namespace

* Removed comment

* Cleaned up tests

* Refactored namespace to be updated in utils

* Removed unecessary overrides for query and onQueryChange

* Renamed tests + used some instead of find
2022-02-01 09:13:25 +01:00
Todd Treece fd14112dbd Chore: update grafana-plugin-sdk-go to v0.125.0 (#44685) 2022-01-31 22:50:36 -05:00
Ryan McKinley 6a72d97265 TestData: support raw results in the raw frames editor (#44609) 2022-01-31 15:40:58 -08:00
achatterjee-grafana 133e34d52a Docs: Add section about limitations alerting in "Time range controls" (#44680)
* Added section about syntaxes not supported by Grafana. Also updated missing image name.

* Fixed image name again.
2022-01-31 18:15:10 -05:00
Isabella Siu cbbf451b36 CloudWatch: small logs refactors (#44677) 2022-01-31 17:30:16 -05:00
Connor Lindsey 4f44ff7ce8 NodeGraph: Update no data message to show if no nodes (#44483)
* Display error if no service graph data is returned

* Remove error message and update node graph no data logic

* Check processed nodes instead of rendered nodes for no data message

* Remove console.log
2022-01-31 19:30:49 +01:00
Artur Wierzbicki 6e1615b42a Analytics: send dashboard_list_viewed events to rudderstack (#44589)
* #44449: report interactions with showPreviews toggle

* #44449: hookify showPreviews

* #44449: report dashboard_list_viewed event rather than enabled/disabled_dashboard_previews
2022-01-31 22:17:05 +04:00
Torkel Ödegaard e39d43db0a Prometheus: Use explore query field unless new query editor feature toggle is enabled (#44650) 2022-01-31 19:06:08 +01:00
Ivana Huckova 780591cc12 Prometheus: Fix some of the alerting queries that use reduce/math operation (#44380)
* Prometheus: Dont fill response with nulls for alerting queries

* Refactor based on reviews
2022-01-31 18:14:30 +01:00
George Robinson 5e2280ceee Add metrics to ngalert scheduler (#44602)
This pull request adds metrics to the ngalert scheduler so we can see how long it takes to evaluate a tick.
2022-01-31 16:56:43 +00:00
793e3d3556 Update sentry-javascript monorepo to v6.17.2 (#44364)
* Update sentry-javascript monorepo to v6.17.2

* update Sentry transport impl to be compat with latest sentry

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Domas <domasx2@gmail.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-31 16:51:09 +00:00
Kevin Minehart 69c403ed7d add .nvmrc (#44665) 2022-01-31 10:48:21 -06:00
idafurjes 12420260ef Remove bus from org invite api (#44530)
* Remove bus from org invite api

* Fix lint

* Remove comment
2022-01-31 17:24:52 +01:00
7ed82ac049 Check for empty URLs when creating/updating a data source (#42837)
* checks for empty URLs added

* check for TimeSeriesTypeNot to fix InfluxDB alerts

* log a warning when a data frame is ignored

* fix: add brittle Prometheus URL input selector

needs a proper aria-label or test-data-id selector

* test: add URL input aria-label

needs to use the grafana/e2e-selectors package

* test: run ci

* add URL validation for specific data sources, e2e tests

* Update pkg/api/datasource/validation.go

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* delete duplicated logs

* delete unnecessary leading newline

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-01-31 12:39:55 -03:00
Vardan Torosyan 2053049c40 Remove service accounts from public documentation as it's not being released yet (#44658) 2022-01-31 16:37:51 +01:00
Karl Persson 5ca9d2895b Add viewer grant to fixed:datasources:reader if viewers_can_edit is set to true (#44657) 2022-01-31 16:33:41 +01:00
Tharun Rajendran de1661e877 Tempo: Display start time in search results as relative time (#44568)
* Explore: modify tempo trace start time to human readable format in table output

Signed-off-by: tharun <rajendrantharun@live.com>

* add unit tests

Signed-off-by: tharun <rajendrantharun@live.com>
2022-01-31 15:07:43 +00:00
Will Browne 76603b93d6 Plugins: Refactor Grafana and Plugin version update checkers (#44529)
* refactor

* rework plugin update checking

* make smarter

* simplify

* fix linter issue

* make use of mutex

* apply feedback to simplify

* format imports

* fix tests
2022-01-31 16:06:16 +01:00
Will BrowneandMarcus Efraimsson bf8694e709 Plugins: Amend plugins loader log statements (#44652)
* adjust log statements

* Update pkg/plugins/manager/loader/loader.go

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* add errs to logs

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-01-31 14:24:51 +00:00
Emil Tullstedt ae2595e86a Chore: Upgrade go-datemath dependency (#44592)
* Datemath: Upgrade dependency

* go mod tidy
2022-01-31 15:17:48 +01:00
Karl Persson 16e62965f5 handle case when scope is wildcard (#44654) 2022-01-31 14:44:20 +01:00
Marcus Efraimsson 333de57999 Plugins: Fix scanning plugins when permission for directories is lacking (#44587)
Fixes so that errors (directory not exists, no permission) when scanning plugins are logged as 
errors rather than with debug level. In addition, before the scanning would halt in case of 
referenced errors, but with these changes the scanning will continue. If any other error 
than the referenced error happens the scanning for specific directory would halt and return 
the error, e.g. stop Grafana from starting.

Fixes #43012
2022-01-31 14:07:10 +01:00
Hugo Häggmark 5a5f5cacc8 Variables: Fix for constant variables in self referencing links (#44631)
* Variables: Fix for constant variables in self referencing links

* Chore: adds bettercomment
2022-01-31 13:34:26 +01:00
renovate[bot]andRenovate Bot 9035859871 Update dependency sinon to v13 (#44613)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-31 12:31:38 +00:00
Konrad Lalik 88f3dff6d2 Alerting: Fix moving alert rules to a different folder (#44533)
* Prevent rule deletion when creation in a new folder fails

* Fix handling duplication of rules when moving between folders

* Add unit test for unique name generator

* Fix typo
2022-01-31 12:09:06 +01:00
Gábor Farkas aa22499b29 packages: disable auto-updating of slate-related package (#44640) 2022-01-31 11:15:06 +01:00
Gábor Farkas 2c1e7c83ca packages: removed unused @types/slate-react (#44600) 2022-01-31 10:57:46 +01:00
Sergej Zagursky 99ee72688c Fix typos in data rate unit names (#44632) 2022-01-31 10:31:27 +01:00
Timur Olzhabayev 9fe034e5ca chore(toolkit): add toolkit version to signing (#44326) 2022-01-31 09:55:21 +01:00
Josh Hunt d2f80c3a6f Chore: Replace ts-jest mocked with jest.mocked (#44630) 2022-01-31 09:28:58 +01:00
Torkel Ödegaard 64e1e91403 PromQueryBuilder: Query builder and components that can be shared with a loki query builder and others (#42854) 2022-01-31 06:57:14 +00:00
Hugo Häggmark a660ccc6e4 PanelEdit: Adds error indicator in table view (#44595) 2022-01-31 06:02:24 +01:00
Josh Hunt c6ce629fd8 I18n: Translate navigation items (#44131)
* I18n: Translate navigation items

* improve comment, remove console.log

* update mock macros

* Mark up all phrases for translation

* added deprecate text comment, moved translations to a seperate file

* use TestProvider in NavBarItem

* use TestProvider in nav tests

* remove text deprecation comment

* update translations
2022-01-31 03:41:58 +01:00
Josh Hunt b1b6205651 TablePanel: Fix ad-hoc variabes not working on default datasources (#44314)
* Dashboards: Fix ad-hoc variabes not working on default datasources

* not async

* Update comment
2022-01-31 01:16:46 +01:00
achatterjee-grafana d584a27055 Docs: Added information about Prometheus write permission requirement. (#44616)
* Added note.

* Fixed typo.
2022-01-28 19:35:50 -05:00
Artur WierzbickiandAgnès Toulet 254c59725e Rendering: add capabilities check (#44470)
* #44449: add feature check to rendering service

* #44449: formatting

* #44449: rename feature -> capability (https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack/getCapabilities, https://developer.mozilla.org/en-US/docs/Web/API/InputDeviceInfo/getCapabilities)

* #44449: refactor

* #44449: remove commented code

* Update pkg/services/rendering/capabilities.go

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* #44449: review fixes

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-01-28 21:24:15 +04:00
Ivana Huckova 4e37a53a1c Query history: Create API to add query to query history (#44479)
* Create config to enable/disable query history

* Create add to query history functionality

* Add documentation

* Add test

* Refactor

* Add test

* Fix built errors and linting errors

* Refactor

* Remove old tests

* Refactor, adjust based on feedback, add new test

* Update default value
2022-01-28 17:55:09 +01:00
Tania B ca24b95b49 Encryption: Handle encryption key provider being a background service (#44007)
* Encryption: Handle encryption key provider being a background service

* Sort imports

* Cleanup accidental changes

* Add proper error handling

* Apply review feedback
2022-01-28 17:17:40 +02:00
Karl Persson e844b263c7 Access control: Load permissions from memory and database (#42080)
* Load permission from both in memory and from database
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-01-28 16:11:18 +01:00
Gilles De Mey 26ddeaf3d7 fix: multiple queries in alerting regression (#44585) 2022-01-28 16:05:19 +01:00
Connor Lindsey 45a435ad78 Tempo: Auto-clear results when changing query type (#44390)
* Auto-clear results when changing query type

* Move clear results to function
2022-01-28 07:49:43 -07:00
Marcus Efraimsson 919c451156 Chore: Remove unused sqlstore dependency (#44583)
Removes unused sqlstore dependency from plugin management.

Ref #44260
2022-01-28 06:38:19 -05:00
J GuerreiroandGabriel MABILLE 312dd9e315 AccessControl: Add AC to team preferences (#44554)
* AccessControl: Add AC to team preferences

* Apply suggestions from code review

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-01-28 12:17:54 +01:00
J Guerreiro 2894f07f05 AccessControl: improve denied message (#44551)
* AccessControl: improve denied message

* AccessControl: tweak permission denied
2022-01-28 12:17:24 +01:00
Alex Khomenko 3e0a589ba1 Update @grafana/tsconfig (#44582) 2022-01-28 11:30:06 +01:00
Ashley Harrison 666a794a82 Navigation: Initialise navTree in redux store (#44440)
* Add navTree to redux store and used that in NavBar/NavBarNext

* Use createSlice

* update import

* Use NavBarUnconnected instead of Component
2022-01-28 10:06:52 +00:00
Hugo Häggmark 6de9d241a6 E2E: adds back missing e2e specs (#44576)
* E2E: adds back missing e2e specs

* Chore: removes wrong import directive
2022-01-28 10:39:43 +01:00
Sofia Papagiannaki 4ca8529b76 Devenv: fix permission failures for mysql_tests and postgres_tests docker blocks (#44203) 2022-01-28 11:39:28 +02:00
Marcus Efraimsson 94edd7a762 Plugins: Refactor plugin dashboards (#44315)
Moves/refactor Grafana specific functionality related to plugin dashboards 
out to specific services for importing dashboards and keep app plugin dashboards
up-to-date.

Fixes #44257
2022-01-28 10:28:33 +01:00
renovate[bot]andRenovate Bot 7e26dbb5ff Update dependency @types/prismjs to v1.26.0 (#44561)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-28 10:07:34 +01:00
renovate[bot]andRenovate Bot ba5fb38c9b Update dependency @opentelemetry/api to v1.1.0 (#44560)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-28 10:04:59 +01:00
Gábor Farkas 6e071d030f loki: added benchmark for metric-response processing (#44539) 2022-01-28 09:44:57 +01:00
Konrad Lalik c6e6e92a80 Alerting: Filtering for notification policies (#44363)
* Add filtering by matching label

* Add label and contact based filters to Notification policies

* Improve filters UI, add clear filters option

* Add clearing of filters before switching to adding mode

* Move filtering code to the AmRoutesTable component

* Fix the clearing of silences filter

* Remove key-based input resetting

* Use uniqueId for input key generation

* Add tests for notification policies filtering
2022-01-28 09:40:05 +01:00
Alex Vandiver 844b194f5b Middleware: Don't require HTTPS for HSTS headers to be emitted (#35147)
Grafana itself may not be serving content over HTTPS, but it may be
behind a transparent proxy which does.

Fixes #26770.  Based on #26868.
2022-01-28 07:23:28 +01:00
achatterjee-grafana 7b476c19c2 fix typo (#44564) 2022-01-27 16:33:55 -05:00
Dan Cech 1e89fc157d update snapshots server url (#44563)
* update snapshots server url
* update all old references to snapshot.raintank.io
2022-01-27 16:11:20 -05:00
Marcus Efraimsson a23900c4ba CodeQL: Ignore go/log-injection for terminal logger (#44481) 2022-01-27 19:01:59 +01:00
Tharun Rajendran 5721933e4b NodeGraph: fix rendering of node graph in dashboard panel (#44552)
Signed-off-by: tharun <rajendrantharun@live.com>
2022-01-27 10:19:54 -07:00
Will Browne b5dd4842d0 Plugins: Make manager more easily composable (#44467)
* make more easily composable

* fix build
2022-01-27 18:06:38 +01:00
Isabella Siu d3b8fc53aa CloudMonitoring: Fix resource labels in query editor (#44550) 2022-01-27 11:35:13 -05:00
Todd Treece 4d1f3a3f6c Recorded Queries: Enable by default (#44397) 2022-01-27 11:09:39 -05:00
J Guerreiro 153b231521 AccessControl: Refine interface for AC store (#44536)
* AccessControl: Refine interface for AC store

* Update pkg/services/accesscontrol/database/resource_permissions.go
2022-01-27 16:47:24 +01:00
Levente Balogh 1f4d53805c fix: backport @grafana/levitate to 0.2.0 (#44543) 2022-01-27 16:38:12 +01:00
J Guerreiro cb6e5ae8ce AccessControl: Add access control actions and scopes to team update and delete
* AccessControl: Add access control actions and scopes to team update and delete

* AccessControl: Add tests for AC guards in update/delete

* AccessControl: add fixed role for team writer

* AccessControl: ensure team related AC is deleted with team

* Update pkg/api/team_test.go
2022-01-27 16:16:44 +01:00
Tania B 1a9c293984 Chore: Remove unused AWS KMS provider's token setting (#44531) 2022-01-27 17:15:49 +02:00
Joey Tawadrous dc7639354e InfluxDB: interpolate all variables in queries for dash->explore (for influxql) (#44415)
* Moved flux case to its own return

* Added missing template replaces for limit, slimit, tz

* Added missing template replaces for select

* Added missing template replaces for group by

* Added tests

* PR changes
2022-01-27 14:00:46 +00:00
Santiago 1bed84ea56 Fix InfluxDB unhealthy alerts and false "no data"s (#43441)
* check for TimeSeriesTypeNot to fix InfluxDB alerts

* log a warning when a data frame is ignored
2022-01-27 10:53:27 -03:00
Gabriel MABILLE 41c8db16ee Accesscontrol: Feature does not need a license (#44517) 2022-01-27 13:43:12 +01:00
Karl Persson bf63ccbe00 Access control: Rewrite access control SQL filter (#44488)
* Rewrite access control sql filter
2022-01-27 13:06:08 +01:00
Gábor Farkas b42161a713 Loki: add from JSON to dataframes tests (#44375)
* Loki: add from JSON to dataframes tests

* fixed wrong content-type

* added -Inf test-case
2022-01-27 12:43:44 +01:00
Giordano Ricci ea48d131ee Explore: deprecate compact URL encoding & dafault to extended (#44385) 2022-01-27 11:23:56 +00:00
Gábor Farkas 465ed9f5d3 CODEOWNERS: update based on renamed github team (#44495) 2022-01-27 11:47:29 +01:00
Richard Hartmann a39eeb966b Fix licensing text (#44518)
* Fix licensing text

Signed-off-by: Richard Hartmann <richih@richih.org>
2022-01-27 11:09:39 +01:00
idafurjes 82892331c1 Chore: Remove bus from signup and playlist api (#44485)
* Remove bus from signup and playlist api

* Remove bus from playlist play
2022-01-27 10:33:02 +01:00
Alex Khomenko 28c51cde3a Feature highlights: Highlight team group sync (#44477)
* Highlight team group sync

* Update text
2022-01-27 09:11:57 +02:00
Leon Sorokin 6533eb9244 TimeSeries: disable fill when fillBelowTo field is missing (#44498) 2022-01-26 17:06:11 -06:00
Artur WierzbickiandAgnès Toulet 5148250366 Rendering service - add optional RenderingSession (#44098)
* rendering service changes:
- make node-renderer request timeout configurable
- introduce optional RenderingSession providing a long-lived session key

* remove console logs

* added comment explaining empty "afterRequest" method

* fix compilation error

* update imports formatting

* Update pkg/services/rendering/interface.go

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update pkg/services/rendering/rendering.go

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* review fix: extract renderKey related functions/structs to auth.go

* #44449: private'd `rendering.getRequestTimeout`

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-01-27 02:02:19 +04:00
Ryan McKinley 3c334cd8ba Logger: avoid panic when time is a string (not fmt.Stringer) (#44497) 2022-01-26 13:17:42 -08:00
Nathan Marrs 8a7b469679 Resource picker/improve ux (#44402) 2022-01-26 11:29:04 -08:00
idafurjes 58ee553634 Chore: Remove bus from user api (#44468)
* Chore: Remove bus from user api

* Adu authinfoservice interface

* User authinfoservice.Service instead of authinfoservice.Implementation in HTTPServer

* Rename Implementation to authInfoService
2022-01-26 20:24:05 +01:00
Ryan McKinley 5d66194ec5 FeatureFlags: define features outside settings.Cfg (take 3) (#44443) 2022-01-26 09:44:20 -08:00
Serge Zaitsev 84a5910e56 Chore: Remove bus from ngalert (#44465)
* pass notification service down to the notifiers

* add ns to all notifiers

* remove bus from ngalert notifiers

* use smaller interfaces for notificationservice

* attempt to fix the tests

* remove unused struct field

* simplify notification service mock

* trying to resolve issues in the tests

* make linter happy

* make linter even happier

* linter, you are annoying
2022-01-26 16:42:40 +01:00
Gábor Farkas ad4a9a48d2 CODEOWNERS: update based on o11y squad changes (#44474)
* CODEOWNERS: update based on o11y squad changes

* add back by-mistake deleted part

* move logs-panel to logs-traces-squad
2022-01-26 16:10:38 +01:00
d4f682190f AccessControl: Implement teams resource service (#43951)
* AccessControl: cover team permissions

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* Add background service as a consumer to resource_services

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* Define actions in roles.go

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* Remove action from accesscontrol model

 Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* As suggested by kalle

* move some changes from branch to the skeleton PR

* Add background service as a consumer to resource_services

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* moving resourceservice to the main wire file pt2

* move team related actions so that they can be reused

* PR feedback

* fix

* typo

* Access Control: adding hooks for team member endpoints (#43991)

* AccessControl: cover team permissions

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* Add background service as a consumer to resource_services

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* Define actions in roles.go

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* Remove action from accesscontrol model

 Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* As suggested by kalle

* add access control to list and add team member endpoint, and hooks for adding team members

* member permission type is 0

* add ID scope for team permission checks

* add more team actions, use Member for member permission name

* protect team member update endpoint with FGAC permissions

* update SQL functions for teams and the corresponding tests

* also protect team member removal endpoint with FGAC permissions and add a hook to permission service

* a few small fixes, provide team permission service to test setup

* AccessControl: cover team permissions

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* Add background service as a consumer to resource_services

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* Define actions in roles.go

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* Remove action from accesscontrol model

 Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* As suggested by kalle

* move some changes from branch to the skeleton PR

* remove resource services from wireexts

* remove unneeded actions

* linting fix

* remove comments

* feedback fixes

* feedback

* simplifying

* remove team member within the same transaction

* fix a mistake with the error

* call the correct sql fction

* linting

* Access control: tests for team member endpoints (#44177)

* tests for team member endpoints

* clean up and fix the tests

* fixing tests take 2

* don't import enterprise test license

* don't import enterprise test license

* remove unused variable

Co-authored-by: gamab <gabi.mabs@gmail.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
2022-01-26 14:48:41 +00:00
renovate[bot]andRenovate Bot 46422a82c8 Update dependency @visx/tooltip to v2.8.0 (#44458)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-26 14:43:44 +00:00
renovate[bot]andRenovate Bot 19340502a6 Update dependency eslint-plugin-jsdoc to v37.7.0 (#44459)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-26 14:42:45 +00:00
Morten Nygaard ÅsnesandMarcus Efraimsson 9e4aafa719 MSSQL: Configuration of certificate verification for TLS connection (#31865)
Fixes #24589

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-01-26 15:00:18 +01:00
Marcus Efraimsson 50fabe8a87 Chore: Implements log15 terminal logger (#44447)
Nicer development/terminal output based on log15 terminal logger.
2022-01-26 12:19:43 +01:00
Mitsuhiro Tanda d1083b9597 Cloud Monitoring: Reduce request size when listing labels (#44365) 2022-01-26 12:02:42 +01:00
Marcus Efraimsson 7593fc0a20 Provisioning: Fix duplicate validation when multiple organizations have been configured (#44151)
Fix duplicate validation when multiple organizations have been configured. 
This makes sure that all duplicate validation is being made for each organization.

Fixes #44126
2022-01-26 11:33:31 +01:00
Alex Khomenko 55e1c53e36 NavModel: Enable adding suffix elements to tabs (#44155)
* Trigger extra events

* Extend html attributes

* Add suffix to tabs

* Add upgrade routes

* suffix => highlightText

* suffix => suffixText

* Add size prop

* Update prop name

* Convert tabSuffix to a component
2022-01-26 09:15:45 +02:00
Leon Sorokin a20894c261 Formatters: speed up toDuration() (#44345) 2022-01-25 22:14:59 -06:00
Katarina YangandIda Furjesova 92ca38bedf Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in misc files (#43926)
* Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in misc files

* Refactor: Change .inTransaction in org.go file

* Refactor: Update init() to proper SQLStore handlers

* Refactor: Update funcs in tests to be sqlStore methods

* Refactor: Update API funcs to receive HTTPServer

* Fix: define methods on sqlstore

* Adjust GetSignedInUser calls

* Refactor: Add sqlStore to Service struct

* Chore: Add back black spaces to remove file from PR

Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
2022-01-25 20:30:08 +01:00
Paschalis Tsilias eed9e5543d Fix link to contribute/documentation page (#44322)
Signed-off-by: Paschalis Tsilias <paschalis.tsilias@grafana.com>
2022-01-25 13:58:48 -05:00
Isabella Siu 50e7ac8d65 CloudMonitoring: use @grafana/google-sdk (#44398) 2022-01-25 13:10:14 -05:00
Nathan Marrs 5c9d2d6b3e Update documentation to to notify of removal of 2 modules from grafana-ui (#44341) 2022-01-25 09:57:12 -08:00
Andres Martinez Gotor af0ece12f9 CloudMonitoring: Fix fastpass issues (#44277) 2022-01-25 17:28:59 +01:00
Karl Persson de2c5783fa Access Control: Pass db session to hooks (#44428)
* Move hook calls to database and pass session
2022-01-25 17:12:00 +01:00
Marcus Efraimsson 9ab9fd802b OAuth: Fix parsing of ID token if header contains non-string value (#44159)
Fixes #41111
2022-01-25 17:09:35 +01:00
kay delaney 3c1122cf29 CollapsableSection: Improves keyboard navigation and screen-reader support (#44005) 2022-01-25 15:36:17 +00:00
renovate[bot]andRenovate Bot 291d8aac7e Update dependency mocha to v9.2.0 (#44372)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-25 15:28:51 +00:00
Will Browne 124bf413a2 make plugin loading for nested plugins more deterministic (#44330) 2022-01-25 16:05:12 +01:00
renovate[bot]andRenovate Bot e9375ecd4c Update dependency rollup to v2.66.1 (#44348)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-25 15:59:06 +01:00
renovate[bot]andRenovate Bot 8f621516ff Update dependency webpack to v5.67.0 (#44338)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-25 15:58:34 +01:00
Marcus Efraimsson 62b69a0b90 Revert "Search: Fix only searching for folder id zero (#44175)" (#44424)
This reverts commit 007cd144a9 from #44175.
2022-01-25 15:04:26 +01:00
Sergey KostrukovandMarcus Efraimsson cb09162cde Datasources: Simplify the AzureCredentials structure in datasource config (#39209)
Related #35857

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-01-25 14:23:32 +01:00
Maria Alexandra 58b8d84085 Old Table: Table is not rendering when col property is undefined (#44129) 2022-01-25 14:22:57 +01:00
Kevin Burke 24efb42f19 app/core/components/TraceToLogsSettings: fix spelling error (#44399)
"Let's" is an abbreviation of "let us", which is not the right use in
this sentence on the settings page.
2022-01-25 12:42:48 +01:00
Dimitris Sotirakis ef35cb5318 Update grabpl version (#44410) 2022-01-25 09:40:26 +01:00
Torkel Ödegaard 566556fea2 QueryEditors: Restore query editor margin to what old value (#44384) 2022-01-25 09:19:39 +01:00
Alex KhomenkoandAshley Harrison aead2e9157 Navigation: allow adding extra content (#44048)
* Add PRO badge

* Allow adding extra content

* Add extra content for the new navbar

* Use highlight text instead of extra content

* Trigger extra events

* Remove ExtraContent

* Update public/app/core/components/NavBar/NavFeatureHighlight.tsx

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>

* Remove redundant i

* Add UpgradeBox

* Move highlight to menu trigger

* Clear navbar next

* Cleanup

* Fix UpgradeBox styles

* Add arrow icon

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-25 10:04:44 +02:00
Ryan McKinley c0fc60dfef Table: default display for geometry fields (#44347) 2022-01-24 16:10:36 -08:00
idafurjes dbb2d3af73 Chore: Fix attribute value (#44368)
* Fix attribute value

* Fix also the value for opentracing
2022-01-24 18:17:39 +01:00
Ryan McKinley b88811e2af DataFrame: deprecate/remove field.parse(any) (#44299) 2022-01-24 16:27:35 +00:00
Erin Noe-Payne ac945fb6e1 Tempo / Trace Viewer: Implement deep linking to spans 2022-01-24 08:49:35 -07:00
Igor Suleymanov fdeaf7a5c4 Add nil checks to HTTP request validation dispatch (#44371)
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2022-01-24 16:43:44 +01:00
Peter Holmberg a7423d8760 Alerting: Fix Card link in legacy alerting items (#44094)
* remove href

* revert yarn.lock
2022-01-24 16:16:55 +01:00
Agnès Toulet 65bdb3a899 FeatureFlags: Revert managing feature flags outside of settings.Cfg (#44382)
* Revert "FeatureToggles: register all enterprise feature toggles (#44336)"

This reverts commit f53b3fb007.

* Revert "FeatureFlags: manage feature flags outside of settings.Cfg (#43692)"

This reverts commit f94c0decbd.
2022-01-24 16:08:05 +01:00
Guilherme Caulada 29268483c2 HTTPServer: Implement named middlewares (#44231)
* Implement named middlewares on http server

* Fix minor ordering issue with named middlewares
2022-01-24 10:41:18 -03:00
Gábor Farkas 9161f9d2e1 prometheus: added json-loading benchmark (#44309) 2022-01-24 14:39:26 +01:00
J Guerreiro 84c89ec61e Docs: Add usage stats preview to doc (#43995)
* Docs: Add usage stats preview to doc

* Fix: remove permissions references
2022-01-24 14:24:58 +01:00
renovate[bot]andRenovate Bot 80c79bcdc2 Update dependency lint-staged to v12.3.1 (#44354)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-24 04:56:05 -08:00
renovate[bot]andRenovate Bot 52a55e69e9 Update dependency stylelint to v14.3.0 (#44355)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-24 04:55:51 -08:00
Zoltán Bedi f16047660a StateTimeline: Show more precise duration (#44046)
* StateTimeline: Show more precise duration

* Add Leon's calculation

* Change to 30 days

Remove console logs. Add more tests.
2022-01-24 13:32:55 +01:00
Jack Westbrook ed7552db79 Renovate: Separate storybook from monthly patches (#44373) 2022-01-24 12:44:36 +01:00
idafurjes 00c389933b Chore: Remove bus from team (#44218)
* Remove bus from team

* Fix api team test

* Remove bus from team members
2022-01-24 11:52:35 +01:00
Jack Westbrook c8406baac2 Storybook: Bump to 6.4.13 (#44091)
* chore(storybook): bump to 6.4.13

* revert(yarnrc): put back double quotes

* chore(storybook): fix issues with resolving process

* revert(yarnrc): put back storybook packageExtensions

* refactor(storybook): move process resolution fix to function. update comments
2022-01-24 11:50:34 +01:00
Gábor Farkas 0f8b0dc301 prometheus: refactor test (#44358) 2022-01-24 11:08:41 +01:00
Dominik Prokop 7ee7dfda2b Stacking: Ignore null/undefined-only stacks instead of assuming 0 value (#44359) 2022-01-24 10:49:47 +01:00
Timur Olzhabayev c3f69cc4d9 Adding reload to datasourceSrv (#44217) 2022-01-24 10:45:05 +01:00
Tharun Rajendran 732c2ebb37 Explore: show scalar data result in a table instead of graph (#44362)
Signed-off-by: tharun <rajendrantharun@live.com>
2022-01-24 10:22:06 +01:00
Tim Levett 641e34e341 Bug: Fixed User API Link (#44342)
Very minor fix to complete the User API link.
2022-01-23 06:33:50 +01:00
Nathan Marrs 76827c2069 Refactor: move threshold editor out of grafana-ui (#44300) 2022-01-21 16:17:33 -08:00
Jeff LevinandMarcus Efraimsson <marcus.efraimsson@gmail.com>, Jesse Weaver c8154b9fe2 Datasource API: #32556 resolve readonly datasources can be modified (#44186)
* Check if datasource is read-only when making an update
* Standardize api returning a 404 if datasource is not found while making an update

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>, Jesse Weaver<pianohacker@gmail.com>
2022-01-21 14:22:43 -09:00
Leon Sorokin 79ec3ec54c TimeSeries: prevent threshold line color from affecting grid lines (#44337) 2022-01-21 17:19:53 -06:00
Ryan McKinley 082b1b4db7 Geomap: add spatial transformers (alpha) (#44020) 2022-01-21 14:27:26 -08:00
Ryan McKinley f53b3fb007 FeatureToggles: register all enterprise feature toggles (#44336) 2022-01-21 20:36:28 +01:00
Marius Bezuidenhout 9fc0aee02b Feature/mathandreduce (#41608)
* Added new math functions: round, ceil, floor 
* Added a new reduce function: last.
2022-01-21 13:15:50 -05:00
Jason Walton 5d0bc9e933 docs: Fix URL for Github callback in OAuth. (#41122) 2022-01-21 10:57:44 -05:00
Andres Martinez Gotor addeba7f05 AzureMonitor: Allow template variables in the subscription field (#44312) 2022-01-21 16:50:13 +01:00
Yuriy Tseretyan ce0ef0ef5e create only one folder per dashboard with acl (#44283) 2022-01-21 10:24:41 -05:00
JM 8a21385481 Docs: add API pages to HTTP API list (#42997)
* add API pages to HTTP API list

* fix capitalization of page names
2022-01-21 10:19:11 -05:00
Greg Myers c1ff35a7ee Fix typos in READMEs (#44084)
packaging/docker/README.md:31: compatability ==> compatibility
public/app/plugins/panel/debug/README.md:5: performace ==> performance
2022-01-21 16:10:48 +01:00
Christopher Norris f2da409703 Chore: fix typo (#44188) 2022-01-21 15:58:40 +01:00
Dominik Haßelkuss d7683aaa17 Docs: fixed typo (#42784) 2022-01-21 15:54:04 +01:00
Josh Hunt bddf3d7558 Chore: Correctly escape strings in JSONFormatter (#44096)
* Chore: Properly escape double-quotes in strings in JSONFormatter

* escape slashes
2022-01-21 14:51:59 +00:00
Jean-Philippe Quéménerandgillesdemey 8ee3f59cd4 Alerting: recognize Cortex datasources correctly in the frontend (#44316)
* Alerting: always use msg field for user facing errors

* fix: revert front-end Cortex detection

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-01-21 15:44:11 +01:00
Ashley Harrison e1af78954f Only modify table spacing (#44313) 2022-01-21 13:38:13 +00:00
Marcus Efraimsson 007cd144a9 Search: Fix only searching for folder id zero (#44175)
Fixes so that searching for folder id zero in folder/dashboard search returns 
dashboards located in the general folder and not including all folders as it 
did before.

Fixes #40273
2022-01-21 13:51:58 +01:00
Will Browne da98ebdcdf Plugins: Remove old code related to Core plugin installs (#44311)
* remove old code

* remove even more

* skip flaky test
2022-01-21 13:38:04 +01:00
Yaelle Chaudy 164ce63e28 CloudWatch: Fix MetricName resetting on Namespace change (#44165)
* Added tests for wanted behavious in MetricsStatEditor

* Removed wrong import

* Updated MetricStatEditor to add new behaviour

* Updated tests to use react-select-event

* removed unused export

* Adding check for empty string in select value and force null

* clean up

* added check to avoid call to getMetric if there is no metricName selected

* removed todo

* removed empty lines

* Moved external import to top

* Refactored tests to copy props rather than overriding them
2022-01-21 12:19:09 +01:00
renovate[bot]andRenovate Bot 5b7e05cde0 Update dependency sass to v1.49.0 (#44214)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 10:38:59 +00:00
9371690645 Update dependency cypress to v9.3.1 (#44206)
* Update dependency cypress to v9.3.1

* Upgrade cypress image

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-01-21 11:34:36 +01:00
Torkel Ödegaard f3859f8b60 Templating: Fixes flickering of repeated panels and rows (#43399) 2022-01-21 11:26:40 +01:00
Will Browne 3cb0fb3ddc fix and add test (#44286) 2022-01-21 11:00:20 +01:00
renovate[bot]andRenovate Bot 1ae155d2b1 Update dependency lint-staged to v12.2.2 (#44213)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 09:52:47 +00:00
renovate[bot]andRenovate Bot 53dfae3c86 Update dependency rollup to v2.65.0 (#44302)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 09:37:03 +00:00
ed03a607b7 Update dependency rc-cascader to v3 (#44241)
* Update dependency rc-cascader to v3

* type changes for rc-cascader v3

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-21 09:29:32 +00:00
renovate[bot]andRenovate Bot a638cfbcaa Update dependency @visx/event to v2.6.0 (#44292)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 08:24:23 +00:00
Ikko Ashimine 3be082b2bf Transformers: fix typo in convertFieldType.ts (#44297) 2022-01-21 04:48:19 +00:00
Nathan Marrs c6e853a13c Refactor: Move Value Mappings to Grafana public instead of Grafana UI (#44237) 2022-01-20 20:36:34 -08:00
Dave Henderson 3d865a3687 Update dependency github.com/influxdata/influxdb-client-go/v2 to v2.6.0 (#44225)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2022-01-20 23:31:16 +01:00
Ryan McKinley f94c0decbd FeatureFlags: manage feature flags outside of settings.Cfg (#43692) 2022-01-20 13:42:05 -08:00
Will Browne 7fbc7d019a Plugins: Core plugins register via backend factory provider (#43171)
* refactoring store interface and init flow

* fix import

* fix linter

* refactor resource calling

* load with class

* re-order args

* fix tests

* fix linter

* remove old creator

* add custom config struct

* fix some tests

* cleanup

* fix

* tackle plugins

* fix linter

* refactor and fix test

* add connect failure error

* add fix for azure, cloud monitoring and test data

* restructure

* remove unused err

* add fake tracer for test

* fix grafana ds plugin
2022-01-20 18:16:22 +01:00
Ryan McKinley 2fd76ecaf7 TestData: use CodeEditor for csv content (#44239) 2022-01-20 09:05:36 -08:00
Dimitris SotirakisandMaria Alexandra 22eb2df602 E2E: Rename end-to-end-tests-server to grafana-server (#44249)
* Rename to grafana-server / move scripts into new directory

* Change grafana-server step command

* Change scripts paths

* Use test grabpl version

* Update run-suite script

* Further name updates

* Update grabpl version

* Update contribute/style-guides/e2e-core.md

Co-authored-by: Maria Alexandra <239999+axelavargas@users.noreply.github.com>

Co-authored-by: Maria Alexandra <239999+axelavargas@users.noreply.github.com>
2022-01-20 17:01:00 +00:00
Eric Leijonmarck 9ccc7ec76e Serviceaccounts: convert selection of apikeys to serviceaccounts (#44154)
* convert selected of apikeys to serviceaccounts

* update to use one by one

* expose endpoint of service account
2022-01-20 16:51:18 +01:00
Dominik Prokop 7bf25f62e1 Cursor sync: Apply the settings without saving the dashboard (#44270)
* Cursor sync: Apply the settings without saving the dashboard

* Remove unnecessary code

* Lint god damn
2022-01-20 16:38:10 +01:00
renovate[bot]andRenovate Bot ab4aa86e67 Update dependency css-minimizer-webpack-plugin to v3.4.1 (#44205)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-20 15:35:23 +00:00
kay delaney cc6839a21d TablePanel: Make column headers keyboard-friendly (#44267) 2022-01-20 14:31:27 +00:00
Timur Olzhabayev ebbb283d75 fix(40590): bundle the readme files of datasources inside app plugins (#44068) 2022-01-20 14:13:31 +00:00
Todd Treece f4a0f21b3c Chore: Update grafana-plugin-sdk-go and containerd dependencies (#44226) 2022-01-20 09:06:26 -05:00
Isabella Siu 2c3bed1f4b CloudWatch: remove unused "live" log code (#44185) 2022-01-20 08:58:39 -05:00
Kyle Brandt 74193b3c1b SSE: Remove beta tooltip (#43912) 2022-01-20 08:52:36 -05:00
kay delaney a728e9b4dd MixedDatasource: Fixes infinite loop with empty query panel (#44265)
* MixedDatasource: Fixes infinite loop with empty query panel
2022-01-20 13:12:45 +00:00
idafurjesandMarcus Efraimsson 30aa24a183 Chore: Implement OpenTelemtry in Grafana (#42674)
* Separate Tracer interface to TracerService and Tracer

* Fix lint

* Fix:Make it possible to start spans for both opentracing and opentelemetry in ds proxy

* Add span methods, use span interface for rest of tracing

* Fix logs in tracing

* Fix tests that are related to tracing

* Fix resourcepermissions test

* Fix some tests

* Fix more tests

* Add TracingService to wire cli runner

* Remove GlobalTracer from bus

* Renaming test function

* Remove GlobalTracer from TSDB

* Replace GlobalTracer in api

* Adjust tests to the InitializeForTests func

* Remove GlobalTracer from services

* Remove GlobalTracer

* Remove bus.NewTest

* Remove Tracer interface

* Add InitializeForBus

* Simplify tests

* Clean up tests

* Rename TracerService to Tracer

* Update pkg/middleware/request_tracing.go

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* Initialize tracer before passing it to SQLStore initialization in commands

* Remove tests for opentracing

* Set span attributes correctly, remove unnecessary trace initiliazation form test

* Add tracer instance to newSQLStore

* Fix changes due to rebase

* Add modified tracing middleware test

* Fix opentracing implementation tags

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-01-20 11:10:12 +01:00
Jack Westbrook 5b61273497 CI: Update breaking changes workflow to compare against main (#44097)
* ci(breaking-changes): split into separate builds for pr and main

* ci(breaking-changes): add path for npm install steps

* ci(breaking-changes): fix up workflow, update bash script
2022-01-20 10:20:32 +01:00
Dominik ProkopandOscar Kilhed 0a5771ee6b TimeSeries/BarChart/XYChart: Allow hiding x axis (#44107)
* TimeSeries/BarChart/XYChart: Allow hiding x axis

* Update public/app/plugins/panel/barchart/utils.ts

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>

* Migrations

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2022-01-20 00:38:32 -08:00
Dominik Prokop 9f0889c402 TablePanel: Makes footer not overlap table content (#44210) 2022-01-20 00:37:49 -08:00
Andres Martinez Gotor 46caa1af66 AzureMonitor: Request multiple pages of resource names (#44208) 2022-01-20 09:30:09 +01:00
Alexander EmelinandGleb Goncharov 239ead8d8e Fix WebSockets configuration for Nginx (#44148) (#44211)
Co-authored-by: Gleb Goncharov <gongled@gongled.ru>
2022-01-20 10:14:45 +03:00
Kyle Cunningham 6958de846c Accessibility Fixes for Several SQL Based Query Editors (#43981)
* Fix postgres QE a11y label issue

* Add aria-label to query-editor

* Remove unecessary element ID.

* Use aria-labeledby instead of aria-label

* Prefer aria-labelby with dynamic ids

* Prefer "for" over aria-labeledby

* Prefer "for" over aria-labeledby for MSSQL QE
2022-01-19 15:56:33 -06:00
Kyle Cunningham febc24522d Accessibility Fixes for Several SQL Based Datasource Config Pages (#43982)
* Add label elements for select boxes: MSSQL config

* Add Permission level label

* Add aria-label for password field

* Fixes for Postgres a11y page

* Fix whitespace error

* Swap aria-labelby for "for"

* Prefer "for" over aria-labeledby
2022-01-19 15:53:54 -06:00
Katarina Yang 61974383d7 Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in alert files (#43815)
* Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in alert files

* Fix: Revert second SaveAlerts back to normal func

* Refactor: Update tests so functions are now SQLStore methods

* Fix: Refactor pauseAlert and pauseAllAlerts to be SQLStore methods

* Fix: Refactor SaveAlerts to be SQLStore method

* Refactor: Update SaveAlerts func signature to have correct arguments

* Refactor: Define sqlStore

* Chore: Delete commented out code

* Chore: Remove unused SaveAlertsCommand
2022-01-19 19:25:52 +00:00
kosssi f6b385f0ca docs: Move password information on password smtp section (#42370)
*What this PR does / why we need it:*

The password information is on [enabled section](https://grafana.com/docs/grafana/latest/administration/configuration/#enabled), I move it on [password section](https://grafana.com/docs/grafana/latest/administration/configuration/#password-1).
2022-01-19 12:16:59 -05:00
Dimitris Sotirakis 27fbe82bf1 Remove test-release pipelines (#44220) 2022-01-19 16:42:40 +00:00
bf4c217b95 Serviceaccounts: refactor list using server admin page (#44122)
* refactor: use server admin listing serviceaccounts

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* setup route for specifc service account

* add routes to index

* main issue with spelling mistakes

* feat: make routes /serviceacconts/id for navModel

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Update pkg/services/serviceaccounts/manager/service.go

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2022-01-19 17:03:45 +01:00
9f97f05fcc DashboardSettings: Prevent Dashboard permissions from linking to folder permissions when user does not have sufficient permissions (#44212)
* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* add tests

* fix up

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2022-01-19 16:27:33 +01:00
Alexander Zobnin dc913f2311 Access control: fetch role options only if user has permissions (#44201)
* Access control: fetch role options only if user has permissions

* Fix org/users page
2022-01-19 16:15:52 +03:00
Dimitris Sotirakis 46280848d8 CI: Release automation fixes (#44200)
* Change bucket

(cherry picked from commit f7b85c5dd9)

* Make publish-packages depend on publish-artifacts pipeline

(cherry picked from commit 1c91e84f17)

* Change bucket for windows .msi installers

(cherry picked from commit 5ce49e48df)
2022-01-19 15:12:57 +02:00
Ashley Harrison d4d306d825 Dashboard: Prevent Mixed datasources using the test datasource crashing (#44128)
* Special case mixed datasources... :/

* Revert "Special case mixed datasources... :/"

This reverts commit dd0e3ea4a8.

* Ensure testdata persists datasource when switching scenario

* Add a unit test to prevent regressions

* kick drone
2022-01-19 13:04:35 +00:00
renovate[bot]andRenovate Bot 2c75b444c0 Update dependency ol to v6.12.0 (#43651)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 11:58:28 +00:00
Fredrik Enestad 93a8ce6292 Governance: Update Fredrik Enestad (#43871) 2022-01-19 11:52:48 +00:00
renovate[bot]andRenovate Bot 0f38afffe3 Update dependency mini-css-extract-plugin to v2.5.2 (#44069)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 11:47:13 +00:00
renovate[bot]andRenovate Bot 9bec3b34dc Update dependency axios to v0.25.0 (#44163)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 11:36:50 +00:00
renovate[bot]andRenovate Bot 527f1e8a84 Update typescript-eslint monorepo to v5.10.0 (#44134)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 11:35:38 +00:00
renovate[bot]andRenovate Bot 633da39d53 Update dependency rollup to v2.64.0 (#44053)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 11:34:21 +00:00
fc405ea9da AccessControl: Make Permissions component customizable (#43992)
* Setting default values for props

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Using table instead

Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
2022-01-19 12:19:46 +01:00
Ashley Harrison e9f8b40e18 Chore: remove e2e/build_results.zip and add to .gitignore (#44197) 2022-01-19 10:50:55 +00:00
Gabriel MABILLEandAlex Khomenko ba839d1f7c AccessControl: Refactor addAccessControlQueryParam (#44191)
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-01-19 11:27:45 +01:00
Agnès Toulet 99cdb56f72 Analytics: add experimentview events (#44120)
* Analytics: add experimentview event

* remove ref to feature-highlights

* Experimentview -> ExperimentView
2022-01-19 11:07:18 +01:00
Ashley Harrison 252645b330 Playlists: Enable sharing direct links to playlists (#44161)
* Special case mixed datasources... :/

* Hacky implementation of playlist share modal

* Refactor StartModal into PlaylistSettingsModal

* Revert "Refactor StartModal into PlaylistSettingsModal"

This reverts commit e71fc33865.

* Create new ShareModal component

* Revert "Special case mixed datasources... :/"

This reverts commit dd0e3ea4a8.

* PlaylistMode instead of PlaylistModes

* kick drone
2022-01-19 09:44:29 +00:00
J Guerreiroandeleijonmarck 7dab52869e ServiceAccounts: Add detail view of service account (#44164)
* ServiceAccounts: Add detail view of service account

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>

* ServiceAccount: Make detail view scopeID

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>

* ServiceAccount: fix lint error

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>
2022-01-19 10:23:46 +01:00
8917e66eb4 Fix kiosk bug (#43152)
* fix_kiosk_bug

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Sofia Papagiannaki <sofia@grafana.com>
2022-01-19 10:58:22 +02:00
Jeremy PriceandJ Guerreiro 6ae7b0c3b2 Accesscontrol: list tokens for service account (#43809)
* Add list tokens endpoint

* Update api.go

Co-authored-by: J Guerreiro <joao.guerreiro@grafana.com>
2022-01-19 09:55:38 +01:00
Christopher Moyer 449c608ef1 Docs/panel refactor (#43569)
* new refactored panel docs

* fixed links

* removed xtra sharing link, added links to panel display option tasks

* fixed typo

* add aliases

* incorporate PM feedback

* intermediate commit to resolve merge conflict

* final changes to resolve merge conflicts
2022-01-18 15:06:27 -06:00
Travis Patterson 959723050f Fix change to mixed bahavior (#44179)
- If the datasource is already set to mixed, don't change any queries in the editor
2022-01-18 13:54:51 -07:00
Nathan Rodman b98a1d79cf Alerting: mute timing improvements (#43940)
* mute timing table ui fixes

* add options for CTA to use link

* fix validation for time range
2022-01-18 10:46:36 -08:00
Andres Martinez Gotor fe46a5afe7 AzureMonitor: Scroll to selected resource in the resource picker (#43976) 2022-01-18 18:01:03 +01:00
54280fc9d7 AccessControl: Resolve attribute based scopes to id based scopes (#40742)
* AccessControl: POC scope attribute resolution

Refactor based on ScopeMutators

test errors and calls to cache

Add comments to tests

Rename logger

Create keywordMutator only once

* AccessControl: Add AttributeScopeResolver registration

Co-authored-by: gamab <gabriel.mabille@grafana.com>

* AccessControl: Add AttributeScopeResolver to datasources

Co-authored-by: gamab <gabriel.mabille@grafana.com>

* Test evaluation with translation

* fix imports

* AccessControl: Test attribute resolver

* Fix trailing white space

* Make ScopeResolver public for enterprise redefine

* Handle wildcard

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-01-18 17:34:35 +01:00
Grot (@grafanabot) 7a622422a9 ReleaseNotes: Updated changelog and release notes for 7.5.13 (#44173) 2022-01-18 18:33:58 +02:00
Dimitris Sotirakis 3d6c905eb8 Update latest.json (#44172) 2022-01-18 17:20:16 +01:00
Grot (@grafanabot) 978d6fd72b ReleaseNotes: Updated changelog and release notes for 8.3.4 (#44171) 2022-01-18 18:13:59 +02:00
Dimitris SotirakisandKevin Minehart c1ba0afdc7 GetUserInfo: Return an error if no user was found (#44169)
* return an error if no user was found

* Update database.go

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2022-01-18 17:03:16 +01:00
renovate[bot]andRenovate Bot 2048060df0 Update dependency react-calendar to v3.6.0 (#44121)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-18 07:10:11 -08:00
Shirley 75263ed7cc Use ids instead of aria-labels (#44012) 2022-01-18 14:31:51 +01:00
Karl Persson acb791bdd6 Disable select when permissions is not managed or if user does not have (#44144)
* Disable select when permissions is not managed
2022-01-18 12:45:14 +01:00
Dimitris Sotirakis 118cc0d735 Replace docker-puppeteer with the one in grafana dockerhub repo (#44145) 2022-01-18 12:23:21 +01:00
Javier Palomo bc74d44cee Circleci: remove unused config (#44136)
CircleCI is being triggered but there are no workflows being executed.
CI is driven by Drone.
2022-01-18 09:02:44 +00:00
Dominik Prokop 2561864767 Table panel: Migrate time series aggregation Current to Last not null, instead of last (#44113) 2022-01-18 00:34:56 -08:00
Andres Martinez Gotor 4e1c7e868e Cloudwatch: use the backend HTTP client provider (#44036) 2022-01-18 09:34:12 +01:00
Timur Olzhabayev fffd4c10b7 chore(checks): skip draft PRs (#43519)
* chore(checks): skip draft PRs for PR checks action
2022-01-17 19:16:33 +01:00
Josh Hunt 36983d8d3b Chore: Mark up User Profile page for translation (#43874)
* Mark up User profile page for translation

* Extract new messages

* updated selectors

* update selectors

* wip TestProvider

* update tests

* fix field labels

* extract new messages

* don't store date objects in redux state

* don't store date objects in redux state
2022-01-17 16:58:49 +00:00
malcolmholmes 6d072ad84d Split prepare-release (#44124) 2022-01-17 16:00:53 +00:00
Gabi Davar c4b345cfc4 Fix issue link (#42891) 2022-01-17 15:40:46 +00:00
malcolmholmes cc9cbb8fab Release: remove bump from prepare release action (#44111) 2022-01-17 15:18:13 +00:00
Alexander Zobnin 867ca5b59e Access control: Team role picker (#43418)
* Refactor: move fetching from role picker to parent component

* Make built in role props optional

* Initial team role picker

* Add role picker to the teams list

* Optimize fetching roles

* Add pagination for the teams page

* Fix tests

* Hide roles if access control not enabled

* Fix test snapshots

* Refactor: use useAsync() hook

* Refactor: simplify input component

* Move api calls to separate file

* Refactor: use useAsync() hook for user role picker

* Tweak role picker input width

* Fix pagination

* Update test snapshots

* Use loading state from useAsync() hook

* Fix roles label if no roles assigned
2022-01-17 18:04:54 +03:00
Jack Westbrookandachatterjee-grafana e888a40531 Plugins: Add notices to docs to prevent NPX commands from hanging (#44043)
* docs(plugins): add notice about npm 7 flag to prevent commands from hanging

* Apply suggestions from code review

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-01-17 15:58:36 +01:00
Erik Sundell 5ae5a2e0d0 Azure Monitor: Improved error messages for variable queries (#43213) 2022-01-17 15:51:56 +01:00
Erik Sundell 715166baf3 CloudMonitoring: Fixes broken variable queries that use group bys (#43914) 2022-01-17 15:51:24 +01:00
Piotr Jamróz 9fb8339f87 Elastic: Allow using long/int as date field for alerts (#44027)
* Use integers for time range filter

Previously it was passed as a string which is automatically converted by Elastic to a number only if the field type is "date". For other types (e.g. "long") such conversion doesn't work. In theory "date" could be passed as a formatted string but we don't use it this way and always pass it as a number so it is safe to always pass numbers, not strings.

* Fix time_series_query_test

* Retrigger build
2022-01-17 15:45:09 +01:00
Ivana Huckova e704110f74 Prometheus: Fix interpolation of $__rate_interval variable (#44035)
* Name fields based on targets length

* Remove rounding in rate interval variable replacing

* Refactor and fix edge  case when interval and time duration would be rate interval

* Add tests

* Remove , from test

* Revert "Name fields based on targets length"

This reverts commit 5dcb34a765.
2022-01-17 15:32:23 +01:00
Gilles De Mey bd9df4f829 Alerting: show deleted datasource (#43891) 2022-01-17 14:30:00 +01:00
William Assis f6b70e0a69 Dashboard save interaction evt (#43304) 2022-01-17 14:07:36 +01:00
Hugo Häggmark 4b4afc7b2c Chore: reduces circular dependencies for variables/utils.ts (#44087)
* Chore: move constants to own file

* Chore: moves safe* functions to grafana/data

* Chore: moves safe* functions to grafana/data

* Chore: adds VariableQueryEditorProps and deprecates VariableQueryProps

* Chore: remove getDefaultVariableAdapters function

* Chore: moves transaction status to types

* Chore: fix tests that do not initialise TemplateSrv

* Chore: change space when stringifying

* Chore: revert safe* func move

* Chore: remove circular dependency in Explore utils
2022-01-17 12:48:26 +01:00
Ashley Harrison aa00af8f2d Chore(CodeQL): Add noopener noreferrer to external links in email templates (#44092)
* Add noopener noreferrer to external links in email templates

* missed one...

* kick drone
2022-01-17 11:17:43 +00:00
Ashley Harrison c618339482 Export: Fix error being thrown when exporting dashboards using query variables that reference the default datasource (#44034)
* handle undefined datasources, add unit test

* slightly nicer
2022-01-17 10:21:13 +00:00
Will Browne a65ce992c1 fix delete plugin dashboard (#44055) 2022-01-17 10:33:42 +01:00
Karl Persson f75e4d1a4f Access Control: Allow signed in users access to GET data sources endpoints (#43338)
* remove scopes from endpoints and add datasources:read without scope to
the compatibility role
2022-01-17 10:16:12 +01:00
Eric Leijonmarck f763be8f0f small fix 🙏 (#44089) 2022-01-17 10:01:01 +01:00
renovate[bot]andRenovate Bot d4362ea5a8 Update dependency marked to v4.0.10 [SECURITY] (#44078)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-16 23:47:48 -08:00
ying-jeanne 7422789ec7 Remove Macaron ParamsInt64 function from code base (#43810)
* draft commit

* change all calls

* Compilation errors
2022-01-15 00:55:57 +08:00
ToTheMax bd8791aced Fixed broken links in documentation (#44044)
* Fixed broken link

* Fixed broken contribute documentation link

* Consistent relative contribute-folder url
2022-01-14 10:24:24 -05:00
Giordano Ricci 6b1321dbfa Elasticsearch: Fix QueryEditor styling issues (#44041) 2022-01-14 14:58:25 +00:00
Joker 3239c62a24 Explore: Support custom display label for exemplar links for Prometheus datasource (#42732)
* Add custom URL label, docs for prometheus exemplar
2022-01-14 14:52:00 +00:00
Giordano Ricci cb27c9cd6f Elasticsearch: Fix handling multiple datalinks for a single field (#44029) 2022-01-14 14:05:23 +00:00
Shirley 9f404daf9f Cloudwatch: Improve accessibility in metrics search and query builders (#43997)
* Add more aria labels on metrics search and query builders

* Use id for Input
2022-01-14 14:56:00 +01:00
Dimitris Sotirakis 9fc46b19e3 Update grabpl version to 2.8.4 (#44045) 2022-01-14 15:54:16 +02:00
Will Browne 7694fff0ef [WIP] Plugins: Refactoring backend initialization flow (#42247)
* refactoring store interface and init flow

* fix import

* fix linter

* refactor resource calling

* load with class

* re-order args

* fix tests

* fix linter

* remove old creator

* add custom config struct

* fix some tests

* cleanup

* fix linter

* add connect failure error

* remove unused err

* convert test over
2022-01-14 13:30:39 +01:00
7ffefc069f Variables: Handle variable cancellations better (#43987)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>>
2022-01-14 11:19:42 +01:00
11fa9801f2 AccessControl: Provisioning for teams (#43767)
* AccessControl: Provisioning for teams

* Docs: Add fixed role team assignment to full example

Co-authored-by: gamab <gabi.mabs@gmail.com>

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-01-14 10:28:06 +01:00
J GuerreiroandGabriel MABILLE 1e9818a69f Add usage stats preview endpoint (#43899)
* Stats: add preview route for usage statistics

* Stats: respect reporting settings

* Stats: add tests to api endpoint

* Stats: unregister route

* Stats: always possible to preview stats

* Update pkg/infra/usagestats/service/api.go

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-01-14 10:16:07 +01:00
Gábor Farkas bedc5cccaa prometheus: fix auto-inserting null-timestamps at the end (#44022) 2022-01-14 09:25:15 +01:00
Ryan McKinley f3dcfb2e3e Chore: update openlayers dependencies (#44019) 2022-01-13 22:32:13 -08:00
Ryan McKinley fd8baf5f7d Gazetteer: reactor so the source is a DataFrame (#43783) 2022-01-13 17:15:31 -08:00
Alexander Weaver c68eefd398 Alerting: Add abstraction layer and testing hooks in front of SMTP dialer (#43875)
* Add abstraction layer above SMTP communication

* Fix issues with attachments and sync command

* Tests for bad SMTP behavior

* Separate tests between async and sync entry points. Test difference between them

* Return interface so Wire can properly map types

* Address feedback from George
2022-01-13 15:19:15 -06:00
Yuriy Tseretyan 8114f6b065 Use stack trace context in XORM trace logger (#43780)
* add caller and stack Valuer functions
* Add WithPrefix and WithSuffix similar to what go-kit offers
* replace New with just `with`. Remove filter wrapper because the first argument of the context argument is not logger but additional context.
* update Xorm logger to use custom depth to display the datastore code instead of xorm
2022-01-13 13:30:28 -05:00
Nathan Marrs 54b120505e ValueMappings: support settings icons in field value mappings (#43942) 2022-01-13 10:06:40 -08:00
Emil TullstedtandJames Brown 25736b6afb Auth: implement auto_sign_up for auth.jwt (#43502)
Co-authored-by: James Brown <jbrown@easypost.com>
2022-01-13 17:15:22 +01:00
Ashley Harrison 45287b4129 Button: Only set pointer-events: none; on disabled LinkButtons (#44006) 2022-01-13 15:58:21 +00:00
Connor Lindsey 17f7f0dc93 Tempo: Update service graph linked queries from totals to rates (#43866)
* Tempo: Update service graph linked queries from totals to rates

* Interpolate server name and interval
2022-01-13 16:28:20 +01:00
Gilles De Mey 55ec05b560 Alerting: remove dead code (#43956) 2022-01-13 16:23:49 +01:00
274abf53ba Add copy-webpack-plugin to ignore list for now (#41965)
* Update dependency copy-webpack-plugin to v10

* Ignore copy webpack plugin for now

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-01-13 14:58:26 +01:00
Ezequiel Victorero 13223140ad Disable server stats buttons when user doesn't have permissions to access those links (#43603) 2022-01-13 10:42:09 -03:00
Karl Persson f999910dc6 Access control: Add access control sql filter to org user queries (#43961)
* Add access control SQL filter to org user queries
2022-01-13 14:40:32 +01:00
Eric Leijonmarck ccd9e46dda changed route on the serviceaccounts endpoint (#43989)
* changed route on the serviceaccounts endpoint

* refactor: change to base url variable

* tests fixed
2022-01-13 14:15:43 +01:00
Agnès Toulet 14b92b75c7 Docs: Update SAML settings (#43271)
* Docs: Update SAML settings

* update to follow implementation change

* update example SAML configuration
2022-01-13 14:04:02 +01:00
Dimitris Sotirakis 787d55fb2d Update grabpl version to 2.8.3 - modify commands (#43996) 2022-01-13 13:57:15 +02:00
Andres Martinez Gotor 0a17048316 Allow to bypass modal focus trap (#43974) 2022-01-13 12:55:54 +01:00
Gábor Farkas 4a88b8f66c Prometheus: add tests covering the prometheus-response to dataframes conversion (#43892)
* prometheus: add tests covering prometheus_response to grafana_dataframes

* fixed variable name

* added comment

* removed not-helping function call
2022-01-13 11:52:50 +01:00
kay delaney 01dd623daa UI/Plot: Implement keyboard controls for plot cursor (#42244) 2022-01-13 10:14:55 +00:00
Ashley HarrisonandJack Westbrook f74b21c119 Dependencies: downgrade typescript to 4.4.4 for now (#43970)
* Downgrade typescript to 4.5.2 for now

* Downgrade to 4.4.4 instead :(

* kick drone

* Update .github/renovate.json5

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-01-13 10:08:38 +00:00
Agnès Toulet a9dfd3a487 Docs: clean up image renderer dependencies and add ones for CentOS 8 (#41862)
* Docs: clean up image renderer dependencies and add ones for CentOS 8

* apply PR review feedback
2022-01-13 11:05:56 +01:00
Konrad Lalik c829535f14 Alerting: Fix the silence url's matcher parameters (#43898)
* Split silence matchers parameter into a separate entry for each label

* Unify the silence link creation

* Remove duplicated matchers when parsing to/from query params

* Add tests for matchers

* Add a comment with a duplication removal explanation

* Improve label duplication comment

* Remove redundant code

* Use uniqBy to simplify the code. Rename matchers parameter

* Fix Silence test data
2022-01-13 10:48:13 +01:00
Ashley Harrison 8f1468df6a only push default datasources to the list if they're not undefined (#43966) 2022-01-13 09:26:26 +00:00
renovate[bot]andRenovate Bot bf417be2e0 Update dependency sass to v1.48.0 (#43986)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-13 10:15:20 +01:00
Artur Wierzbicki e01ac44cfa Live: performance tests e2e part (#43915)
* #41993: live perf tests e2e part

* #41993: added bash upgrade instructions

* #41993: remove custom feature toggle

* #41993: fix typo in 'integrationFolder'
2022-01-12 22:15:29 +04:00
Dimitris Sotirakis 0c88b39162 Bug: Make e2e artifacts upload run at the end of the pipeline (#43962)
* Rename step

* Make e2e tests artifacts upload run even on failed e2e tests
2022-01-12 17:58:35 +02:00
Agnès Toulet 5eaaadd59d Tabs: add suffix prop for the tab name (#43869)
* Tabs: add suffix prop for the tab name

* Replace FC with JSX.Element
2022-01-12 15:37:16 +01:00
Shirley 105bf8fd94 Remove valid aggregation type check (#43955) 2022-01-12 15:36:56 +01:00
Victor Marin f881fd1637 Postgres/MySQL/MSSQL: Cancel in-flight SQL query if user cancels query in grafana (#43890) 2022-01-12 16:24:27 +02:00
Victor Marin f8b527b818 Build: Add MSSQL devenv for ARM64 processors (#43888)
* Build: Add MSSQL devenv for ARM64 processors

* Change docker image tag from latest to fixed version
2022-01-12 16:24:06 +02:00
Jeremy PriceandJ Guerreiro e894837b7e Accesscontrol: Remove service account creation code from addapikey (#43900)
* Remove service account creation code from addapikey
Co-authored-by: J Guerreiro <joao.guerreiro@grafana.com>
2022-01-12 15:18:57 +01:00
Eric Leijonmarck 6409e761b5 List serviceaccounts (#43672)
* Serviceaccounts: feat - tabview for serviceaccounts

* WIP

* feat: listing all service accounts

* refactor: needed to remove showInvitees as not present in serviceaccounts

* add token column in the list

* add token to orgserviceaccount

* Update pkg/services/serviceaccounts/api/api.go
2022-01-12 13:23:00 +01:00
Marcus Efraimsson c1a9a36bd2 Chore: Add PR Check action enforcing backport decision (#43916)
Ref https://github.com/grafana/grafana-github-actions/pull/53
Ref https://github.com/grafana/grafana-release/issues/60
2022-01-12 13:09:25 +01:00
King Muji 48ea36630d fix: typo (#43948) 2022-01-12 14:03:56 +02:00
Dimitris Sotirakis 634ce4a98e Update grabpl version to 2.8.2 (#43949) 2022-01-12 13:07:29 +02:00
Hugo Häggmark 7f8f9eb814 Variables: Fix so data source variables are added to adhoc configuration (#43881) 2022-01-12 12:05:42 +01:00
renovate[bot]andRenovate Bot 0fd8f5de44 Update dependency webpack to v5.66.0 (#43944)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-12 11:28:25 +01:00
Giordano Ricci afd110309c Elasticsearch: fix a11y issues in datasource settings (#43706) 2022-01-12 09:19:10 +00:00
Ivana Huckova c8ef541c02 Name fields based on targets length (#43832) 2022-01-12 10:13:52 +01:00
Ryan McKinley 7e5e3f9dc0 FeatureToggles: typed as optional booleans (#43925) 2022-01-11 16:18:54 -08:00
59bda131ec Alerting: [Docs] Clarifications regarding what's supported in alerting message templates (#43544)
* Clarify docs for alerting templates

* Fix template cross-reference

* Add a single missing delimiter

* Update docs/sources/alerting/unified-alerting/message-templating/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/alerting/unified-alerting/message-templating/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/alerting/unified-alerting/message-templating/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/alerting/unified-alerting/message-templating/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Address various points of docs feedback

* Update docs/sources/alerting/unified-alerting/message-templating/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/alerting/unified-alerting/message-templating/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/alerting/unified-alerting/message-templating/_index.md

Co-authored-by: Yuriy Tseretyan <tceretian@gmail.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Yuriy Tseretyan <tceretian@gmail.com>
2022-01-11 14:16:04 -06:00
Dimitris Sotirakis ee0a30c8c2 Update grabpl version to 2.8.1 (#43902) 2022-01-11 20:53:40 +02:00
Karl PerssonandDominik Prokop e2de1c1ec4 Service Accounts: Fix issue in UserTable and ServiceAccountsTable (#43865)
* fix issue where ServiceAccountsTable rendere delete modal
for every item in list

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-01-11 18:51:24 +01:00
1966eba796 Chore: Add some e2e tests for repeating behaviour (#43457)
* user essentials mob! 🔱

* user essentials mob! 🔱

* WIP: Mob session work 🚧 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* mob next [ci-skip] [ci skip] [skip ci]

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* :construction:: Mob session work 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* Move repeats suite under dashboard suite

* remove these generated files

* move repeats-suite into dashboards-suite

* Reexport dashboard jsons from play and update them

* :construction:: Mob session work 🔱

* :construction:: Mob session work 🔱

* Rename dashboards to work with stripnulls

* Run stripnulls

* Add repeat to row schema

* Clean up the rest of the repeating dashboards

* Fix tooltip sorting

* Update older dashboards

* Update golden files so tests pass

* format this to ensure consistent tabs/spaces

* undo whitespace changes

* Update scripts/stripnulls.sh

Co-authored-by: sam boyer <sam.boyer@grafana.com>

* update schema versions and test

Co-authored-by: thisisobate <obasiuche62@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: sam boyer <sam.boyer@grafana.com>
2022-01-11 16:47:30 +00:00
Josh Hunt 7ea951b35d Chore: Use ReactNode type for Field error prop (#43852)
* Chore: Use ReactNode type for Field error prop

* add LoadingPlaceholder
2022-01-11 16:45:14 +00:00
Sofia Papagiannaki 963ae4ef87 API: Fix storing dashboard with static UID (#43861)
* API: Fix storing dashboard with static UID
2022-01-11 18:39:53 +02:00
Yuriy Tseretyan ed5c664e4a Alerting: Stop firing of alert when it is updated (#39975)
* Update API to call the scheduler to remove\update an alert rule. When a rule is updated by a user, the scheduler will remove the currently firing alert instances and clean up the state cache. 
* Update evaluation loop in the scheduler to support one more channel that is used to communicate updates to it.
* Improved rule deletion from the internal registry. 
* Move alert rule version from the internal registry (structure alertRuleInfo) closer rule evaluation loop (to evaluation task structure), which will make the registry values immutable.
* Extract notification code to a separate function to reuse in update flow.
2022-01-11 11:39:34 -05:00
Marcus Efraimsson f6414ea2b2 CodeQL: Try to fix uncontrolled data used in path expression (#43462)
Ref #43080
2022-01-11 17:37:58 +01:00
Dominik Prokop 2a766c6a04 UsersTable: Render remove modal only once (#43885)
* UsersTable: Render remove modal only once

* Formatting cleanup

* Snaps update
2022-01-11 16:27:48 +01:00
renovate[bot]andRenovate Bot e4140065d2 Update dependency html-loader to v3.1.0 (#43829)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 15:19:43 +00:00
renovate[bot]andRenovate Bot a8116a92e3 Update dependency http-server to v14.1.0 (#43873)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 15:19:06 +00:00
renovate[bot]andRenovate Bot b4564770bf Update dependency eslint-plugin-jsdoc to v37.6.1 (#43831)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 15:14:31 +00:00
Andreas Fitzek 58408f31ab Fix typo in contact-points documentation (#43883)
Fixes a typo in contact-points documentation, `mesasges` => `messages`
2022-01-11 09:33:37 -05:00
Dimitris Sotirakis 4f47832bac CI: Automate Grafana releases (#43897)
* CI: Automate releases

* Update grabpl version
2022-01-11 16:28:29 +02:00
Karl Persson 8271bc73f9 Update docs for ds permissions access control permisisons (#43346) 2022-01-11 14:52:33 +01:00
lean.dev 79bf0fc3d1 Fixing login request in loadtest (#43750) 2022-01-11 10:35:02 -03:00
Andrej Ocenas 8b45eb1161 TraceView: Refactor theming to use Grafana theme directly (#43856)
* Use grafana theme and utils

* Use grafana colors

* Fix tests

* Use useStyles2
2022-01-11 13:34:39 +01:00
dependabot[bot] 44cca3e4c1 Bump actions/setup-node from 2.4.1 to 2.5.1 (#43570)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.4.1 to 2.5.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.4.1...v2.5.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-11 12:15:50 +01:00
dependabot[bot] 6435222d82 Bump actions/cache from 2.1.6 to 2.1.7 (#42176)
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.6...v2.1.7)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-11 12:14:37 +01:00
Ieva a06564fb0d Access control: allow granting a fixed role dynamically based on the startup settings (#43867)
* allow granting a fixed role dynamically depending on startup config

* move role definition for team writing

* undo test changes

* nicer naming
2022-01-11 11:58:40 +01:00
Dimitris Sotirakis f60a2e8152 Chore: Split release pipelines (#43419)
* Split release pipelines

* Re-add pr and main pipelines
2022-01-11 09:17:00 +00:00
Peter Holmberg fc037e1798 Alerting: Add delete to rule edit (#43673) 2022-01-11 09:46:21 +01:00
Artur Wierzbicki 3ca3b7f432 fix query over live error - getQueryData should wait for centrifuge to initialize (#43880) 2022-01-11 10:07:08 +04:00
Ryan McKinley 6b70e1af76 BarChart: show x tick picker (#43510) 2022-01-11 00:12:33 +01:00
Isabella Siuandachatterjee-grafana 5e7804f466 CloudMonitoring: separate out google auth docs (#43481)
* CloudMonitoring: separate out google auth docs

* Apply suggestions from code review

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* docs team changes

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-01-10 16:44:38 -05:00
Ievaandgamab 41b709d08d Access control: permissions for team creation (#43506)
* FGAC for team creation

* tests

* fix snapshot for UI tests

* linting

* update snapshots

* Remove unecessary class and update tests

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

* Make the condition slightly easier

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>

Co-authored-by: gamab <gabi.mabs@gmail.com>
2022-01-10 17:05:53 +00:00
Katarina Yang 5bab02c7ef Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactional… (#43823)
* Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in user files

* update milesone
2022-01-10 11:28:41 -05:00
Ryan McKinleyandArtur Wierzbicki b404aae9c3 Crawler: use existing render service to generate dashboard thumbnails (#43515)
Co-authored-by: Artur Wierzbicki <artur@arturwierzbicki.com>
2022-01-10 08:21:35 -08:00
kay delaney cc9e70be5c Tags: Make Tags component more a11y-friendly (#43808) 2022-01-10 15:41:19 +00:00
renovate[bot]andRenovate Bot d1a94c1fa2 Update dependency react-dropzone to v11.5.1 (#43844)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 16:36:02 +01:00
Connor Lindsey ef12028a68 Tempo: Add time range to tempo search query behind a feature flag (#43811) 2022-01-10 07:38:40 -07:00
Connor Lindsey 3d6e9076c9 Tempo: Provide tag value completion items consistently (#43773) 2022-01-10 07:37:35 -07:00
Marcus Olsson 2b967c4c55 Add plugin publishing and signing criteria (#40154) 2022-01-10 15:32:11 +01:00
Ashley Harrison 77347a37b1 Add tests to ensure infinite value mappings work (#43858) 2022-01-10 14:16:07 +00:00
Karl PerssonandEmil Tullstedt d350ed0f35 Access Control: SQL filter (#43560)
* Add the accesscontrol sql filter utility

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-01-10 14:26:57 +01:00
Andrej Ocenas dcd4e74c54 Explore: Don't change query status to Done if there was Error (#43850) 2022-01-10 13:44:51 +01:00
Marcus Olsson 1141df7b9b Update Add support for annotations (#43851) 2022-01-10 13:35:09 +01:00
Gilles De Mey 7b841c7947 Alerting: run validation before testing contact point (#43721) 2022-01-10 13:28:36 +01:00
Gilles De Mey be61f192c8 Alerting: add support for absolute URLs in ActionIcon (#43367) 2022-01-10 13:11:43 +01:00
Karl Persson 0003bf7cc2 AzureAD OAuth: Add support for fetching user groups (#43470)
* Add functionallity to extractGroups to handle groups-overage claims
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-01-10 11:50:10 +01:00
Andres Martinez Gotor de4ac8ae59 AzureMonitor: Filter list of resources by resourceType (#43522) 2022-01-10 11:22:06 +01:00
Dominik Prokop 1a0f5595c3 TimeSeries/BarChart: Add support for sorting series in the tooltip (#43615)
* TimeSeries panel: Add support for sorting series in the tooltip

* Fix cue tests

* Make sortValues work with string values

* Sort values in DatHoverView and remove sort index from TooltipPlugin

* Rename sortOrder prop to sort

* DataHoverView - use raw values for sorting
2022-01-10 10:32:21 +01:00
Dominik Prokop 4b814dbcea TimeSeries: Separate field unit config for axis ticks and other display means when stacking by percent (#43713) 2022-01-10 01:18:56 -08:00
renovate[bot]andRenovate Bot 737bc35219 Update dependency sass to v1.47.0 (#43825)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 10:12:17 +01:00
Sofia Papagiannaki e25613a360 Update CODEOWNERS for SQL data sources (#43456) 2022-01-10 10:03:44 +01:00
Hugo Häggmark 9d11c9153f Variables: Fix for flickering repeat panels (#43447)
* Variables: Fix for flickering repeat panels

* Refactor: updates after PR comments
2022-01-10 06:41:18 +01:00
Dan Cech 34f757ba5a switch to using featureEnabled for enterprise features (#41559)
* switch to using featureEnabled for enterprise features
2022-01-07 15:11:23 -05:00
Travis Patterson 9eb82f9fff Propagate all headers (#43812)
* Propagate all headers

* stable header order
2022-01-07 12:45:26 -07:00
Ryan McKinley 546818819b Loki: use queryType rather than range|instant flags (#43727) 2022-01-07 10:00:11 -08:00
Nathan Rodman 0dd88d9480 only show datasources that support alerting in query editor (#43776) 2022-01-07 09:27:20 -08:00
Ryan McKinley 8cf63a9d44 Chore: convert settings page to function component (#43731) 2022-01-07 17:59:14 +01:00
Katarina Yang a30ca86084 Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactional… (#43772)
* Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in dashboard

* Fix: Fix failing lint and BE tests
2022-01-07 17:50:59 +01:00
a29ddfd386 Update Monthly patch updates (#43798)
* Update Monthly patch updates

* remove lodash and mousetrap type updates

* Remove slate types upgrade

* Update storybook versions in yarnrc

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-07 16:33:26 +00:00
idafurjes 3ca58c0e0c Chore: Upgrade go and alpine (#43801)
* Upgrade go and alpine

* Bump grabpl version

* Bump alpine version

* Fix version of grabpl

* Bump alpine version

* Bump alpine in Dockerfiles
2022-01-07 17:27:22 +01:00
David a08e0581de Hotkeys: Make time range permanent (#43802)
Typing `t a` in Explore or Dashboards will turn a relative time like "Last 1 hour"
into an absolute range to make the URL permanent, so that when sharing it others
will see the same data.

- registered `t a` in key service
- new `AbsoluteTimeEvent` dispatch via global event bus
- dashboard times handled in TimeSrv
- Explore times handled in Explore.tsx and Explore's time reducer

I could not find an easy way to combine time handling for Exlore and Dashboard in one place.
2022-01-07 16:51:29 +01:00
Dimitris Sotirakis 79d10c6903 Add packages:publishPrevious command (#43800) 2022-01-07 16:19:58 +02:00
machinly 36626554be Prometheus: annotation: fix only first frame was process error & typo. (#43486) 2022-01-07 15:04:30 +01:00
Sebastião Beirão 720d2487fa Units: Fixed VAr (Volt-Ampere reactive), VA and kVA capitalization (#43779)
* Fixed VAr unit casing

* Fixed VAr unit casing

* Fixed VAr unit casing

* Fixed categories.ts file extension

* Fixed VA and kVA capitalization

* Fixed VA, kVA and kVAr capitalization.
2022-01-07 13:56:55 +00:00
kay delaney 36e4a871f2 UI/ClipboardButton: Remove ClipboardJS in favor of native Clipboard API (#42996)
* UI/ClipboardButton: Remove ClipboardJS in favor of native Clipboard API
Closes #42365

* Add backwards compatibility
2022-01-07 13:41:09 +00:00
idafurjes 4eacdf5f9e Upgrade go version to 1.17.6 (#43797) 2022-01-07 14:09:19 +01:00
Joan López de la Franca Beltran 532e71554f Usage Stats: Add metrics to count enabled kms providers per kind (#43640)
* Usage Insights: Add metrics to count enabled kms providers per kind

* Add backwards compatibility
2022-01-07 13:52:28 +01:00
Timur Olzhabayev e2dcfbf916 docs(static): add plugin submission how-to (#43576) 2022-01-07 13:43:41 +01:00
Selene 32ed680fc2 Team Guardian: Refactor it to remove the bus dependency (#43058)
* Refactor team guardian to avoid to use bus

* Fix lint

* Fix lint
2022-01-07 13:38:00 +01:00
Ashley Harrison f2336fd981 Need to add a group name to ensure they're batched correctly (#43796) 2022-01-07 12:32:09 +00:00
Emil Tullstedt fdd196a627 Datemath: Remove unused functions (#43665) 2022-01-07 12:53:31 +01:00
Ashley Harrison 1fe098ecd2 Enable patch updates in renovate (#43795) 2022-01-07 11:27:23 +00:00
renovate[bot]andRenovate Bot f074ab8774 Update typescript-eslint monorepo to v5.9.0 (#43793)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 10:43:13 +00:00
renovate[bot]andRenovate Bot 125438946f Update sentry-javascript monorepo to v6.16.1 (#43792)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 10:37:59 +00:00
renovate[bot]andRenovate Bot d1c2b1c500 Update react monorepo (#43787)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 10:09:54 +00:00
renovate[bot]andRenovate Bot 38f7dd2714 Update dependency prismjs to v1.26.0 (#43785)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 10:00:53 +00:00
Zoltán Bedi 85246d7179 Postgres: Fix test datasource always returns success (#43762) 2022-01-07 10:39:25 +01:00
Nicholas Bowman 20574c130a PostgreSQL: include numeric column type in Query Builder metaquery (#43445)
* Plugins: Change the PostgreSQL plugin to include more column types in Query Builder metaquery

Originally, the metaquery used in the PostgreSQL plugin to populate the
column dropdown menu in the Query Builder UI only included integer- and real-typed
columns. This change expands the list of acceptable types for plotting to
include numeric columns, boolean columns, and textual columns, as all are
types that could feasibly be desired to plot in a panel.

* Update types tracked in meta query builder

Removed the `boolean` and `text` types, but retained addition of `numeric` type as part of time series query builder.
2022-01-07 10:32:46 +01:00
Torkel Ödegaard 5b02e8a666 Table: Fixes issue with field config applied to wrong fields when hiding columns (#43376)
* Table: Fixes issue with field config applied to wrong fields when hiding columns

* Minor refactoring

* Fixing comment

* Rename to field

* Forgot to save test file
2022-01-07 10:32:04 +01:00
Dimitris Sotirakis beba5958a4 Remove duplication (#43694) 2022-01-07 11:23:17 +02:00
renovate[bot]andRenovate Bot 7917c04883 Update emotion monorepo (#43768)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 09:21:04 +00:00
renovate[bot]andRenovate Bot 3c28bd9fa2 Update dependency whatwg-fetch to v3.6.2 (#43764)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 09:19:06 +00:00
renovate[bot]andRenovate Bot 3d98981bfb Update dependency webpack-dev-server to v4.7.2 (#43763)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 09:18:30 +00:00
kay delaneyandAshley Harrison e7f1e11229 Modal: Fix restore focus behavior (#43749)
* Modal: Fix restore focus behavior

* Use OverlayContainer

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-07 09:00:55 +00:00
Timur Olzhabayev 8717bc7ef4 fix(40639): datasource should not be visible after uninstall (#43625)
* fix(40639): datasource should not be visible after uninstall
2022-01-07 09:54:02 +01:00
Yuriy Tseretyan ea478dec22 Alerting: Remove bridge between log15 and go-kit logger (#43769)
* remove bridge between log15 and go-kit logger.

* fix tests
2022-01-07 09:40:09 +01:00
MaukWMandachatterjee-grafana faca526c16 Fixed incorrect link to text panel page (#43757)
"Text panel" was linking to the "alert list panel" page: (https://grafana.com/docs/grafana/latest/visualizations/alert-list-panel/). This change should map it to the correct page now (https://grafana.com/docs/grafana/latest/visualizations/text-panel/).

Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
2022-01-06 15:15:44 -05:00
Ryan McKinley 964dae9872 Open Chore: remove graph(NG) from storybook (#43735) 2022-01-06 09:30:04 -08:00
Katarina Yang 7f8daa0eae Refactor: Change sqlstore.inTransaction to .WithTransactionalDBSession (#43245)
* Refactor: Change sqlstore.inTransaction(...) to SQLStore.WithTransactionalDBSession(...) in alert_notification.go

* Chore: Fix BE lint err

* fix: fix failing sqlstore nil error

* chore: remove unecessary setup()

* fix: use appropriate ctx
2022-01-06 18:21:39 +01:00
846c6ce758 Update dependency typescript to v4.5.4 (#43756)
* Update dependency typescript to v4.5.4

* Changes needed to support new TypeScript version

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-06 16:16:13 +00:00
kay delaneyandTorkel Ödegaard 890c43adf1 UI/Card: Refactor Card component for improved accessibility (#41890)
* UI/Card: Improve accessibility of Card component

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-01-06 15:48:12 +00:00
renovate[bot]andRenovate Bot d55d2d3da7 Update dependency webpack to v5.65.0 (#43761)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 15:26:35 +00:00
renovate[bot]andRenovate Bot c2859b16fc Update dependency underscore to v1.13.2 (#43760)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 15:22:25 +00:00
renovate[bot]andRenovate Bot bb7df6eb77 Update dependency ts-jest to v27.1.2 (#43755)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 14:43:23 +00:00
ying-jeanneandYuriy Tseretyan a8eef45a44 Logger migration from log15 to gokit/log (#41636)
* migrate log15 to gokit/log

* fix console log

* update some unittest

* fix all unittest

* fix the build

* Update pkg/infra/log/log.go

Co-authored-by: Yuriy Tseretyan <tceretian@gmail.com>

* general type vector

* correct the level key

Co-authored-by: Yuriy Tseretyan <tceretian@gmail.com>
2022-01-06 22:28:05 +08:00
Travis PattersonandTodd Treece 8898a5f0a0 Add record-audio icon for recorded queries (#43734)
* Add record-audio icon for recorded queries

* add record-audio icon to iconBundle

Co-authored-by: Todd Treece <todd.treece@grafana.com>
2022-01-06 07:15:50 -07:00
Connor Lindsey 1a7567d8c7 Tempo: Filter available service graph filter values to most relevant options (#43728)
* Restrict service graph filter tag values to labels from service graph metrics
2022-01-06 07:09:31 -07:00
renovate[bot]andRenovate Bot cb34c47123 Update dependency testing-library-selector to v0.2.1 (#43752)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 13:55:47 +00:00
Giordano Ricci 0013eb3555 Input: Fix margins when not using prefix/suffix (#43726) 2022-01-06 14:27:27 +01:00
kay delaney c8e7368ea6 ColorPicker: Makes tab order left to right (#43745) 2022-01-06 13:19:42 +00:00
renovate[bot]andRenovate Bot 9dfbab2e03 Update dependency terser-webpack-plugin to v5.3.0 (#43751)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 13:13:17 +00:00
Ashley Harrison 6a558582d5 Fix deprecated sass (#43753) 2022-01-06 13:09:52 +00:00
renovate[bot]andRenovate Bot 2550baba3e Update linguijs monorepo to v3.13.0 (#43748)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 12:22:25 +00:00
renovate[bot]andRenovate Bot 58f3a7764d Update dependency stylelint to v14.2.0 (#43747)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 12:01:33 +00:00
Uchechukwu Obasi c28f913168 TimePicker: fixes focus to restore when closing calendar on narrow screen (#43746) 2022-01-06 12:28:09 +01:00
renovate[bot]andRenovate Bot c47d33f4b7 Update dependency search-query-parser to v1.6.0 (#43741)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 11:23:08 +00:00
renovate[bot]andRenovate Bot 3261772a15 Update dependency sass to v1.46.0 (#43740)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 11:22:47 +00:00
Levente Balogh aeddfb0506 Github Actions: another fix for the levitate workflow (#43742)
* fix: add col number to the link to work correctly

If we don't provide the position in a #step:{line}:{column} format
then the Github UI won't take us to the correct step.

* fix: escape the backtick ("`") characters properly
2022-01-06 12:02:45 +01:00
J Guerreiro 6bbf85e2e9 AccessControl: verify metadata map is not null (#43743) 2022-01-06 11:54:51 +01:00
Ashley Harrison c87b048af8 Login: Prevent page overflowing on mobile (#43739) 2022-01-06 10:34:13 +00:00
renovate[bot]andRenovate Bot fdc054c0a4 Update dependency sass-loader to v12.4.0 (#43725)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 10:33:54 +00:00
renovate[bot]andRenovate Bot b735296524 Update dependency reselect to v4.1.5 (#43709)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 10:10:36 +00:00
renovate[bot]andRenovate Bot 34cfcbb33a Update dependency @rushstack/node-core-library to v3.45.0 (#43724)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 10:07:44 +00:00
Travis Patterson 20b3b2a448 Forward oauth tokens after prometheus datasource migration (#43686)
* create the prom client

* implement lru cache of prometheus clients based on auth headers

* linter
2022-01-05 13:55:55 -07:00
Andrej Ocenas 88d17c4998 Tempo: Don't show error when running query without traceId (#43676)
* Check for traceId and return EMPTY observable if no value

* Make sure we change status on complete

* Add tests

* Fix test
2022-01-05 19:34:09 +01:00
Piotr Jamrózandkay delaney bac9253fdc A11y: Fix a11y issues in OpenTSDB (#43714)
* Fix a11y issues in OpenTSDB configuration page

* Fix a11y issues in OpenTSDB editor

* Link labels to inputs where possible

Co-authored-by: kay delaney <kay@grafana.com>
2022-01-05 19:28:28 +01:00
Nathan Rodmanandachatterjee-grafana 825edddfb6 Alerting: UI for mute timings (#41578)
* wip: add form inputs for creating mute timing

* form for mute timings

* add action for submitting config

* fix bug in payload

* add table for viewing mute timings

* remove mute timing from routes when deleted

* attach mute timing to route

* edit a mute timing

* use field array for multiple intervals

* Add confirmation modal for deleting mute timing

* add default values to form inputs

* fetch am config prior to renderring form

* validation for mute timing fields

* fix tests

* tests for mute timing form

* small ui fixes for the form and table

* pass mute name as query param

* make time fields inline

* fix validation for an existing alert and overwrite on edit

* rename mute timing in routes on edit

* fix validation for time inputs

* make time interval its own component

* add descriptions for mute timings

* refactor time interval parsing functions

* fix linting and tests

* refactor makeAmLink

* docs for mute timings

* reorganize docs and add intro for mute timings

* doc review edits

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* run prettier

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-01-05 10:16:43 -08:00
Ryan McKinley e77b4abcc8 StreamingDataFrame: support legend format and prometheus style labels (#43637) 2022-01-05 08:56:23 -08:00
renovate[bot]andRenovate Bot b07bd55343 Update dependency sass to v1.45.2 (#43719)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 16:39:32 +00:00
Gabriel MABILLEandJ Guerreiro 92c568e9f7 AccessControl: Remove unused error from GetResourcesMetadata (#43710)
* AccessControl: Remove unused error from GetResourcesMetadata

Co-authored-by: J Guerreiro <joao.guerreiro@grafana.com>
2022-01-05 17:24:14 +01:00
b4204628e4 Live: optionally send queries over websocket connection (#41653)
Co-authored-by: ArturWierzbicki <artur.wierzbicki@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-01-05 08:02:12 -08:00
renovate[bot]andRenovate Bot bfecbdc0bd Update dependency rxjs to v7.5.1 (#43718)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 15:53:40 +00:00
Alexander Weaver fd583a0e3b Alerting: Allow customization of Google chat message (#43568)
* Allow customizable googlechat message via optional setting

* Add optional message field in googlechat contact point configurator

* Fix strange error message on send if template fails to fully evaluate

* Elevate template evaluation failure logs to Warn level

* Extract default.title template embed from all channels to shared constant
2022-01-05 09:47:08 -06:00
Ashley Harrison b826804ef7 Hide previews behind toggle properly (#43704) 2022-01-05 15:28:03 +00:00
renovate[bot]andRenovate Bot 9e5a7b056c Update dependency rollup to v2.63.0 (#43711)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 14:58:56 +00:00
renovate[bot]andRenovate Bot 369a940f85 Update dependency redux-thunk to v2.4.1 (#43708)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 14:41:02 +00:00
Eric Leijonmarck 0aa905bb1f Serviceaccounts: feat - tabview for serviceaccounts (#43573) 2022-01-05 15:32:38 +01:00
Torkel Ödegaard 5c88acd5aa ImportDashboard: Fixes issue with importing dashboard and name ending up in uid (#43451)
* ImportDashboard: Fixes issue with importing dashboard and name ending up in uid

* Added unit test

* fixing import issue
2022-01-05 15:20:32 +01:00
renovate[bot]andRenovate Bot 64248edbb0 Update dependency recompose to v0.30.0 (#43705)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 14:00:08 +00:00
renovate[bot]andRenovate Bot 9280894e8c Update dependency react-use to v17.3.2 (#43702)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 13:52:54 +00:00
renovate[bot]andRenovate Bot e49177b338 Update dependency react-moveable to v0.30.3 (#43674)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 13:51:38 +00:00
e236c6942b Update dependency moveable to v0.27.3 (#43365)
* Update dependency moveable to v0.27.3

* Update yarnrc

* can remove react-simple-compat now

* update yarnrc

* commit lockfile change

* add react-simple-compat to react-compat-moveable

* lockfile changes...

* add react-simple-compat resolution

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-05 13:06:27 +00:00
Uchechukwu Obasi 62d44fcffc InfoTooltip: refactor component to be accessible (#43613)
* InfoTooltip: refactor component to be accessible

* new: create ghostMode prop to allow turning on/off button styles

* update infoToolTip component to use ghostMode prop

* update story to show ghostMode state

* fix condition to work properly

* nit fix

* revert changes to former infoTooltip state

* InfoTooltip: use iconButton instead to achieve keyboard a11y

* fix minor type nit
2022-01-05 13:36:13 +01:00
8dc4c23a89 Update dependency jquery to v3.6.0 (#43348)
* Update dependency jquery to v3.6.0

* Handle type changes

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-05 11:08:13 +00:00
Ivana Huckova d7d6c10664 Prometheus: Fill missing steps with null values (#43622)
* Prometheus: Add empty points when data points missing

* Remove newline

* Add comments

* Improve/Fix test

* Remove unused variable
2022-01-05 11:40:32 +01:00
Dimitris Sotirakis 3625c617fa Add packages:publishTest command (#43696) 2022-01-05 10:53:46 +01:00
MeetzhDing 9c67ce77d8 Transformations: groupBy transformation now preserves data order (#43584)
* fix: groupBy transformers keep the order of numeric keys

* fix: groupBy transformers keep the order of numeric keys
2022-01-05 09:49:15 +00:00
Oscar Kilhed 1d20c82c7b PieChart: Respect percent labels and legends decimal setting (#43693) 2022-01-05 10:24:43 +01:00
Gilles De Mey 837925390f fix: pass OrgId to alertNotification model (#43678)
fixes #43214
2022-01-05 10:19:45 +01:00
J Guerreiro 056e143664 AccessControl: Present user edit actions according to AC metadata (#43602)
* AccessControl: Add user metadata to user detail view

* AccessControl: Do not present delete or disable buttons based on ac metadata in admin/users

* AccessControl: do not allow password changing or user editing without permission

* AccessControl: Fetch global:users scope for admin

* AccessControl: optimize org.user metadata fetch

* Chore: early return if ac metadata is not available
2022-01-05 09:59:17 +01:00
Shirley ba58b34219 CloudWatch: a11y: Add missing aria labels on explore metrics/logs editor (#43580)
* CloudWatch: a11y: Add missing aria labels on explore metrics/logs editor
2022-01-05 09:46:05 +01:00
achatterjee-grafana a9ad7d3c03 Add note for Cloud users. (#43689) 2022-01-04 17:20:42 -05:00
Christopher MoyerandFiona Artiaga e1ad692cb3 docs: contributing updates (#41836)
* contributing updates first draft

* ran yarn prettier

* updated links

* removed test xref

* Update contribute/documentation/README.md

Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>

Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
2022-01-04 16:14:32 -05:00
kay delaney e4c84003fb Docs: Add info about yarn pnp to developer guide (#43653)
* Docs: Add info about yarn pnp to developer guide

* Add missing space
2022-01-04 17:11:56 +00:00
Ryan McKinley b09d498484 Import: fix dashboard imports with expressions (#43630) 2022-01-04 08:42:18 -08:00
238345b62d docs: aws marketplace license activation (#43466)
* initial draft

* role creation prereq

* separate ecs and eks docs

* update ECS steps

* reword ecs instructions

* spacing

* remove spaces to make a hyperlink work

* added aws marketplace content

* update enterprise configuration

* add detail to deploy outside of aws

* improve outside of aws config

* minor addition

* update region syntax

* Update docs/sources/enterprise/license/_index.md

* typo

* Update EKS docs with detailed instructions

* Add task to setup ECS for high-availability

* Fix AWS_REGION environment variable

* final review and changes

* section landing page tweak

* Update docs/sources/enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws.md

Co-authored-by: Guilherme Caulada <guilherme.caulada@grafana.com>

* fixed links, changed db parameters to placeholder values

* copy edits

* copy updates

* Fix typos pointed out by codespell

* Fix prettier issue on EKS documentation

Co-authored-by: Mitchel Seaman <mitchel.seaman@gmail.com>
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: Guilherme Caulada <guilherme.caulada@grafana.com>
2022-01-04 09:22:33 -07:00
Uchechukwu Obasi 8aa496dfb4 BarGuage: Fixes vertical view flip and bar misalignment when used with datalinks (#43655)
* BarGauge: fix vertical view flip issue

* fix bar misalignment in vertical and horizontal orientations

* add test to prevent bar misalignment in the future
2022-01-04 17:21:29 +01:00
Ashley Harrison c509c32091 Remove height/width to fix safari issue (#43668) 2022-01-04 15:55:34 +00:00
Connor Lindsey 2aad6e57c0 NodeGraph: Fix empty state to display 'No Data' message (#43633)
* Fix "0" when no nodes present in NodeGraph

* Show no data message in NodeGraph

* Fix tests
2022-01-04 08:45:00 -07:00
renovate[bot]andRenovate Bot c302552714 Update dependency react-colorful to v5.5.1 (#43657)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 15:14:25 +00:00
Jure Stepišnik 71b7df09fc fix(time series): first point in a series can show context menu on click (#43344) 2022-01-04 11:49:07 -03:00
Jeremy Price 42ccc44eca Accesscontrol: Apply FGAC to APIKey endpoints (#42659)
* Move definitions to serviceaccounts

* Use constant names, add scope to delete

* Add descriptions to roles

* Rename roles
2022-01-04 15:37:40 +01:00
renovate[bot]andRenovate Bot 6264bc966f Update dependency react-grid-layout to v1.3.0 (#43666)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 14:35:45 +00:00
Dimitris Sotirakis 6926cb3060 Remove cypress cache volumes (#43667) 2022-01-04 16:28:06 +02:00
Connor Lindsey dc92cee874 Tempo: Fix Otel span kind mapping in trace upload resultTransformer (#43168)
* Fix otel span kind mapping

* Parse span kind from enum string
2022-01-04 07:25:14 -07:00
Travis Patterson c4c05a5b71 refactor promethueus package into sub packages (#43634) 2022-01-04 07:22:33 -07:00
renovate[bot]andRenovate Bot 567e2b5fd8 Update dependency react-dropzone to v11.4.2 (#43660)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 13:20:09 +00:00
Dimitris Sotirakis e3baa24946 CI: Remove initialize step from integration tests pipeline (#43663)
* Remove initialize step from integration tests

* Remove initialize step from integration tests on main pipelines
2022-01-04 14:17:20 +01:00
Emil Tullstedt df4e9ca12b Datemath: Support fiscal years (#43558) 2022-01-04 13:56:34 +01:00
Levente Balogh ef35fd4069 Github Actions: another fix for the levitate workflow (#43659)
* chore: link to the actual workflow step

* chore: make the "Detect" workflow fail if there were any breaking changes

* chore: stop making the reporting workflow fail on breaking changes

* fix: fix typo (`mesage` -> `message`)
2022-01-04 13:54:38 +01:00
Karl Persson 2425828a0b quote reserved keyword (#43652) 2022-01-04 13:35:52 +01:00
renovate[bot]andRenovate Bot 143517bf1b Update dependency prop-types to v15.8.0 (#43656)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 12:28:02 +00:00
Selene bdbd199910 Remove unnecesary joins from queries (#43626) 2022-01-04 13:04:02 +01:00
renovate[bot]andRenovate Bot 8ee53347bf Update dependency eslint-plugin-jsdoc to v37.5.1 (#43650)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 11:23:17 +00:00
Karl Persson ee690a7bb0 Add org_id in join (#43648) 2022-01-04 11:13:45 +01:00
Levente Balogh 00c356f55f fix: checkout the repo to have the helper scripts available (#43646) 2022-01-04 11:08:08 +01:00
renovate[bot]andRenovate Bot 0ad440069f Update dependency @types/jest to v27.4.0 (#43643)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 10:06:17 +00:00
renovate[bot]andRenovate Bot 8fcab78b33 Update dependency date-fns to v2.28.0 (#43645)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 10:05:22 +00:00
renovate[bot]andRenovate Bot 205d3e5c3a Update dependency eslint-plugin-react to v7.28.0 (#43496)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 09:28:00 +00:00
renovate[bot]andRenovate Bot d411fcb228 Update dependency rc-slider to v9.7.5 (#43474)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 09:25:19 +00:00
Levente Balogh 1e3cf75862 Github Actions: update the reporting for the levitate workflow (#43621)
* chore: stop checking out the repo and use the `unzip` command

* refactor: remove deprecated workflow script

* refactor: add whitespace around template variable
2022-01-04 10:23:28 +01:00
renovate[bot]andRenovate Bot c4dd772422 Update dependency postcss-loader to v6.2.1 (#43464)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 09:19:26 +00:00
Torkel Ödegaard b1643f536c Docs: Fix formatting of markdown file (#43642) 2022-01-04 09:51:13 +01:00
idafurjes 65e60759fb Rename AddEventListenerCtx to AddEventListener and PublishCtx to Publish (#43566) 2022-01-04 09:36:01 +01:00
J Guerreiro a0cf57b5b8 AccessControl: Reduce tone of access error (#43601) 2022-01-04 09:28:55 +01:00
achatterjee-grafana 88bc47441f added note that notifications no longer include images. (#43635) 2022-01-03 17:57:38 -05:00
Ryan McKinley a3d2c79d06 Previews: check feature flag on dashboard manage page (#43632) 2022-01-03 23:15:50 +01:00
Gilles De Mey 56d088c441 devenv: fix maildev block (#43624) 2022-01-03 22:15:24 +01:00
Gilles De Mey 7de5d5fbd1 Alerting: adds missing type info to the FieldConfigSource (#43619) 2022-01-03 17:16:43 +01:00
Gilles De Mey d7273c1158 Alerting: fix error dismiss tooltip placement (#43616) 2022-01-03 16:09:08 +01:00
Levente BaloghandMarcus Andersson 8ed5b95f42 Chore: change triggering of the detect-breaking-changes Github flow (#43188)
* chore: only run the breaking-changes flow on pull requests

* chore: run the detect-breaking-changes flow on opening a PR

* chore: use

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* trying to get workflow split running.

* trying to trigger workflow.

* trying to trigger.

* Splits levitate job into two workflows.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2022-01-03 12:48:12 +01:00
Piotr Jamróz 1695468de1 Loki: Improve log volume error handling (#42534)
* Reduce verbosity of the error message when log volume query fails

* Fix unit tests
2022-01-03 10:21:11 +01:00
Piotr Jamróz 7682eabd29 Graphite: Make Graphite config page more accessible (#43333) 2022-01-03 10:17:15 +01:00
natellium 1e7a730f1f Chore: fix removeFromProject command name 2021-12-30 18:33:27 +01:00
Maria Alexandraandnatellium 739e9d88d1 Chore: Add command to remove issue from project in GH actions (#43595)
Co-authored-by: natellium <natalia.bernarte@grafana.com>
2021-12-30 17:45:27 +01:00
Maria Alexandra c68b6698ff Chore: Fix format error in commands.json (#43596) 2021-12-30 15:14:59 +01:00
Marcus Andersson efd7a12686 Chore: Revert externalization of the tslib so it gets bundled with plugins. (#43556)
* Revert externalization of the tslib so it gets bundled with the plugins.

* Adding pnp-webpack-plugin to properly resolve dependencies in nested plugins.

* added dependency on lodash.
2021-12-30 08:53:42 +01:00
Kyle Brandt f17fb76b5e SSE: Add is_nan() and other like functions and allow '_' in func names (#43555)
* SSE: Add is_nan() and allow '_' in func names

is_null() infn(), is_inf(), is_number()
2021-12-29 11:40:52 -05:00
Gilles De Mey 43c81ddd23 Alerting: persist error dismissal to localstorage (#43406) 2021-12-28 20:56:43 +01:00
idafurjes 8e6d6af744 Rename DispatchCtx to Dispatch (#43563) 2021-12-28 17:36:22 +01:00
idafurjes 7936c4c522 Rename AddHandlerCtx to AddHandler (#43557) 2021-12-28 16:08:07 +01:00
Timur Olzhabayev ec9d6b9ca9 chore(drone): switch to using cypress built image for e2e tests 2021-12-28 13:59:20 +01:00
Joan López de la Franca Beltran 80e0dd74d2 Encryption: Increase context timeout on flaky test (#43553) 2021-12-28 13:34:45 +01:00
idafurjes 56c3875bb9 Chore: Remove context.TODO (#43458)
* Remove context.TODO() from services

* Fix live test
2021-12-28 10:26:18 +01:00
Alexander Weaver 56b3dc5445 Alerting: Allow configuration of non-ready alertmanagers (#43063)
* Create API test for overwriting invalid alertmanager config

* Avoid requiring alertmanager readiness for config changes

* AlertmanagerSrv depends on functionality rather than concrete types

* Add test for non-ready alertmanagers

* Additional cleanup and polish

* Back out previous integration test changes

* Refactor of tests incorrectly caused a test to become redundant

* Use pre-existing fake secret service

* Drop unused interface

* Test against concrete MultiOrgAlertmanager re-using fake infra from other tests

* Fix linter error

* Empty commit to rerun checks
2021-12-27 17:01:17 -06:00
Alexander Weaver 9abdaf251f Alerting: Fix global state sensitivity in notifier channel tests (#43508) 2021-12-27 11:58:17 -06:00
Joan López de la Franca Beltran 83bc445d3e Encryption: Fix DEKs cache (#43129)
* Encryption: Fix DEKs cache

* Clarify tests
2021-12-27 18:04:47 +01:00
Calle Gustafsson c3eb1ffe85 Cloud Monitoring: Adds metric type to Metric drop down options (#43268)
* Fixes Google Cloud Monitoring Deduplication

Bug: #42931

* Use useStyles instead of stylesFactory
2021-12-27 08:59:04 +01:00
Timur Olzhabayev 169d39f8e4 feat(e2e-artifacts): upload e2e artifacts to a gcs bucket (#43210)
feat(e2e-artifacts): upload e2e artifacts to a gcs bucket
2021-12-24 10:43:32 +01:00
3b4a4be3c6 Feature highlights: add setting toggle (#43394)
* Feature highlights: add toggle setting

* Settings: Use provider for 'feature_highlights' section

* Fix frontendsettings API tests

* Document the toggle

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>
2021-12-24 10:49:52 +02:00
Leon SorokinandRyan McKinley e75edc810d BarChart: color by field, x time field, bar radius, label skipping (#43257)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-23 10:04:41 -08:00
4233a62aeb DashboardPreviews: add dashboard previews behind feature flag (#43226)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Artur Wierzbicki <artur@arturwierzbicki.com>
2021-12-23 09:43:53 -08:00
Uchechukwu Obasi 545d6c4ddb Chore: move closePopover utility to a standalone file (#43478)
* Chore: move close popover utility to a standalone file

* remove duplicate function in colorpicker

* fixed incorrect import

* make method slightly flexible by removing type parameter
2021-12-23 18:08:02 +01:00
MeanMina c5af1aecec add issues to Observability Squad project (#43500) 2021-12-23 15:47:08 +00:00
Shirley 3326c3ab7b AzureMonitor: Exclude ( in second capturing group for CodeQL ReDoS vulnerability (#43494) 2021-12-23 15:10:35 +01:00
renovate[bot]andRenovate Bot b87c737a14 Update dependency react-calendar to v3.5.0 (#43480)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 10:37:32 +01:00
Karl Persson 0ace9695a6 Access control: Add optional hooks (#43372)
* Add optional OnSet hooks
2021-12-23 10:10:06 +01:00
Uchechukwu Obasi eb4c3a4485 Update frontend guide to reflect new paradigm for api organization (#43435) 2021-12-23 09:28:41 +01:00
Dimitris Sotirakis 59e153cde8 Remove Github Packages publish step (#43453) 2021-12-23 10:12:37 +02:00
J Guerreiro 06d4cb0303 AccessControl: Disable user remove and user update roles when they do not have the permissions (#43429)
* AccessControl: Disable user remove and update roles when they do not have the appropriate permissions

* AccessControl: Ensure frontend tests pass in CI
2021-12-23 09:08:13 +01:00
nikki-kigaandRyan McKinley 4c95abb269 Geomap: Update markers layer styles (#43446)
* update markerslayer styles

* use static style when possible

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-22 13:50:02 -08:00
nikki-kigaandRyan McKinley c53e384cb5 Geomap: Geojson layer initial dynamic styling (#43308)
* support dynamic values in geojson

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-22 13:06:33 -08:00
J Guerreiro 3d4fafcf70 AccessControl: Add access control metadata to org user DTOs (#43362)
* AccessControl: Add access control metadata to OrgUserDTO

* AccessControl: get User AC metadata

* AccessControl: return User Access Control metadata when requested
2021-12-22 18:46:33 +01:00
Uchechukwu Obasi 98bf9a6d2a Tooltip: make widget accessible (#43468)
* add useToolTipTrigger react aria and state to grafana-ui

* show tooltip on focus and close tooltip when esc key is pressed

* remove react-aria/tooltip package

* fix failing test
2021-12-22 18:11:07 +01:00
Marcus Efraimsson 7d3bdb6d1b Plugins: Set backend metadata property for core plugins (#43349)
Ref #42648
Ref #42781
2021-12-22 17:59:26 +01:00
renovate[bot]andRenovate Bot 4ec6f95bcd Update dependency postcss to v8.4.5 (#43463)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 16:54:16 +00:00
J Guerreiro a1b8b5d123 Usage stats: Count API keys (#42883)
* Stats: add api key count to usage stats

* Chore: correctly capitalize struct member
2021-12-22 17:37:45 +01:00
Ivana Huckova f63c2e4bc4 Prometheus: Fix interpolation of variables in Annotation queries (#43459) 2021-12-22 16:50:58 +01:00
cd93c6cdc0 Update dependency cypress to v9.2.0 (#43460)
* Update dependency cypress to v9.2.0

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2021-12-22 15:36:41 +00:00
renovate[bot]andRenovate Bot e6bc87b315 Update dependency @microsoft/api-extractor to v7.19.2 (#42983)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 15:12:58 +00:00
renovate[bot]andRenovate Bot 13bad50709 Update dependency @microsoft/api-extractor-model to v7.15.1 (#42985)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 15:12:43 +00:00
renovate[bot]andRenovate Bot 2d74ad5971 Update dependency is-hotkey to v0.2.0 (#43330)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 15:06:29 +00:00
David Henderson 575eb68828 CloudWatch: Add Missing Elasticache Host-level metrics (#43455)
Add missing host-level Elasticache metrics from https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.HostLevel.html

Follows from https://github.com/grafana/grafana/pull/43336#issuecomment-999367311
2021-12-22 14:02:52 +01:00
renovate[bot]andRenovate Bot 5c22679961 Update dependency ol to v6.9.0 (#43404)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 13:00:56 +00:00
idafurjes b8852ef6a3 Chore: Remove context.TODO() (#43409)
* Remove context.TODO() from services

* Fix live test

* Remove context.TODO
2021-12-22 11:02:42 +01:00
Karl Persson 2409d8dc1f check the value of the feature toggle (#43433) 2021-12-22 10:05:53 +01:00
Hugo Häggmark ded33ba449 Alert: Makes content scrollable and limits height (#43449) 2021-12-22 09:45:41 +01:00
Jean-Philippe Quéméner ffc72aa255 Alerting: fix gosec warning that is not valid (#43425) 2021-12-21 19:47:47 +01:00
Daniel Lee 93de61f690 fix for CWE-89 (#43407)
The sqlOrArgs unpacking seems to confuse CodeQL. Trying something simpler
2021-12-21 19:04:56 +01:00
Todd Treece 6b0f5d464b @grafana/data: fix build issue caused by merge of #43222 after #43423 (#43436) 2021-12-21 12:28:10 -05:00
Coleman Rollins 119f756c0e [cr] whitelist flexbox styles in text panel editor (#43222)
* [cr] whitelist flexbox styles in text panel editor

* [cr] separate sanitize function for text panel only

* [cr] separate markdown function for text panel

* [cr] common markdown options
2021-12-21 16:32:48 +00:00
Uchechukwu Obasi 6abced840d UserInviteForm: move API logic away from components (#43408)
* userInviteForm: move API logic away from components

* removes duplicate response alert

* reverse api logic to handle errors

* move redirection logic to component

* chore: cleanup code
2021-12-21 17:19:22 +01:00
Ashley Harrison 39f787cbef Navigation: Remove some redundant css and tidy up reverse logic (#43403)
* Remove some redundant css and tidy up reverse logic

* Fix alignment of subtitle

* Remove navbar-dropdown class
2021-12-21 16:15:03 +00:00
Vicky Lee 2945c3a276 automate Cloud DS GH projects (#43428) 2021-12-21 15:58:23 +00:00
Todd Treece dd884dbfd5 @grafana/data: Update xss dependency (#43423) 2021-12-21 10:55:36 -05:00
Peter Holmbergandgillesdemey 5db03cf91a Alerting: Fix remaining a11y issues (#43420)
* add aria labels

* reverting

* chore: revert yarn.lock

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2021-12-21 16:06:23 +01:00
Timur Olzhabayev 339cfb8736 chore(commands): add issues of type/docs to global docs project (#43114) 2021-12-21 15:53:55 +01:00
Torkel ÖdegaardandDominik Prokop e877a9822e GrafanaExperimental: update dependency (#43322)
* GrafanaExperimental: update dependency

* Bump experimental

* yarn up experimental

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2021-12-21 15:36:21 +01:00
Travis Patterson d52a6e3d3b Change 'grafana-expression' to ExpressionDatasourceRef.type so isExpr… (#43379)
* Change 'grafana-expression' to ExpressionDatasourceRef.type so isExpressionReference works

* use constant ref in tests

* import from package
2021-12-21 07:11:11 -07:00
Hugo HäggmarkandMaria Alexandra b41c3124bb Chore: Update Prepare release action (#43397)
* Update bump-version.yml

* Chore: test

* tst

* use right branc

* use right test

* chore: test

* Chore: test

* Chore: test

* Chore:test

* WIP: test

* WIP: test

* WIP: test

* WIP: test

* Chore: revert workflows

* WIP: test

* Update prepare-release.yml

* WIP: test

* Chore: test

* WIP: test

* Update prepare-release.yml

* Update bump-version.yml

* Update prepare-release.yml

* Update bump-version.yml

* Update prepare-release.yml

* Update prepare-release.yml

* Chore: update close-milestone

* Update close-milestone.yml

* Chore: update remove-milestone

* Update prepare-release.yml

* Chore: updates update-changelog

* Update prepare-release.yml

* Update prepare-release.yml

* Chore: forgot the version_call param

* Update prepare-release.yml

* Update bump-version.yml

* Update close-milestone.yml

* Update remove-milestone.yml

* Update update-changelog.yml

* Chore: removes empty spaces

* Update prepare-release.yml

* Start Test: change ref to test github action bump version

* test: use the right branch reference

* Update bump-version.yml

* ref right branches

Co-authored-by: Maria Alexandra <239999+axelavargas@users.noreply.github.com>
2021-12-21 14:34:05 +01:00
Karl Persson b3d5a607d4 Access Control: Add option to filter only managed permissions (#43371)
* Add option to filter only managed permissions
2021-12-21 14:22:54 +01:00
Tania B c1be17bec7 Chore: Add Google Cloud KMS dependency (#43211)
* Encryption: Add Google Cloud KMS dependency

* Change version
2021-12-21 14:15:27 +02:00
Uchechukwu Obasi dfd045a3b3 NewOrgPage: Disable input validation on keypress (#43132)
* NewOrgPage: migrate API function calls to Redux

* disable input validation on keypress
2021-12-21 12:54:14 +01:00
159fb4cebb Update dependency eslint-plugin-react to v7.27.1 (#43207)
* Update dependency eslint-plugin-react to v7.27.1

* Fix up code to work with new version of eslint-plugin-react

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2021-12-21 11:11:27 +00:00
Ashley Harrison c7f76df61e Use outline -2px to guarantee visibility of outline (#43400) 2021-12-21 10:52:26 +00:00
Daniel Lee e993f0c62e devenv: Solving two of the code scanning fails (#43084)
* Solving two of the code scanning fails

Removes new lines from user input that is logged. Fixes CWE-117 from CodeQL

* remove newlines from request headers

* mask cookie value in header

* comment out logging of headers to solve CWE-117

Instructions added on uncommenting the log statement and on rebuilding the docker container
2021-12-21 11:36:21 +01:00
Maria Alexandra 1008d46304 Chore: Remove User Essentials from public/ directory in CODEOWNERS (#43370) 2021-12-21 09:26:02 +01:00
Siavash Safi 4c4322f717 CloudWatch: Add all ElastiCache Redis Metrics (#43336)
Add all missing Redis ElastiCache metrics.
https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.Redis.html

Signed-off-by: Siavash Safi <siavash.safi@gmail.com>
2021-12-21 09:13:41 +01:00
Andres Martinez Gotor 5766c624ff CloudWatch: Run migrations even with a missing period (#43350) 2021-12-20 17:57:58 +01:00
Ashley Harrison 57c3549b07 Implement left arrow to focus parent, fix list style on firefox (#43345)
* Implement left arrow to close menu for now, fix list style on firefox

* Implement onLeft

* Fix outline of first item in navbar

* Fix focus styles appearing when using mouse

* add unit test
2021-12-20 17:41:14 +01:00
idafurjes ff3cf94b56 Chore: Remove context.TODO() from services (#42555)
* Remove context.TODO() from services

* Fix live test
2021-12-20 17:05:33 +01:00
Ashley Harrison 6f8e651cdb Move the background style to the parent component (#43359) 2021-12-20 16:00:29 +00:00
Gilles De Mey dc163a958d Alerting: update response text assertion (#43291) 2021-12-20 16:45:29 +01:00
Sarah Zinger b1df13e630 Azure Monitor: Bug fix for variable interpolations in metrics dropdowns (#43251)
* Azure Monitor: Bug fix for template variables.
- Adds back support for custom dropdown field names (such as those that use template variables)
- No longer clears a dropdown if selected value is an unknown option. (Hopefully makes debugging dynamically generated dashboards from json easier to debug).
- Add back support in UI for custom values
2021-12-20 10:11:10 -05:00
renovate[bot]andRenovate Bot bd841edc38 Update dependency lint-staged to v12.1.3 (#43363)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-20 14:50:30 +00:00
Carl Bergquist f373588810 setting: configure toggles as true/false instead of array (#43326)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2021-12-20 15:33:11 +01:00
Peter Holmberg dda84dbf1a Alerting: Fixed logic on how to render alert tab (#43339)
* fixed logic on how to render alert tab

* remove console logs move some logic
2021-12-20 15:30:31 +01:00
Pedro Araújo 18fdb89554 grafana-mixin: Fix GrafanaRequestsFailing alert (#43116)
Due to PromQL's label matching, both sides of the division will have same series; that means that, whenever there's a 5xx error, both sides will have the same value and the division will be `1`. I believe the idea was to get the ratio of 5xx compared will all status code, and to do that, we need to aggregate the `status_code` dimension away.
2021-12-20 15:12:37 +01:00
renovate[bot]andRenovate Bot 4dc63698ac Update dependency eslint-plugin-jsdoc to v37.4.0 (#43329)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-20 14:08:45 +00:00
jcolladokuri ec5c75c6a1 Azure Monitor: Fix link in server requests panel in App Insights Dashboard (#43068) 2021-12-20 09:01:21 -05:00
Maria AlexandraandHugo Häggmark 0ce7799046 Chore: Create prepare release action (#43357)
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-12-20 14:16:22 +01:00
Kyle Brandt e1be23ac1e Chore: update image-spec indirect dependency (#43155)
for GHSA-77vh-xpmg-72qh
2021-12-20 13:24:46 +01:00
Dimitris Sotirakis d88502112f Chore: Replace publish keyword with store (#43340)
* Replace publish keyword with store

* Rename publish_steps with store_steps

* Update grabpl version
2021-12-20 12:23:51 +01:00
Tania B 0dc86bf7f4 Chore: Move default encryption provider to kmsproviders package (#43331) 2021-12-20 12:47:49 +02:00
Gábor Farkas 1879a6855e prometheus: respect the http-method data source setting (#42753)
* prometheus: respect the http-method data source setting

* removed forgotten if-true section

* refactored json-check
2021-12-20 11:27:18 +01:00
Torkel Ödegaard b867ecb515 ColorPicker: Refine design of color picker (#43275)
* ColorPicker: Refine design of the color picker popover

* One more tweak

* removed unneeded div and add hover style

* Fixing test

* Reverse order from dark to brighter
2021-12-20 10:50:48 +01:00
Marcus Efraimssonandachatterjee-grafana 85f134969e Docs: Update merge a pull request guideline (#43273)
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-12-20 10:37:16 +01:00
renovate[bot]andRenovate Bot 30d00b9b86 Update dependency glob to v7.2.0 (#43230)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-20 09:32:59 +00:00
renovate[bot]andRenovate Bot 3b561c8164 Update dependency @react-aria/utils to v3.11.0 (#43262)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-20 09:28:59 +00:00
renovate[bot]andRenovate Bot a356c326fb Update dependency fork-ts-checker-webpack-plugin to v6.5.0 (#43229)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-20 09:27:29 +00:00
Gábor Farkas d2283cf799 influxdb: config: accessibility fixes (#43260) 2021-12-20 10:11:00 +01:00
c3ca2d214d Access control: Refactor managed permission system to create api and frontend components (#42540)
* Refactor resource permissions
* Add frondend components for resource permissions

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2021-12-20 09:52:24 +01:00
Ilya Stoliar 9cf5623918 CloudWatch: Add Data Lifecycle Manager metrics and dimension (#43310) 2021-12-20 09:48:07 +01:00
Dimitris Sotirakis b7f8c1855d Add services to main-integration-tests (#43325) 2021-12-20 09:33:47 +01:00
Dimitris Sotirakis 2fd2fd353e Split pipelines on main builds (#43324) 2021-12-20 09:09:25 +01:00
Hugo Häggmark aa47cac69f Variables: Fix for migrating legacy data source properties (#43263) 2021-12-20 06:49:17 +01:00
Leon Sorokin e240c21a43 BarChart: fix excessive viz re-init due to cloneDeep(props) (#43293) 2021-12-19 00:26:25 -06:00
Ryan McKinley 33c64dba38 BarChart: support log scale (#43305) 2021-12-18 11:21:22 -08:00
Nathan Marrs af3860e953 Canvas: add wind turbine element to canvas panel (#43309) 2021-12-18 11:20:50 -08:00
Nathan Marrs 8be4182e49 Canvas: Add button element + basic onClick support (#43252) 2021-12-17 14:05:57 -08:00
Artur Wierzbicki 197f4f81f2 #41993: make it possible to create N random60hz channels (#43295) 2021-12-17 23:42:37 +04:00
Connor Lindsey 70c0a9d117 A11y: Fix Fastpass issues for tracing query editors and config pages (#42759)
* Add aria-labels to Jaeger config page

* Fix fastpass issues for Tempo config page

* Fix fastpass issues for other tracing query types like search
2021-12-17 11:49:21 -07:00
Leon Sorokin dd247f26de BarChart: refactor x tick label placement logic (#43256) 2021-12-17 11:35:09 -06:00
Shirleyandachatterjee-grafana 5cffd98e24 Docs: Update Google Cloud Monitoring documentation (#43135)
* Update documentation

* Correct urls

* Correct provisioning data source url anchor

* Use relref and replace variable syntax section with official doc link

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Put back 'and'

* Change the numbering to 1

* Change numbering back to 1

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-12-17 17:41:01 +01:00
Kyle Brandt 4c59cc4bf4 Chore: Update indirect dependency containerd (#43151)
for GHSA-5j5w-g665-5m35 and GHSA-c2h3-6mxw-7mvq
2021-12-17 17:01:45 +01:00
Kyle Brandt c50f0d1dd1 Chore: update uap-go (#43285)
for CVE-2021-21317
2021-12-17 10:43:43 -05:00
Sofia Papagiannaki c4aaf5f9d1 API: prevent provisioned dashboard from being updated (#41894) 2021-12-17 10:31:52 -05:00
Gábor Farkas db18acff15 InfluxDB: InfluxQL: query editor: skip fields in metadata queries (#42543)
* influxdb: influxql: query editor: skip fields for metadata

* test added

* removed forgotten line

* updated test name

* updated comment

* simplified test code
2021-12-17 15:09:02 +01:00
Gilles De Mey db3cc738d6 Alerting: fixes rewiring unrelated reduce and resample expressions (#43174) 2021-12-17 14:46:55 +01:00
Shirley acb1f54128 Chore: Update and replace redundant wording (#43138)
* Replace redundant wording

* Add term key

* Reduce wording and move down tooltip

* Reduce margin between tooltip and button

* Correct manual margin to same as button's
2021-12-17 13:45:24 +01:00
Gábor Farkas 623ae1e41d datasources: config: add aria-label (#43266) 2021-12-17 11:44:38 +01:00
kay delaneyandLeon Sorokin 4855fe78f8 TimeSeriesPanel: Null points no longer get tooltips (#42371)
* TimeSeriesPanel: Null points no longer get tooltips

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2021-12-17 10:38:08 +00:00
Maria Alexandra 7c5d5c0128 Chore: Create close milestone github action (#43269) 2021-12-17 11:14:09 +01:00
renovate[bot]andRenovate Bot 1aa4c27cd9 Update dependency @cypress/webpack-preprocessor to v5.11.0 (#43240)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-17 09:44:59 +01:00
Alexander Zobnin 2c0f961c59 OAuth: Fix forwarding id token to the data source (#43204) 2021-12-17 03:34:16 -05:00
Leon Sorokin bba7bdeb9e GraphNG: uPlot 1.6.18 (#43255) 2021-12-17 00:24:44 -06:00
nikki-kiga 625c5e0e09 Geomap: Add default svg size (#43246)
* add default svg size
2021-12-17 01:10:52 +01:00
Leon Sorokin 8fdbc6cc20 TimeSeries: don't auto-disable fill of fillBelowTo targets (#43165) 2021-12-16 14:52:47 -06:00
Yuriy Tseretyan 1a762083d7 Alerting: make alert rule routine evaluation control be thread-safe (#41220)
* change registry.delete to return deleted struct
* use pointer to alertRuleInfo instead copying.
* do not access evaluation channel when routine is stopped
* remove stopCh and use context cancellation
* do not return ctx.Err when channel is cancelled because it cancels all other routines
* make alertRuleInfo fields and functions package private
2021-12-16 14:52:47 -05:00
Nathan Marrs 56921b205d Canvas add drone elements (#43122) 2021-12-16 11:05:58 -08:00
Nathan Rodman 187a8703c8 Alerting: Add filters for AlertList panel (#43130)
* add state filters for prom alerts

* combine state filters

* add datasource filter for panel

* remove duplicate state check

* show only prom, loki, and grafana datasources
2021-12-16 10:17:24 -08:00
Ryan McKinley be498f312e Geomap: use string comparison for eq operator (#43181) 2021-12-16 09:59:36 -08:00
Leon Sorokin 6b7ef6a80b BarChart: fix gradient fill orientation when horizontal (#43183) 2021-12-16 11:43:29 -06:00
2754e4fdf0 Expressions: use datasource model from the query (#41376)
* refactor datasource loading

* refactor datasource loading

* pass uid

* use dscache in alerting to get DS

* remove expr/translate pacakge

* remove dup injection entry

* fix DS type on metrics endpoint, remove SQL DS lookup inside SSE

* update test and adapter

* comment fix

* Make eval run as admin when getting datasource info

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* fmt and comment

* remove unncessary/redundant code

Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2021-12-16 13:51:46 -03:00
renovate[bot]andRenovate Bot 1745cd8186 Update dependency css-minimizer-webpack-plugin to v3.3.0 (#43215)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 17:43:52 +01:00
Marcus Efraimsson df6765d805 Chore: Update release notes index page with 8.3.3 (#43224) 2021-12-16 17:41:27 +01:00
Marcus Efraimsson 18d909beed Chore: Go mod tidy (#43220) 2021-12-16 17:22:10 +01:00
renovate[bot]andRenovate Bot 2d4e6e79b2 Update dependency expose-loader to v3.1.0 (#43216)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 16:56:58 +01:00
SantiagoandGilles De Mey 15c214d467 Fix error when setting alerts for Azure Monitor (#42989)
* pass the correct value to buildScaleKey()

* drop unnecessary type casting

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* fix linting errors

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2021-12-16 12:51:14 -03:00
renovate[bot]andRenovate Bot f789a7f88c Update dependency eslint-plugin-jsdoc to v37.2.2 (#43203)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 13:51:03 +00:00
3606e4323e Remove dependency abortcontroller-polyfill to v1.7.3 (#43048)
* Update dependency abortcontroller-polyfill to v1.7.3

* Remove abortcontroller-polyfill since we don't use phantomjs anymore

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2021-12-16 13:49:27 +00:00
13fdc5231d AccessControl: upgrade apikeys by adding service accounts (#42425)
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>

* Change default options for cloned service account

* Run in background

* Add endpoint to upgrade api keys to service accounts
2021-12-16 14:28:16 +01:00
renovate[bot]andRenovate Bot 57def82f26 Update dependency eslint-plugin-no-only-tests to v2.6.0 (#43206)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 14:21:10 +01:00
renovate[bot]andRenovate Bot de125063f9 Update dependency enzyme-to-json to v3.6.2 (#43202)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 14:03:43 +01:00
renovate[bot]andRenovate Bot 1a7ee68133 Update dependency date-fns to v2.27.0 (#43199)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 14:01:57 +01:00
Jean-Philippe Quéméner b605340668 Alerting: log errors happening in the API on server side (#43192)
* Alerting: log errors happening in the API on server side

* adapt tests to reflect changed payload
2021-12-16 13:33:10 +01:00
renovate[bot]andRenovate Bot 8e8b0616fe Update dependency css-loader to v6.5.1 (#43095)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 11:59:24 +00:00
renovate[bot]andRenovate Bot 505009eeca Update dependency cypress to v9.1.1 (#43198)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 12:47:17 +01:00
Ashley Harrison 80b55f09ad Configuration: You can now see your expired API keys if you have no active ones (#42452)
* Configuration: Always display expired API keys

* Use exclamation-triangle instead

* Reintroduce toggle, move logic into store and call both endpoints

* Handle apiKeys without TTL

* Remove backend changes and make checks in frontend instead
2021-12-16 11:46:09 +00:00
Josh Hunt 609a1aa8ad Chore: parse parseDuration values as numbers (#42826)
* Chore: parseDuration values as numbers

* Clean up RefreshPicker labels
2021-12-16 11:35:53 +00:00
renovate[bot]andRenovate Bot 23be398c9c Update dependency css-minimizer-webpack-plugin to v3.2.0 (#43117)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 11:16:44 +00:00
renovate[bot]andRenovate Bot 7bd2e21464 Update dependency core-js to v3.20.0 (#43094)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 11:13:49 +00:00
Torkel Ödegaard 9f05aa736c Panel: Support using $__interval and $__interval_ms in panel title 2021-12-16 12:05:00 +01:00
Ben SullyandRyan McKinley 13d9fddd3e Transformations: Add 'JSON' field type to ConvertFieldTypeTransformer (#42624)
* Add 'JSON' field type to ConvertFieldTypeTransformer

I've been playing around with #41994 and found that it requires fields
to contain array values, which can't be sent from a backend plugin. This
PR adds the ability for the ConvertFieldTypeTransformer to parse
JSON values and store the result in the transformed field.
The main use case for this right now is so that a field
containing a JSONified array can be transformed into a field
containing an actual array, which can in
turn be used for the table charts in #41994.

Supersedes #42521.

* Add second option to complex field conversion to increase flexibility

This avoids falsely equating 'JSON' with FieldType.other, and instead
allows multiple parsers to be used if the 'Complex' type is selected.

Currently only JSON parsing is implemented, but others could be
supported easily in future.

* Revert "Add second option to complex field conversion to increase flexibility"

This reverts commit 6314ce35eb.

* Improve test for object parsing of complex field transformer

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-16 11:18:11 +01:00
Ashley Harrison c3ca46d5f6 Chore: Login via the API by default in Cypress (#43167)
* Use the api to login in cypress by default

* export getBaseUrl

* Revert "export getBaseUrl"

This reverts commit ae7eecea37.

* just use BASE_URL from the env

* fix exemplars test

* move into separate functions
2021-12-16 09:28:37 +00:00
Uchechukwu Obasi d03aef1951 SelectOrgPage: migrate API function calls to Redux (#43133)
* SelectOrgPage: migrate API function calls to Redux

* used a much better approach

* writes test for getUserOrganizations action

* writes test for userOrganizationsLoaded reducer

* change userOrg to plural
2021-12-16 09:57:18 +01:00
David Parrott 8206802f19 Rework template docs and add examples (#43178) 2021-12-15 15:00:12 -08:00
nikki-kiga fde26b0bd9 Geomap: Add tooltip check to display tooltip by layer (#43131)
* Add tooltip check to display tooltip by layer
2021-12-15 13:51:39 -08:00
Artur WierzbickiandRyan McKinley 84ae13fe5d Live: keep stream history on 'refresh' (#41492)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-15 11:01:55 -08:00
Gilles De Mey bb3b5c10e7 Alerting: fix WeCom channel notifier test assertion (#43173) 2021-12-15 19:45:12 +01:00
Gilles De Mey cbbbb505b4 Alerting: use HTML-safe characters for the default template (#43148) 2021-12-15 17:57:08 +01:00
Gábor Farkas f0fca6e018 update auto-generated files (#43159) 2021-12-15 17:50:29 +01:00
smallpathandgotjosh aec14cba42 Alerting: Support WeCom as a contact point type (#40975)
* add wecom notifier

* fix backend lint

* fix alerting channel test

* update wecom doc

* update notifiers

* update wecom notifier test

* Apply suggestions from code review

Co-authored-by: gotjosh <josue.abreu@gmail.com>

* unify wecom alerting

* fix backend lint

* fix front lint

* fix wecom test

* update docs

* Update pkg/services/ngalert/notifier/channels/wecom.go

Co-authored-by: gotjosh <josue.abreu@gmail.com>

* Update docs/sources/alerting/old-alerting/notifications.md

Co-authored-by: gotjosh <josue.abreu@gmail.com>

* Update docs/sources/alerting/old-alerting/notifications.md

Co-authored-by: gotjosh <josue.abreu@gmail.com>

* Update docs/sources/alerting/old-alerting/notifications.md

Co-authored-by: gotjosh <josue.abreu@gmail.com>

* remove old wecom notifier

* remove old notifier doc

* fix backend test

* Update docs/sources/alerting/unified-alerting/contact-points.md

Co-authored-by: gotjosh <josue.abreu@gmail.com>

* fix doc style

Co-authored-by: gotjosh <josue.abreu@gmail.com>
2021-12-15 16:42:03 +00:00
Uchechukwu Obasi f16696a069 Orgs: move redirection logic to components (#43160)
* Orgs: move redirection logic to components

* removes error notification since it's been handled under the hood
2021-12-15 17:15:16 +01:00
Levente Balogh 3f554f58bd Detecting breaking changes (#42934)
* chore: add a script for detecting breaking changes

* chore: add a temporary binary for POC3

* chore: add a Github Action workflow for detecting breaking changes

* chore: remove unused variables from the script

* chore: rename the POC3 executable script

* chore: add a label if there is a breaking change

* chore: remove "breaking change" label if all is passing

* chore: rename steps

* fix: only remove the label if there were no breaking changes

* chore: jump to the correct step

* chore: skip `@grafana/toolkit`

* chore: add a message for opening links in a new tab

* chore: update comment message

* chore: use Node 16 for the breaking changes workflow

* chore: install Yarn separately

* chore: use @grafana/levitate

* refactor: remove the unused levitate.js bundle

* fix: handle error when trying to remove a label that does not exist

* chore: delete the comment if there are no breaking changes

* chore: add reviewers automatically

* fix: use double-quote in shell script

* TEMPORARY: introduce a breaking change in `@grafana/data`

* fix: use correct line number for the breaking changes

* Revert "TEMPORARY: introduce a breaking change in `@grafana/data`"

This reverts commit 986ac9ab82.

* chore: remove unnecessary line from .eslintignore
2021-12-15 17:07:11 +01:00
Josh Hunt 4f6d08f14b I18N: Add Lingui core translation framework. (#41827)
* I18N: Add Core Lingui framework for translating the UI

* Make FieldSet accept ReactNode for the label, so it can be translated

* Translate a phrase in the User profile edit form

* Translate phrase

* run lingui compile before webpack builds

* init i18n more lazily

* i1n:compile in drone lint step

* wip for getting tests to work

* Use mock lingui/macros because its too hard to use the real macros in Jest...

* mock messages for tests

* use specific lingui version

* add comment for test helper

* we actually don't need the i18n setup in tests because we mock out <Trans />

* update package.json

* remove unneded imports

* revert back babel core version

* Create a I18nProvider wrapper
2021-12-15 17:00:37 +01:00
Gábor Farkas 50c6c7a528 InfluxDB: fix accessibility problems (#42553)
* influxdb: influxql: query editor a11y fixes

* configure datasource page a11y fixes

* fixed unit test

* better a11y

* better a11y for the query editor

* simplify code

* updated tests

* removed explicit aria-label
2021-12-15 15:57:08 +01:00
Gábor Farkas 1569529808 theme: fixed colors to be monaco-compatible (#43153) 2021-12-15 14:52:31 +01:00
Gábor Farkas f9b6baa783 monaco-editor: updated from 0.31.0 to 0.31.1 (#43146) 2021-12-15 14:09:44 +01:00
Marcus Efraimsson 5bec46ce23 Build: Speed up integration tests (#43045)
Changes so that postgres/mysql services in Drone maps their data volumes 
to tmpfs volumes (memory) to improve performance.
2021-12-15 13:48:59 +01:00
Torkel Ödegaard 6724c42e84 Select: Memoize custom styles (#43070) 2021-12-15 13:33:35 +01:00
Ashley Harrison 566907e617 Dashboard: Prevent crash when expanding a row containing panels with … (#43032)
* Dashboard: Prevent crash when expanding a row containing panels with no yPos defined

* Add comment explaining defensive code
2021-12-15 12:31:53 +01:00
Gabriel MABILLEandKarl Persson c7cabdfd6f AccessControl: Add accesscontrol metadata to datasources DTOs (#42675)
* AccessControl: Provide scope to frontend

* Covering datasources with accesscontrol metadata

* Write benchmark tests for GetResourcesMetadata

* Add accesscontrol util and interface

* Add the hasPermissionInMetadata function in the frontend access control code

* Use IsDisabled rather that performing a feature toggle check

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2021-12-15 12:08:15 +01:00
Marcus Efraimsson 2b1ed43cb2 Chore: Support PR checks for forks (#43128) 2021-12-15 09:57:04 +01:00
Uchechukwu Obasi ea71dafbfb Orgs: move duplicate API calls to Redux (#43030)
* WIP: move user/using api call to redux

* WIP: use redux instead in NewOrgPage component

* moved all the createOrg logic into redux

* type the redux state and action creators automatically

* adds test for setUserOrganization thunk

* update selectOrgPage to use Redux instead

* removes unnecessary dispatch call
2021-12-15 09:42:52 +01:00
Ryan McKinley 00e06874e5 Legend: extract common renderLegendFormat function (loki+prom) (#43054) 2021-12-15 04:19:16 +01:00
Ryan McKinley c2392598ea Geomap: support hide from tooltip (#43127) 2021-12-14 15:32:17 -08:00
malcolmholmes 198f947d0b Publish enterprise2 to correct bucket (#43115) 2021-12-14 18:43:24 +01:00
Ryan McKinleyandAlexander Emelin c0ff685d3b Live: support query execution with live RPC (#43118)
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2021-12-14 18:38:20 +01:00
Alexander EmelinandRyan McKinley f4cc353225 Live: proxy subscribe data for subscribe and runstream plugin calls (#42824)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-14 20:12:00 +03:00
Connor Lindseyandachatterjee-grafana d2c5dac76f Tempo: Add provisioning example to Tempo docs (#43049)
* Add provisioning example to Tempo docs

* Update docs/sources/datasources/tempo.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-12-14 08:48:35 -07:00
Kyle Brandt 8598362929 Update latest.json to 8.3.3 (#43108) 2021-12-14 16:48:15 +01:00
Gilles De Mey 02039d7532 Alerting: show state history (#42362) 2021-12-14 16:36:54 +01:00
2338 changed files with 79347 additions and 34544 deletions
-11
View File
@@ -1,11 +0,0 @@
version: 2.1
jobs:
build:
docker:
- image: alpine:3.7
steps:
- run:
name: The First Step
command: |
echo 'Fake step!'
+5 -2
View File
@@ -6,7 +6,7 @@
load('scripts/drone/pipelines/pr.star', 'pr_pipelines')
load('scripts/drone/pipelines/main.star', 'main_pipelines')
load('scripts/drone/pipelines/release.star', 'release_pipelines', 'test_release_pipelines')
load('scripts/drone/pipelines/release.star', 'release_pipelines', 'publish_image_pipelines', 'publish_artifacts_pipelines', 'publish_npm_pipelines', 'publish_packages_pipeline')
load('scripts/drone/version.star', 'version_branch_pipelines')
load('scripts/drone/pipelines/cron.star', 'cronjobs')
load('scripts/drone/vault.star', 'secrets')
@@ -14,4 +14,7 @@ load('scripts/drone/vault.star', 'secrets')
def main(ctx):
edition = 'oss'
return pr_pipelines(edition=edition) + main_pipelines(edition=edition) + release_pipelines() + \
test_release_pipelines() + version_branch_pipelines() + cronjobs(edition=edition) + secrets()
publish_image_pipelines('public') + publish_image_pipelines('security') + \
publish_artifacts_pipelines('security') + publish_artifacts_pipelines('public') + \
publish_npm_pipelines('public') + publish_packages_pipeline() + \
version_branch_pipelines() + cronjobs(edition=edition) + secrets()
+2075 -1993
View File
File diff suppressed because it is too large Load Diff
+5
View File
@@ -6,5 +6,10 @@ devenv
data
dist
e2e/tmp
scripts/grafana-server/tmp
public/lib/monaco
deployment_tools_config.json
# Auto-generated localisation files
public/locales/_build/
public/locales/**/*.js
+36 -24
View File
@@ -30,18 +30,24 @@ go.sum @grafana/backend-platform
/scripts/drone/ @grafana/grafana-release-eng
# Cloud Datasources backend code
/pkg/tsdb/cloudwatch @grafana/cloud-datasources @grafana/observability-squad
/pkg/tsdb/cloudwatch @grafana/cloud-datasources
/pkg/tsdb/azuremonitor @grafana/cloud-datasources
/pkg/tsdb/cloudmonitoring @grafana/cloud-datasources
# Observability backend code
/pkg/tsdb/influxdb @grafana/observability-squad
/pkg/tsdb/elasticsearch @grafana/observability-squad
/pkg/tsdb/graphite @grafana/observability-squad
/pkg/tsdb/jaeger @grafana/observability-squad
/pkg/tsdb/loki @grafana/observability-squad
/pkg/tsdb/zipkin @grafana/observability-squad
/pkg/tsdb/tempo @grafana/observability-squad
/pkg/tsdb/prometheus @grafana/observability-metrics
/pkg/tsdb/influxdb @grafana/observability-metrics
/pkg/tsdb/elasticsearch @grafana/observability-logs-and-traces
/pkg/tsdb/graphite @grafana/observability-metrics
/pkg/tsdb/jaeger @grafana/observability-logs-and-traces
/pkg/tsdb/loki @grafana/observability-logs-and-traces
/pkg/tsdb/zipkin @grafana/observability-logs-and-traces
/pkg/tsdb/tempo @grafana/observability-logs-and-traces
# BI backend code
/pkg/tsdb/mysql @grafana/grafana-bi-squad
/pkg/tsdb/postgres @grafana/grafana-bi-squad
/pkg/tsdb/mssql @grafana/grafana-bi-squad
# Database migrations
/pkg/services/sqlstore/migrations @grafana/backend-platform @grafana/hosted-grafana-team
@@ -64,6 +70,9 @@ go.sum @grafana/backend-platform
/pkg/services/datasourceproxy @grafana/plugins-platform-backend
/pkg/services/datasources @grafana/plugins-platform-backend
# Dashboard previews / crawler (behind feature flag)
/pkg/services/thumbs @grafana/grafana-edge-squad
# Backend code docs
/contribute/style-guides/backend.md @grafana/backend-platform
/contribute/architecture/backend @grafana/backend-platform
@@ -81,21 +90,24 @@ go.sum @grafana/backend-platform
/packages/grafana-ui/src/components/TimeSeries @grafana/grafana-bi-squad
/packages/grafana-ui/src/components/uPlot @grafana/grafana-bi-squad
/packages/grafana-ui/src/utils/storybook @grafana/plugins-platform-frontend
/packages/jaeger-ui-components/ @grafana/observability-squad
/packages/jaeger-ui-components/ @grafana/observability-logs-and-traces
/plugins-bundled @grafana/plugins-platform-frontend
/public @grafana/user-essentials
# public folder
/public/app/core/components/TimePicker @grafana/grafana-bi-squad
/public/app/core/components/Layers @grafana/grafana-edge-squad
/public/app/features/canvas/ @grafana/grafana-edge-squad
/public/app/features/dimensions/ @grafana/grafana-edge-squad
/public/app/features/geo/ @grafana/grafana-edge-squad
/public/app/features/live/ @grafana/grafana-edge-squad
/public/app/features/explore/ @grafana/observability-squad
/public/app/features/explore/ @grafana/observability-experience-squad
/public/app/features/plugins @grafana/plugins-platform-frontend
/public/app/core/components/TransformersUI/spatial @grafana/grafana-edge-squad
/public/app/plugins/panel/alertlist @grafana/alerting-squad
/public/app/plugins/panel/barchart @grafana/grafana-bi-squad
/public/app/plugins/panel/heatmap @grafana/grafana-bi-squad
/public/app/plugins/panel/histogram @grafana/grafana-bi-squad
/public/app/plugins/panel/nodeGraph @grafana/observability-squad
/public/app/plugins/panel/logs @grafana/observability-logs-and-traces
/public/app/plugins/panel/nodeGraph @grafana/observability-logs-and-traces
/public/app/plugins/panel/piechart @grafana/grafana-bi-squad
/public/app/plugins/panel/state-timeline @grafana/grafana-bi-squad
/public/app/plugins/panel/status-history @grafana/grafana-bi-squad
@@ -126,21 +138,21 @@ lerna.json @grafana/frontend-ops
*.mdx @marcusolsson @jessover9000 @grafana/plugins-platform-frontend
# Core datasources
/public/app/plugins/datasource/cloudwatch @grafana/cloud-datasources @grafana/observability-squad
/public/app/plugins/datasource/elasticsearch @grafana/observability-squad
/public/app/plugins/datasource/cloudwatch @grafana/cloud-datasources
/public/app/plugins/datasource/elasticsearch @grafana/observability-logs-and-traces
/public/app/plugins/datasource/grafana-azure-monitor-datasource @grafana/cloud-datasources
/public/app/plugins/datasource/graphite @grafana/observability-squad
/public/app/plugins/datasource/influxdb @grafana/observability-squad
/public/app/plugins/datasource/jaeger @grafana/observability-squad
/public/app/plugins/datasource/loki @grafana/observability-squad
/public/app/plugins/datasource/mssql @grafana/backend-platform
/public/app/plugins/datasource/mysql @grafana/backend-platform
/public/app/plugins/datasource/graphite @grafana/observability-metrics
/public/app/plugins/datasource/influxdb @grafana/observability-metrics
/public/app/plugins/datasource/jaeger @grafana/observability-logs-and-traces
/public/app/plugins/datasource/loki @grafana/observability-logs-and-traces
/public/app/plugins/datasource/mssql @grafana/grafana-bi-squad
/public/app/plugins/datasource/mysql @grafana/grafana-bi-squad
/public/app/plugins/datasource/opentsdb @grafana/backend-platform
/public/app/plugins/datasource/postgres @grafana/backend-platform
/public/app/plugins/datasource/prometheus @grafana/observability-squad
/public/app/plugins/datasource/postgres @grafana/grafana-bi-squad
/public/app/plugins/datasource/prometheus @grafana/observability-metrics
/public/app/plugins/datasource/cloud-monitoring @grafana/cloud-datasources
/public/app/plugins/datasource/zipkin @grafana/observability-squad
/public/app/plugins/datasource/tempo @grafana/observability-squad
/public/app/plugins/datasource/zipkin @grafana/observability-logs-and-traces
/public/app/plugins/datasource/tempo @grafana/observability-logs-and-traces
/public/app/plugins/datasource/alertmanager @grafana/alerting-squad
# Cloud middleware
+159 -47
View File
@@ -1,69 +1,181 @@
[
{
"type": "label",
"name": "bot/question",
"addLabel": "type/question",
"removeLabel": "bot/question",
"action": "close",
"comment": "Please ask your question on [community.grafana.com/](https://community.grafana.com/). To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
"type":"label",
"name":"bot/question",
"addLabel":"type/question",
"removeLabel":"bot/question",
"action":"close",
"comment":"Please ask your question on [community.grafana.com/](https://community.grafana.com/). To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type": "comment",
"name": "duplicate",
"allowUsers": [],
"action": "updateLabels",
"addLabel": "type/duplicate"
"type":"comment",
"name":"duplicate",
"allowUsers":[],
"action":"updateLabels",
"addLabel":"type/duplicate"
},
{
"type": "label",
"name": "bot/duplicate",
"addLabel": "type/duplicate",
"removeLabel": "bot/duplicate",
"action": "close",
"comment": "Thanks for creating this issue! It looks like this has already been reported by another user. Weve closed this in favor of the existing one. Please consider adding any details you think is missing to that issue.\n\nTo avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
"type":"label",
"name":"bot/duplicate",
"addLabel":"type/duplicate",
"removeLabel":"bot/duplicate",
"action":"close",
"comment":"Thanks for creating this issue! It looks like this has already been reported by another user. Weve closed this in favor of the existing one. Please consider adding any details you think is missing to that issue.\n\nTo avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type": "comment",
"name": "needsMoreInfo",
"allowUsers": [],
"action": "updateLabels",
"addLabel": "bot/needs more info"
"type":"comment",
"name":"needsMoreInfo",
"allowUsers":[],
"action":"updateLabels",
"addLabel":"bot/needs more info"
},
{
"type": "label",
"name": "bot/needs more info",
"action": "updateLabels",
"addLabel": "needs more info",
"removeLabel": "bot/needs more info",
"comment": "Thanks for creating this issue! We think it's missing some basic information. \r\n\r\nFollow the issue template and add additional information that will help us replicate the problem. \r\nFor data visualization issues: \r\n- Query results from the inspect drawer (data tab & query inspector)\r\n- Panel settings can be extracted in the panel inspect drawer JSON tab\r\n\r\nFor dashboard related issues: \r\n- Dashboard JSON can be found in the dashboard settings JSON model view\r\n\r\nFor authentication, provisioning and alerting issues, Grafana server logs are useful. \r\n\r\nHappy graphing!"
"type":"label",
"name":"bot/needs more info",
"action":"updateLabels",
"addLabel":"needs more info",
"removeLabel":"bot/needs more info",
"comment":"Thanks for creating this issue! We think it's missing some basic information. \r\n\r\nFollow the issue template and add additional information that will help us replicate the problem. \r\nFor data visualization issues: \r\n- Query results from the inspect drawer (data tab & query inspector)\r\n- Panel settings can be extracted in the panel inspect drawer JSON tab\r\n\r\nFor dashboard related issues: \r\n- Dashboard JSON can be found in the dashboard settings JSON model view\r\n\r\nFor authentication, provisioning and alerting issues, Grafana server logs are useful. \r\n\r\nHappy graphing!"
},
{
"type": "label",
"name": "bot/no new info",
"action": "close",
"comment": "We've closed this issue since it needs more information and hasn't had any activity recently. We can re-open it after you you add more information. To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
"type":"label",
"name":"bot/no new info",
"action":"close",
"comment":"We've closed this issue since it needs more information and hasn't had any activity recently. We can re-open it after you you add more information. To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type": "label",
"name": "bot/close feature request",
"action": "close",
"addLabel": "not implemented",
"comment": "This feature request has been open for a long time with few received upvotes or comments, so we are closing it. We're trying to limit open GitHub issues in order to better track planned work and features. \r\n\r\nThis doesn't mean that we'll never ever implement it or that we will never accept a PR for it. A closed issue can still attract upvotes and act as a ticket to track feature demand\/interest. \r\n\r\nThank You to you for taking the time to create this issue!"
"type":"label",
"name":"bot/close feature request",
"action":"close",
"addLabel":"not implemented",
"comment":"This feature request has been open for a long time with few received upvotes or comments, so we are closing it. We're trying to limit open GitHub issues in order to better track planned work and features. \r\n\r\nThis doesn't mean that we'll never ever implement it or that we will never accept a PR for it. A closed issue can still attract upvotes and act as a ticket to track feature demand\/interest. \r\n\r\nThank You to you for taking the time to create this issue!"
},
{
"type": "label",
"name": "oss-user-essentials",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/78"
"type":"label",
"name":"oss-user-essentials",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/78"
}
},
{
"type": "label",
"name": "area/plugins-catalog",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/76"
"type":"label",
"name":"area/plugins-catalog",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/76"
}
},
{
"type":"label",
"name":"type/docs",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/69"
}
},
{
"type":"label",
"name":"datasource/Azure",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"datasource/CloudWatch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"datasource/GoogleCloudMonitoring",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"oss-observability",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"datasource/Prometheus",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"datasource/InfluxDB",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"datasource/OpenSearch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"datasource/Loki",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"datasource/Tempo",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"datasource/Elasticsearch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"area/explore",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"oss-user-essentials",
"action":"removeFromProject",
"removeFromProject":{
"url":"https://github.com/orgs/grafana/projects/78"
}
},
{
"type":"label",
"name":"oss-user-essentials",
"action":"removeFromProject",
"removeFromProject":{
"url":"https://github.com/grafana/grafana/projects/33"
}
}
]
+9
View File
@@ -5,5 +5,14 @@
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#assign-a-milestone",
"success": "Milestone set",
"failure": "Milestone not set"
},
{
"type": "check-backport",
"title": "Backport Check",
"backportEnabled": "Backport enabled",
"backportSkipped": "Backport skipped",
"failure": "Backport decision needed",
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#should-the-pull-request-be-backported",
"skipLabels": [ "backport", "no-backport"]
}
]
+12 -4
View File
@@ -4,10 +4,12 @@
],
"enabledManagers": ["npm"],
"ignoreDeps": [
"@grafana/slate-react", // should be updated when the `slate` package is updated
"@types/systemjs",
"@types/d3-force", // we should bump this once we move to esm modules
"@types/d3-interpolate", // we should bump this once we move to esm modules
"@types/d3-scale-chromatic", // we should bump this once we move to esm modules
"@types/grafana__slate-react", // should be updated when the `slate` package is updated
"@types/react-icons", // jaeger-ui-components is being refactored to use @grafana/ui icons instead
"d3",
"d3-force", // we should bump this once we move to esm modules
@@ -21,7 +23,9 @@
"slate",
"slate-plain-serializer",
"systemjs",
"copy-webpack-plugin", // try to upgrade with newer yarn release. Not working with 3.1.1
"ts-loader", // we should remove ts-loader and use babel-loader instead
"typescript", // >4.5.x doesn't seem to work on windows with pnp currently. probably similar to https://github.com/yarnpkg/berry/issues/3722
"ora" // we should bump this once we move to esm modules
],
"ignorePaths": ["packages/grafana-toolkit/package.json", "emails/**", "plugins-bundled/**", "**/mocks/**"],
@@ -29,12 +33,16 @@
"packageRules": [
{
"matchUpdateTypes": ["patch"],
"extends": ["schedule:monthly"]
"excludePackagePatterns": ["@storybook"],
"extends": ["schedule:monthly"],
"groupName": "Monthly patch updates"
},
{
"matchPackagePatterns": ["@storybook"],
"extends": ["schedule:monthly"],
"groupName": "Storybook updates"
}
],
"patch": {
"enabled": false
},
"pin": {
"enabled": false
},
+41 -8
View File
@@ -5,24 +5,49 @@ on:
version:
required: true
default: '7.x.x'
workflow_call:
inputs:
version_call:
description: Needs to match, exactly, the name of a version
required: true
type: string
secrets:
token:
required: true
metricsWriteAPIKey:
required: true
jobs:
main:
runs-on: ubuntu-latest
steps:
# This is a basic workflow to help you get started with Actions
- uses: actions-ecosystem/action-regex-match@v2.0.2
if: ${{ github.event.inputs.version != '' }}
id: regex-match
with:
text: ${{ github.event.inputs.version }}
regex: '^(\d+.\d+).\d+(?:-beta.\d+)?$'
- uses: actions-ecosystem/action-regex-match@v2.0.2
if: ${{ inputs.version_call != '' }}
id: regex-match-version-call
with:
text: ${{ inputs.version_call }}
regex: '^(\d+.\d+).\d+(?:-beta\d+)?$'
- name: Validate input version
if: ${{ steps.regex-match.outputs.match == '' }}
if: ${{ steps.regex-match.outputs.match == '' && github.event.inputs.version != '' }}
run: |
echo "The input version format is not correct, please respect:\
major.minor.patch or major.minor.patch-beta.number format. \
example: 7.4.3 or 7.4.3-beta.1"
exit 1
- name: Validate input version call
if: ${{ inputs.version_call != '' && steps.regex-match-version-call.outputs.match == '' }}
run: |
echo "The input version format is not correct, please respect:\
major.minor.patch or major.minor.patch-beta<number> format. \
example: 7.4.3 or 7.4.3-beta1"
exit 1
- uses: actions/checkout@v2
- name: Set intermedia variables
@@ -34,13 +59,13 @@ jobs:
echo "::set-output name=branch_exist::$(git ls-remote --heads https://github.com/grafana/grafana.git v${{ steps.regex-match.outputs.group1 }}.x | wc -l)"
- name: Check input version is aligned with branch(not main)
if: steps.intermedia.outputs.branch_exist != '0' && !contains(steps.intermedia.outputs.short_ref, steps.intermedia.outputs.branch_name)
if: ${{ github.event.inputs.version != '' && steps.intermedia.outputs.branch_exist != '0' && !contains(steps.intermedia.outputs.short_ref, steps.intermedia.outputs.branch_name) }}
run: |
echo " You need to run the workflow on branch v${{steps.regex-match.outputs.group1}}.x
exit 1
- name: Check input version is aligned with branch(main)
if: steps.intermedia.outputs.branch_exist == '0' && !contains(steps.intermedia.outputs.short_ref, 'main')
if: ${{ github.event.inputs.version != '' && steps.intermedia.outputs.branch_exist == '0' && !contains(steps.intermedia.outputs.short_ref, 'main') }}
run: |
echo "When you want to deliver a new new minor version, you might want to create a new branch first \
with naming convention v[major].[minor].x, and just run the workflow on that branch. \
@@ -53,13 +78,21 @@ jobs:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
- uses: actions/setup-node@v2.4.1
- uses: actions/setup-node@v2.5.1
with:
node-version: '14'
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run bump version
- name: Run bump version (manually invoked)
if: ${{ github.event.inputs.version != '' }}
uses: ./actions/bump-version
with:
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
- name: Run bump version (workflow invoked)
if: ${{ inputs.version_call != '' }}
uses: ./actions/bump-version
with:
version_call: ${{ inputs.version_call }}
token: ${{ secrets.token }}
metricsWriteAPIKey: ${{ secrets.metricsWriteAPIKey }}
+39
View File
@@ -0,0 +1,39 @@
name: Close milestone
on:
workflow_dispatch:
inputs:
version:
required: true
description: Needs to match, exactly, the name of a milestone
workflow_call:
inputs:
version_call:
description: Needs to match, exactly, the name of a milestone
required: true
type: string
secrets:
token:
required: true
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Close milestone (manually invoked)
if: ${{ github.event.inputs.version != '' }}
uses: ./actions/close-milestone
with:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
- name: Close milestone (workflow invoked)
if: ${{ inputs.version_call != '' }}
uses: ./actions/close-milestone
with:
version_call: ${{ inputs.version_call }}
token: ${{ secrets.token }}
+1 -1
View File
@@ -1,7 +1,7 @@
name: Run commands when issues are labeled or comments added
on:
issues:
types: [labeled]
types: [labeled, unlabeled]
issue_comment:
types: [created]
@@ -0,0 +1,141 @@
name: Levitate / Detect breaking changes
on: pull_request
jobs:
buildPR:
name: Build PR
runs-on: ubuntu-latest
defaults:
run:
working-directory: './pr'
steps:
- uses: actions/checkout@v2
with:
path: './pr'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- name: Restore yarn cache
uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
restore-keys: |
yarn-cache-folder-
- name: Install dependencies
run: yarn install --immutable
- name: Build packages
run: yarn packages:build
- name: Zip built packages
run: zip -r ./pr_built_packages.zip ./packages/**/dist
- name: Upload build output as artifact
uses: actions/upload-artifact@v2
with:
name: buildPr
path: './pr/pr_built_packages.zip'
buildMain:
name: Build Main
runs-on: ubuntu-latest
defaults:
run:
working-directory: './main'
steps:
- uses: actions/checkout@v2
with:
path: './main'
ref: 'main'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- name: Restore yarn cache
uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
restore-keys: |
yarn-cache-folder-
- name: Install dependencies
run: yarn install --immutable
- name: Build packages
run: yarn packages:build
- name: Zip built packages
run: zip -r ./main_built_packages.zip ./packages/**/dist
- name: Upload build output as artifact
uses: actions/upload-artifact@v2
with:
name: buildMain
path: './main/main_built_packages.zip'
Detect:
name: Detect breaking changes
runs-on: ubuntu-latest
needs: ['buildPR', 'buildMain']
env:
GITHUB_STEP_NUMBER: 7
steps:
- uses: actions/checkout@v2
- name: Get built packages from pr
uses: actions/download-artifact@v2
with:
name: buildPr
- name: Get built packages from main
uses: actions/download-artifact@v2
with:
name: buildMain
- name: Unzip artifact from pr
run: unzip pr_built_packages.zip -d ./pr && rm pr_built_packages.zip
- name: Unzip artifact from main
run: unzip main_built_packages.zip -d ./main && rm main_built_packages.zip
- name: Get link for the Github Action job
id: job
uses: actions/github-script@v5
with:
script: |
const script = require('./.github/workflows/scripts/pr-get-job-link.js')
await script({github, context, core})
- name: Detect breaking changes
id: breaking-changes
run: ./scripts/check-breaking-changes.sh
env:
FORCE_COLOR: 3
GITHUB_JOB_LINK: ${{ steps.job.outputs.link }}
- name: Persisting the check output
run: |
mkdir -p ./levitate
echo "{ \"exit_code\": ${{ steps.breaking-changes.outputs.is_breaking }}, \"message\": \"${{ steps.breaking-changes.outputs.message }}\", \"job_link\": \"${{ steps.job.outputs.link }}#step:${GITHUB_STEP_NUMBER}:1\" }" > ./levitate/result.json
- name: Upload check output as artifact
uses: actions/upload-artifact@v2
with:
name: levitate
path: levitate/
- name: Exit
run: exit ${{ steps.breaking-changes.outputs.is_breaking }}
shell: bash
@@ -0,0 +1,163 @@
name: Levitate / Report breaking changes
on:
workflow_run:
workflows: ["Levitate / Detect breaking changes"]
types: [completed]
jobs:
notify:
name: Report
runs-on: ubuntu-latest
env:
ARTIFACT_FOLDER: '${{ github.workspace }}/tmp'
ARTIFACT_NAME: 'levitate'
steps:
- uses: actions/checkout@v2
- name: 'Download artifact'
uses: actions/github-script@v5
env:
RUN_ID: ${{ github.event.workflow_run.id }}
with:
script: |
const fs = require('fs');
const { owner, repo } = context.repo;
const runId = process.env.RUN_ID;
const artifactName = process.env.ARTIFACT_NAME;
const artifactFolder = process.env.ARTIFACT_FOLDER;
const artifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner,
repo,
run_id: runId,
});
const artifact = artifacts.data.artifacts.find(a => a.name === artifactName);
if (!artifact) {
throw new Error(`Could not find artifact ${ artifactName } in workflow (${ runId })`);
}
const download = await github.rest.actions.downloadArtifact({
owner,
repo,
artifact_id: artifact.id,
archive_format: 'zip',
});
fs.mkdirSync(artifactFolder, { recursive: true });
fs.writeFileSync(`${ artifactFolder }/${ artifactName }.zip`, Buffer.from(download.data));
- name: Unzip artifact
run: unzip "${ARTIFACT_FOLDER}/${ARTIFACT_NAME}.zip" -d "${ARTIFACT_FOLDER}"
- name: Parsing levitate result
uses: actions/github-script@v5
id: levitate-run
with:
script: |
const filePath = `${ process.env.ARTIFACT_FOLDER }/result.json`;
const script = require('./.github/workflows/scripts/json-file-to-job-output.js');
await script({ core, filePath });
- name: Check if "breaking change" label exists
id: does-label-exist
uses: actions/github-script@v5
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
script: |
const { data } = await github.rest.issues.listLabelsOnIssue({
issue_number: process.env.PR_NUMBER,
owner: context.repo.owner,
repo: context.repo.repo,
});
const labels = data.map(({ name }) => name);
const doesExist = labels.includes('breaking change');
return doesExist ? 1 : 0;
- name: Comment on PR
if: ${{ steps.levitate-run.outputs.exit_code == 1 }}
uses: marocchino/sticky-pull-request-comment@v2
with:
number: ${{ github.event.workflow_run.pull_requests[0].number }}
message: |
⚠️ &nbsp;&nbsp;**Possible breaking changes**
_(Open the links below in a new tab to go to the correct steps)_
${{ steps.levitate-run.outputs.message }}
[Check console output](${{ steps.levitate-run.outputs.job_link }})
- name: Remove comment on PR
if: ${{ steps.levitate-run.outputs.exit_code == 0 }}
uses: marocchino/sticky-pull-request-comment@v2
with:
number: ${{ github.event.workflow_run.pull_requests[0].number }}
delete: true
- name: Add "breaking change" label
if: ${{ steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 }}
uses: actions/github-script@v5
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
script: |
await github.rest.issues.addLabels({
issue_number: process.env.PR_NUMBER,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['breaking change']
})
- name: Remove "breaking change" label
if: ${{ steps.levitate-run.outputs.exit_code == 0 && steps.does-label-exist.outputs.result == 1 }}
uses: actions/github-script@v5
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
script: |
await github.rest.issues.removeLabel({
issue_number: process.env.PR_NUMBER,
owner: context.repo.owner,
repo: context.repo.repo,
name: 'breaking change'
})
# This is very weird, the actual request goes through (comes back with a 201), but does not assign the team.
# Related issue: https://github.com/renovatebot/renovate/issues/1908
- name: Add "grafana/plugins-platform-frontend" as a reviewer
if: ${{ steps.levitate-run.outputs.exit_code == 1 }}
uses: actions/github-script@v5
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
script: |
await github.rest.pulls.requestReviewers({
pull_number: process.env.PR_NUMBER,
owner: context.repo.owner,
repo: context.repo.repo,
reviewers: [],
team_reviewers: ['grafana/plugins-platform-frontend']
});
- name: Remove "grafana/plugins-platform-frontend" from the list of reviewers
if: ${{ steps.levitate-run.outputs.exit_code == 0 }}
uses: actions/github-script@v5
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
script: |
await github.rest.pulls.removeRequestedReviewers({
pull_number: process.env.PR_NUMBER,
owner: context.repo.owner,
repo: context.repo.repo,
reviewers: [],
team_reviewers: ['grafana/plugins-platform-frontend']
});
+21
View File
@@ -0,0 +1,21 @@
name: Close Milestone
on:
workflow_dispatch:
inputs:
version_input:
description: 'The version to be released please respect: major.minor.patch or major.minor.patch-beta<number> format. example: 7.4.3 or 7.4.3-beta1'
required: true
jobs:
call-remove-milestone:
uses: grafana/grafana/.github/workflows/remove-milestone.yml@main
with:
version_call: ${{ github.event.inputs.version_input }}
secrets:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
call-close-milestone:
uses: grafana/grafana/.github/workflows/close-milestone.yml@main
with:
version_call: ${{ github.event.inputs.version_input }}
secrets:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
needs: call-remove-milestone
+6 -1
View File
@@ -1,9 +1,13 @@
name: PR Checks
on:
pull_request:
pull_request_target:
types:
- opened
- reopened
- synchronize
- ready_for_review
- labeled
- unlabeled
issues:
types:
- milestoned
@@ -12,6 +16,7 @@ on:
jobs:
main:
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- name: Checkout Actions
uses: actions/checkout@v2
+23
View File
@@ -0,0 +1,23 @@
name: Prepare release
on:
workflow_dispatch:
inputs:
version_input:
description: 'The version to be released please respect: major.minor.patch or major.minor.patch-beta<number> format. example: 7.4.3 or 7.4.3-beta1'
required: true
jobs:
call-bump-version:
uses: grafana/grafana/.github/workflows/bump-version.yml@main
with:
version_call: ${{ github.event.inputs.version_input }}
secrets:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
call-update-changelog:
uses: grafana/grafana/.github/workflows/update-changelog.yml@main
with:
version_call: ${{ github.event.inputs.version_input }}
secrets:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
needs: call-bump-version
+2 -2
View File
@@ -17,14 +17,14 @@ jobs:
- uses: actions/checkout@v1
- run: git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.GH_BOT_ACCESS_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync
- name: generate-packages-docs
uses: actions/setup-node@v2.4.1
uses: actions/setup-node@v2.5.1
id: generate-docs
with:
node-version: '14'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- uses: actions/cache@v2.1.6
- uses: actions/cache@v2.1.7
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-${{ hashFiles('**/yarn.lock') }}
+18 -2
View File
@@ -5,6 +5,15 @@ on:
version:
required: true
description: Needs to match, exactly, the name of a milestone
workflow_call:
inputs:
version_call:
description: Needs to match, exactly, the name of a milestone
required: true
type: string
secrets:
token:
required: true
jobs:
main:
runs-on: ubuntu-latest
@@ -17,7 +26,14 @@ jobs:
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Remove milestone from open issues
- name: Remove milestone from open issues (manually invoked)
if: ${{ github.event.inputs.version != '' }}
uses: ./actions/remove-milestone
with:
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
- name: Remove milestone from open issues (workflow invoked)
if: ${{ inputs.version_call != '' }}
uses: ./actions/remove-milestone
with:
version_call: ${{ inputs.version_call }}
token: ${{ secrets.token }}
@@ -0,0 +1,27 @@
module.exports = async ({ core, filePath }) => {
try {
const fs = require('fs');
const content = await readFile(fs, filePath);
const result = JSON.parse(content);
core.startGroup('Parsing json file...');
for (const property in result) {
core.info(`${property} <- ${result[property]}`);
core.setOutput(property, result[property]);
}
core.endGroup();
} catch (error) {
core.restFailed(error.message);
}
}
async function readFile(fs, path) {
return new Promise((resolve, reject) => {
fs.readFile(path, (error, data) => {
if (error) return reject(error);
return resolve(data);
});
});
}
@@ -0,0 +1,9 @@
module.exports = async ({ github, context, core }) => {
const { owner, repo } = context.repo;
const url = `https://api.github.com/repos/${owner}/${repo}/actions/runs/${context.runId}/jobs`
const result = await github.request(url)
const link = `https://github.com/grafana/grafana/runs/${result.data.jobs[0].id}?check_suite_focus=true`;
core.setOutput('link', link);
}
+24 -5
View File
@@ -3,8 +3,19 @@ on:
workflow_dispatch:
inputs:
version:
required: true
required: true
description: Needs to match, exactly, the name of a milestone
workflow_call:
inputs:
version_call:
description: Needs to match, exactly, the name of a milestone
required: true
type: string
secrets:
token:
required: true
metricsWriteAPIKey:
required: true
jobs:
main:
runs-on: ubuntu-latest
@@ -14,11 +25,19 @@ jobs:
with:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run update changelog
- name: Run update changelog (manually invoked)
if: ${{ github.event.inputs.version != '' }}
uses: ./actions/update-changelog
with:
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
- name: Run update changelog (workflow invoked)
if: ${{ inputs.version_call != '' }}
uses: ./actions/update-changelog
with:
version_call: ${{ inputs.version_call }}
token: ${{ secrets.token }}
metricsWriteAPIKey: ${{ secrets.metricsWriteAPIKey }}
+13
View File
@@ -13,6 +13,7 @@ public/dist/tsconfig.tsbuildinfo
/emails/dist
/reports
/e2e/tmp
/scripts/grafana-server/tmp
vendor/
/docs/menu.yaml
/requests
@@ -136,6 +137,12 @@ compilation-stats.json
/e2e/**/screenshots
!/e2e/**/screenshots/expected/*
/e2e/**/videos/*
/e2e/benchmarks/**/results/*
/e2e/benchmarks/**/results
/e2e/build_results.zip
# grafana server
/scripts/grafana-server/server.log
# a11y tests
/pa11y-ci-results.json
@@ -149,5 +156,11 @@ compilation-stats.json
# auto generated Go files
*_gen.go
!pkg/services/featuremgmt/toggles_gen.go
# Auto-generated localisation files
public/locales/_build/
public/locales/**/*.js
deployment_tools_config.json
+32
View File
@@ -0,0 +1,32 @@
{
"locales": [
"en",
"fr",
"es",
"pseudo-LOCALE"
],
"catalogs": [
{
"path": "public/locales/{locale}/messages",
"include": [
"public/app"
],
"exclude": [
"**/*.d.ts",
"**/*.test.ts",
"**/node_modules/**",
"public/app/plugins"
]
}
],
"fallbackLocales": {
"pseudo-LOCALE": "en",
"default": "en"
},
"pseudoLocale": "pseudo-LOCALE",
"sourceLocale": "en",
"format": "po",
"formatOptions": {
"lineNumbers": false
}
}
+1
View File
@@ -0,0 +1 @@
v16.13.2
+1
View File
@@ -7,6 +7,7 @@ public/vendor/
vendor/
/data/
e2e/tmp
scripts/grafana-server/tmp
public/build/
public/sass/*.generated.scss
devenv/
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "typescript",
"version": "4.4.3-sdk",
"version": "4.4.4-sdk",
"main": "./lib/typescript.js",
"type": "commonjs"
}
+19 -16
View File
@@ -9,36 +9,35 @@ packageExtensions:
"@mdx-js/loader@1.6.22":
peerDependencies:
react: 17.0.1
"@storybook/addon-docs@6.4.4":
"@storybook/addon-docs@6.4.13":
peerDependencies:
"@storybook/manager-webpack5": 6.4.4
"@storybook/addon-essentials@6.4.4":
"@storybook/manager-webpack5": 6.4.13
"@storybook/addon-essentials@6.4.13":
peerDependencies:
"@storybook/components": 6.4.4
"@storybook/core-events": 6.4.4
"@storybook/manager-webpack5": 6.4.4
"@storybook/theming": 6.4.4
"@storybook/core-server@6.4.4":
"@storybook/components": 6.4.13
"@storybook/core-events": 6.4.13
"@storybook/manager-webpack5": 6.4.13
"@storybook/theming": 6.4.13
"@storybook/core-server@6.4.13":
peerDependencies:
"@babel/core": ^7.0.0
"@storybook/core@6.4.4":
"@storybook/core@6.4.13":
peerDependencies:
"@babel/core": ^7.0.0
"@storybook/manager-webpack5": 6.4.4
"@storybook/csf-tools@6.4.4":
"@storybook/manager-webpack5": 6.4.13
"@storybook/csf-tools@6.4.13":
peerDependencies:
"@babel/core": ^7.0.0
"@storybook/react@6.4.4":
"@storybook/react@6.4.13":
peerDependencies:
"@storybook/manager-webpack5": 6.4.4
"@storybook/manager-webpack5": 6.4.13
doctrine@3.0.0:
dependencies:
assert: 2.0.0
moveable@0.26.0:
moveable@0.27.3:
dependencies:
"@daybrush/utils": 1.6.0
framework-utils: ^1.1.0
react-simple-compat: 1.2.1
rc-time-picker@3.7.3:
peerDependencies:
react: 17.0.1
@@ -47,7 +46,10 @@ packageExtensions:
peerDependencies:
react: 17.0.1
react-dom: 17.0.1
react-compat-moveable@0.14.0:
react-compat-css-styled@1.0.8:
dependencies:
react-simple-compat: 1.2.1
react-compat-moveable@0.15.2:
dependencies:
"@egjs/agent": ^2.2.1
"@egjs/children-differ": ^1.0.1
@@ -55,6 +57,7 @@ packageExtensions:
css-to-mat: ^1.0.3
gesto: ^1.4.0
overlap-area: ^1.0.0
react-simple-compat: 1.2.1
peerDependencies:
framework-utils: ^1.1.0
react-dev-utils@11.0.4:
+68
View File
@@ -1,3 +1,61 @@
<!-- 8.4.0-beta1 START -->
# 8.4.0-beta1 (2022-02-02)
### Features and enhancements
- **Alerting:** Support WeCom as a contact point type. [#40975](https://github.com/grafana/grafana/pull/40975), [@smallpath](https://github.com/smallpath)
- **Alerting:** UI for mute timings. [#41578](https://github.com/grafana/grafana/pull/41578), [@nathanrodman](https://github.com/nathanrodman)
- **Alerting:** add settings for peer reconnection in HA mode. [#42300](https://github.com/grafana/grafana/pull/42300), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
- **Auth:** implement auto_sign_up for auth.jwt. [#37040](https://github.com/grafana/grafana/pull/37040), [@Roguelazer](https://github.com/Roguelazer)
- **Dashboard:** Add Show unknown variables toggle to dashboard settings. [#41854](https://github.com/grafana/grafana/pull/41854), [@hugohaggmark](https://github.com/hugohaggmark)
- **Instrumentation:** Logger migration from log15 to gokit/log. [#41636](https://github.com/grafana/grafana/pull/41636), [@ying-jeanne](https://github.com/ying-jeanne)
- **MSSQL:** Change regex to validate Provider connection string. [#40248](https://github.com/grafana/grafana/pull/40248), [@ianselmi](https://github.com/ianselmi)
- **MSSQL:** Configuration of certificate verification for TLS connection. [#31865](https://github.com/grafana/grafana/pull/31865), [@mortenaa](https://github.com/mortenaa)
- **Middleware:** Don't require HTTPS for HSTS headers to be emitted. [#35147](https://github.com/grafana/grafana/pull/35147), [@alexmv](https://github.com/alexmv)
- **Navigation:** Implement Keyboard Navigation. [#41618](https://github.com/grafana/grafana/pull/41618), [@axelavargas](https://github.com/axelavargas)
- **News:** Reload feed when changing the time range or refreshing. [#42217](https://github.com/grafana/grafana/pull/42217), [@ashharrison90](https://github.com/ashharrison90)
- **UI/Plot:** Implement keyboard controls for plot cursor. [#42244](https://github.com/grafana/grafana/pull/42244), [@kaydelaney](https://github.com/kaydelaney)
<!-- 8.4.0-beta1 END -->
<!-- 8.3.4 START -->
# 8.3.4 (2022-01-17)
### Features and enhancements
- **Alerting:** Allow configuration of non-ready alertmanagers. [#43063](https://github.com/grafana/grafana/pull/43063), [@alexweav](https://github.com/alexweav)
- **Alerting:** Allow customization of Google chat message. [#43568](https://github.com/grafana/grafana/pull/43568), [@alexweav](https://github.com/alexweav)
- **Alerting:** Allow customization of Google chat message (#43568). [#43723](https://github.com/grafana/grafana/pull/43723), [@alexweav](https://github.com/alexweav)
- **AppPlugins:** Support app plugins with only default nav. [#43016](https://github.com/grafana/grafana/pull/43016), [@torkelo](https://github.com/torkelo)
- **InfluxDB:** InfluxQL: query editor: skip fields in metadata queries. [#42543](https://github.com/grafana/grafana/pull/42543), [@gabor](https://github.com/gabor)
- **Postgres/MySQL/MSSQL:** Cancel in-flight SQL query if user cancels query in grafana. [#43890](https://github.com/grafana/grafana/pull/43890), [@mdvictor](https://github.com/mdvictor)
- **Prometheus:** Forward oauth tokens after prometheus datasource migration. [#43686](https://github.com/grafana/grafana/pull/43686), [@MasslessParticle](https://github.com/MasslessParticle)
### Bug fixes
- **Azure Monitor:** Bug fix for variable interpolations in metrics dropdowns. [#43251](https://github.com/grafana/grafana/pull/43251), [@sarahzinger](https://github.com/sarahzinger)
- **Azure Monitor:** Improved error messages for variable queries. [#43213](https://github.com/grafana/grafana/pull/43213), [@sunker](https://github.com/sunker)
- **CloudMonitoring:** Fixes broken variable queries that use group bys. [#43914](https://github.com/grafana/grafana/pull/43914), [@sunker](https://github.com/sunker)
- **Configuration:** You can now see your expired API keys if you have no active ones. [#42452](https://github.com/grafana/grafana/pull/42452), [@ashharrison90](https://github.com/ashharrison90)
- **Elasticsearch:** Fix handling multiple datalinks for a single field. [#44029](https://github.com/grafana/grafana/pull/44029), [@Elfo404](https://github.com/Elfo404)
- **Export:** Fix error being thrown when exporting dashboards using query variables that reference the default datasource. [#44034](https://github.com/grafana/grafana/pull/44034), [@ashharrison90](https://github.com/ashharrison90)
- **ImportDashboard:** Fixes issue with importing dashboard and name ending up in uid. [#43451](https://github.com/grafana/grafana/pull/43451), [@torkelo](https://github.com/torkelo)
- **Login:** Page no longer overflows on mobile. [#43739](https://github.com/grafana/grafana/pull/43739), [@ashharrison90](https://github.com/ashharrison90)
- **Plugins:** Set backend metadata property for core plugins. [#43349](https://github.com/grafana/grafana/pull/43349), [@marefr](https://github.com/marefr)
- **Prometheus:** Fill missing steps with null values. [#43622](https://github.com/grafana/grafana/pull/43622), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus:** Fix interpolation of $\_\_rate_interval variable. [#44035](https://github.com/grafana/grafana/pull/44035), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus:** Interpolate variables with curly brackets syntax. [#42927](https://github.com/grafana/grafana/pull/42927), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus:** Respect the http-method data source setting. [#42753](https://github.com/grafana/grafana/pull/42753), [@gabor](https://github.com/gabor)
- **Table:** Fixes issue with field config applied to wrong fields when hiding columns. [#43376](https://github.com/grafana/grafana/pull/43376), [@torkelo](https://github.com/torkelo)
- **Toolkit:** Fix bug with rootUrls not being properly parsed when signing a private plugin. [#43014](https://github.com/grafana/grafana/pull/43014), [@dessen-xu](https://github.com/dessen-xu)
- **Variables:** Fix so data source variables are added to adhoc configuration. [#43881](https://github.com/grafana/grafana/pull/43881), [@hugohaggmark](https://github.com/hugohaggmark)
### Plugin development fixes & changes
- **Toolkit:** Revert build config so tslib is bundled with plugins to prevent plugins from crashing. [#43556](https://github.com/grafana/grafana/pull/43556), [@mckn](https://github.com/mckn)
<!-- 8.3.4 END -->
<!-- 8.3.3 START -->
# 8.3.3 (2021-12-10)
@@ -1222,6 +1280,16 @@ Issue [#33352](https://github.com/grafana/grafana/issues/33352)
<!-- 8.0.0-beta1 END -->
<!-- 7.5.13 START -->
# 7.5.13 (2022-01-18)
### Bug fixes
- **[v7.5.x] Alerting:** Fix NoDataFound for alert rules using AND operator (#41305). [#44066](https://github.com/grafana/grafana/pull/44066), [@armandgrillet](https://github.com/armandgrillet)
<!-- 7.5.13 END -->
<!-- 7.5.11 START -->
# 7.5.11 (2021-10-05)
+6 -2
View File
@@ -46,6 +46,10 @@ If you have an idea of how to improve Grafana, submit an [enhancement request](h
We want to make Grafana accessible to even more people. Submit an [accessibility issue](https://github.com/grafana/grafana/issues/new?labels=type%3A+accessibility&template=3-accessibility.md) to help us understand what we can improve.
### Write documentation
To edit or write technical content, refer to [Contribute to our documentation](/contribute/documentation/README.md). We welcome your expertise and input as our body of technical content grows.
### Triage issues
If you don't have the knowledge or time to code, consider helping with _issue triage_. The community will thank you for saving them time by spending some of yours.
@@ -76,6 +80,6 @@ Before we can accept your pull request, you need to [sign our CLA](https://grafa
## Where do I go from here?
- Set up your [development environment](contribute/developer-guide.md).
- Learn how to [contribute documentation](contribute/documentation.md).
- Learn how to [contribute documentation](contribute/README.md).
- Get started [developing plugins](https://grafana.com/docs/grafana/latest/developers/plugins/) for Grafana.
- Look through the resources in the [contribute](https://github.com/grafana/grafana/tree/main/contribute) folder.
- Look through the resources in the [contribute](contribute) folder.
+3 -3
View File
@@ -1,4 +1,4 @@
FROM node:16-alpine3.14 as js-builder
FROM node:16-alpine3.15 as js-builder
ENV NODE_OPTIONS=--max_old_space_size=8000
@@ -20,7 +20,7 @@ COPY emails emails
ENV NODE_ENV production
RUN yarn build
FROM golang:1.17.3-alpine3.14 as go-builder
FROM golang:1.17.6-alpine3.15 as go-builder
RUN apk add --no-cache gcc g++ make
@@ -39,7 +39,7 @@ RUN go mod verify
RUN make build-go
# Final stage
FROM alpine:3.14.3
FROM alpine:3.15
LABEL maintainer="Grafana team <hello@grafana.com>"
+2 -2
View File
@@ -1,4 +1,4 @@
FROM node:16-alpine3.14 as js-builder
FROM node:16-alpine3.15 as js-builder
ENV NODE_OPTIONS=--max_old_space_size=8000
@@ -21,7 +21,7 @@ COPY emails emails
ENV NODE_ENV production
RUN yarn build
FROM golang:1.17.3 AS go-builder
FROM golang:1.17.6 AS go-builder
WORKDIR /src/grafana
+1 -1
View File
@@ -79,7 +79,7 @@ The current team members are:
- Dominik Prokop ([Grafana Labs](https://grafana.com/))
- Emil Tullstedt ([Grafana Labs](https://grafana.com/))
- Erik Sundell ([Grafana Labs](https://grafana.com/))
- Fredrik Enestad ([Soundtrack Your Brand](https://www.soundtrackyourbrand.com/))
- Fredrik Enestad ([Embark Studios](https://www.embark-studios.com/))
- Hugo Häggmark ([Grafana Labs](https://grafana.com/))
- Ivana Huckova ([Grafana Labs](https://grafana.com/))
- Jeroen Op 't Eynde ([Grafana Labs](https://grafana.com/))
+1 -1
View File
@@ -21,7 +21,7 @@ grafana-mixin/
cue/
```
The following directories and their subdirectories are the original upstream licenses:
The following directories and their subdirectories are licensed under their original upstream licenses:
```
public/vendor/
+2 -1
View File
@@ -38,7 +38,8 @@
"@babel/plugin-proposal-nullish-coalescing-operator",
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-syntax-dynamic-import", // needed for `() => import()` in routes.ts
"angularjs-annotate"
"angularjs-annotate",
"macros"
],
"env": {
"production": {
+18 -5
View File
@@ -235,7 +235,7 @@ admin_password = admin
secret_key = SW2YcwTIb9zpOOhoPsMm
# current key provider used for envelope encryption, default to static value specified by secret_key
encryption_provider = secretKey
encryption_provider = secretKey.v1
# list of configured key providers, space separated (Enterprise only): e.g., awskms.v1 azurekv.v1
available_encryption_providers =
@@ -259,7 +259,6 @@ cookie_samesite = lax
allow_embedding = false
# Set to true if you want to enable http strict transport security (HSTS) response header.
# This is only sent when HTTPS is enabled in this configuration.
# HSTS tells browsers that the site should only be accessed using HTTPS.
strict_transport_security = false
@@ -294,8 +293,8 @@ content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-in
[snapshots]
# snapshot sharing options
external_enabled = true
external_snapshot_url = https://snapshots-origin.raintank.io
external_snapshot_name = Publish to snapshot.raintank.io
external_snapshot_url = https://snapshots.raintank.io
external_snapshot_name = Publish to snapshots.raintank.io
# Set to true to enable this Grafana instance act as an external snapshot server and allow unauthenticated requests for
# creating and deleting snapshots.
@@ -564,6 +563,7 @@ jwk_set_file =
cache_ttl = 60m
expected_claims = {}
key_file =
auto_sign_up = false
#################################### Auth LDAP ###########################
[auth.ldap]
@@ -865,6 +865,11 @@ max_annotations_to_keep =
# Enable the Explore section
enabled = true
#################################### Query History #############################
[query_history]
# Enable the Query history
enabled = false
#################################### Internal Grafana Metrics ############
# Metrics available at HTTP API Url /metrics
[metrics]
@@ -1076,9 +1081,17 @@ grpc_port =
license_path =
[feature_toggles]
# enable features, separated by spaces
# there are currently two ways to enable feature toggles in the `grafana.ini`.
# you can either pass an array of feature you want to enable to the `enable` field or
# configure each toggle by setting the name of the toggle to true/false. Toggles set to true/false
# will take precedence over toggles in the `enable` list.
# enable = feature1,feature2
enable =
# feature1 = true
# feature2 = false
[date_formats]
# For information on what formatting patterns that are supported https://momentjs.com/docs/#/displaying/
+18 -6
View File
@@ -235,7 +235,7 @@
;secret_key = SW2YcwTIb9zpOOhoPsMm
# current key provider used for envelope encryption, default to static value specified by secret_key
;encryption_provider = secretKey
;encryption_provider = secretKey.v1
# list of configured key providers, space separated (Enterprise only): e.g., awskms.v1 azurekv.v1
;available_encryption_providers =
@@ -259,7 +259,6 @@
;allow_embedding = false
# Set to true if you want to enable http strict transport security (HSTS) response header.
# This is only sent when HTTPS is enabled in this configuration.
# HSTS tells browsers that the site should only be accessed using HTTPS.
;strict_transport_security = false
@@ -294,8 +293,8 @@
[snapshots]
# snapshot sharing options
;external_enabled = true
;external_snapshot_url = https://snapshots-origin.raintank.io
;external_snapshot_name = Publish to snapshot.raintank.io
;external_snapshot_url = https://snapshots.raintank.io
;external_snapshot_name = Publish to snapshots.raintank.io
# Set to true to enable this Grafana instance act as an external snapshot server and allow unauthenticated requests for
# creating and deleting snapshots.
@@ -548,6 +547,7 @@
;cache_ttl = 60m
;expected_claims = {"aud": ["foo", "bar"]}
;key_file = /path/to/key/file
;auto_sign_up = false
#################################### Auth LDAP ##########################
[auth.ldap]
@@ -848,6 +848,11 @@
# Enable the Explore section
;enabled = true
#################################### Query History #############################
[query_history]
# Enable the Query history
;enabled = false
#################################### Internal Grafana Metrics ##########################
# Metrics available at HTTP API Url /metrics
[metrics]
@@ -1055,8 +1060,15 @@
;license_path =
[feature_toggles]
# enable features, separated by spaces
;enable =
# there are currently two ways to enable feature toggles in the `grafana.ini`.
# you can either pass an array of feature you want to enable to the `enable` field or
# configure each toggle by setting the name of the toggle to true/false. Toggles set to true/false
# will take presidence over toggles in the `enable` list.
;enable = feature1,feature2
;feature1 = true
;feature2 = false
[date_formats]
# For information on what formatting patterns that are supported https://momentjs.com/docs/#/displaying/
+1 -1
View File
@@ -3,7 +3,7 @@
This directory contains guides for contributors to the Grafana project.
- [Create a pull request](create-pull-request.md)
- [Contributing documentation](documentation.md)
- [Contribute documentation](../contribute/documentation/README.md)
- [Developer guide](developer-guide.md)
- [Triage issues](triage-issues.md)
- [Merge a pull request](merge-pull-request.md)
@@ -109,7 +109,7 @@ ctx := req.Request.Context()
query := &models.FindDashboardQuery{
ID: "foo",
}
if err := bus.DispatchCtx(ctx, query); err != nil {
if err := bus.Dispatch(ctx, query); err != nil {
return err
}
// The query now contains a result.
+8
View File
@@ -39,6 +39,14 @@ For alternative ways of cloning the Grafana repository, please refer to [GitHub'
**Warning:** Do not use `go get` to download Grafana. Recent versions of Go have added behavior which isn't compatible with the way the Grafana repository is structured.
### Configure Editors
For some IDEs, additional configuration may be needed for Typescript to work with [Yarn plug'n'play](https://yarnpkg.com/features/pnp).
For [VSCode](https://yarnpkg.com/getting-started/editor-sdks#vscode) and [Vim](https://yarnpkg.com/getting-started/editor-sdks#vim),
it's as easy as running `yarn dlx @yarnpkg/sdks vscode` or `yarn dlx @yarnpkg/sdks vim`, respectively.
More information can be found [here](https://yarnpkg.com/getting-started/editor-sdks).
## Build Grafana
Grafana consists of two components; the _frontend_, and the _backend_.
-42
View File
@@ -1,42 +0,0 @@
# Contributing to documentation
This documents guides you through the process of contributing to the Grafana documentation. Make sure you've read the guide for [Contributing to Grafana](/CONTRIBUTING.md).
## Your first contribution
If youre unsure about where to start, check out some of our [open docs issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3Atype%2Fdocs).
Sometimes it can be difficult to understand an issue when you're just getting started. Refer to this list of [beginner-friendly issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3Atype%2Fdocs+label%3A"beginner+friendly") for tasks suitable for first-time contributors.
When youve found an issue you want to work on, please comment on the issue to let other people know you intend to work on it.
If you encounter any misspellings or violations to the style guide, please let us know by submitting an issue (or just fix them if they are minor changes).
On every page in the [documentation](https://grafana.com/docs/) are two links in the upper right corner:
- **Edit this page** takes you directly to the file on GitHub where you can contribute a fix.
- **Request doc changes** prepares an issue on GitHub with relevant information already filled in.
## Join our community
For general discussions on documentation, youre welcome to join the `#docs` channel on our [public Grafana Slack](http://slack.raintank.io) team.
## Style and formatting
All Grafana documentation is written using [Markdown](https://en.wikipedia.org/wiki/Markdown), and can be found in the [docs](/docs) directory in the [Grafana GitHub repository](https://github.com/grafana/grafana). The [documentation website](https://grafana.com/docs) is generated with [Hugo](https://gohugo.io) which uses [Blackfriday](https://github.com/russross/blackfriday) as its Markdown rendering engine.
### Documentation structure
The Grafana documentation is organized into topics, called _sections_. You can take a look at the current build at [grafana.com/docs/](https://grafana.com/docs/).
Each top-level section is located under the [docs/sources](/docs/sources) directory. Subsections are added by creating a subdirectory in the directory of the parent section.
For each section, an `_index.md` file provides an overview of the topic.
### Style guide
Refer to the [Documentation style guide](style-guides/documentation-style-guide.md) for information about Grafana style, word choice, and grammar conventions.
### Spelling
The [codespell](https://github.com/codespell-project/codespell) tool is run for every change to catch common misspellings.
+235
View File
@@ -0,0 +1,235 @@
# Contribute to our documentation
We provide these guidelines to help our contributors make additions or corrections to our documentation.
## Welcome
Welcome. We're glad you're here to help make our technical documentation even better. We develop content that leads our users to success using Grafana products. Technical accuracy is our primary consideration, and we value the use of inclusive language. We regard your feedback as a gift - thanks for reading through these guidelines.
### Intended audience
We write these guidelines for contributors who are interested in improving our technical content.
## Understanding the structure of Grafana documentation
All Grafana Enterprise and OSS documentation is located in the [Grafana open source project](https://github.com/grafana/grafana) GitHub repository: https://github.com/grafana/grafana/tree/main/docs/sources.
- The **sources** directory organizes content by topic areas, for example **administration** and **alerting**.
- Topic directories include an `_index.md` file, which provides an overview of the topic, and optionally includes subtopics that provide more detail.
> The `_index.md` file is required.
### Writing in markdown
We write technical documentation using [Markdown](https://en.wikipedia.org/wiki/Markdown). We've put together a short guide to help you how to structure and format your content.
To access the markdown guide, refer to [Markdown style guide](documentation-markdown-guide.md).
## Ways to contribute
We're thrilled that you are considering contributing to the documentation. You can contribute content in the following ways:
- [Request a change](#request-a-change)
- [Edit a topic](#edit-a-topic)
- [Write a topic](#write-a-topic)
### Request a change
Request a change when you want to make a suggestion about a topic, but don't want to provide an edit that generates a pull request. Requesting a change gives you the freedom to express your ideas without committing language. Your suggestion can reflect a small change to wording or can reflect larger, more substantive changes.
GitHub captures your request as an **Issue** logged against the repository.
Before you begin:
- Create a GitHub account.
To request a change, complete the following steps:
1. While viewing the topic, click **Request a change**.
The Issue title auto-populates with the location of the file about which you are requesting a change.
![Request a change](request-change.png)
2. Enter a change request description.
3. Add the **type/docs** label.
4. Click **Submit new issue**.
### Edit a topic
If you want to recommend a small change, such as suggesting a correction to a topic, you can edit the topic directly in GitHub. You are not required to fork and clone the repo to use this approach.
Other small changes might include:
- Adding steps to a task
- Adding clarifying language to a concept
- Providing an example
Before you begin:
- Create a GitHub account.
To edit a topic, complete the following steps:
1. While viewing the topic you want to edit, click **Edit this page**.
![Edit a topic](edit-file.png)
2. Add your changes to the topic.
3. Scroll to the bottom of the page and enter a branch name.
For example, enter `clarified dashboard panel definition`.
4. Click **Commit**.
GitHub prompts you to create a PR.
5. Complete the prompts provided in the body of the PR.
6. Click **Create pull request**.
### Write a topic
At Grafana Labs, we use the principles of topic-based authoring when we write technical documentation. Topic-based authoring provides guidelines for writing three _types_ of technical documentation: concept, task, and reference. Before you begin writing, establish the topic type you want to write.
#### Understanding topic types
Technical content is divided into three topic types: concept, task, and reference.
- **Concept**: A concept topic explains _what_ a feature (or idea) is, and why it is important.
- **Task**: A task topic explains _how_ to complete an end user procedure in the system. Task topics contain steps.
- **Reference** A reference topic contains lookup information that a user might consult when they complete a task. Documenting a list of values with descriptions is a common form of reference topic.
**Example**
Suppose you are writing content for a site called _Doggie handbook_. You might organize your topics like this:
**Concepts**
- What a dog is
- Brief history of dogs
- Why you might want a dog
- Tasks dogs can be trained to do
**Tasks**
- Feed the dog
- Groom the dog
- Train the dog
**References**
- List of dog equipment you will need
- Table of breeds that includes breed name, size range, short or long hair, and type of dog
#### Prepare your environment
Before you begin writing, we recommend that you fork and clone the Grafana repository so that you can use a text editor locally to create branches, commit your changes, and create a PR.
While this document doesn't include git commands or descriptions of Github operations, you might find these links useful.
- [Install git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git): We store all source code, including documentation, in Git repositories.
- [Fork a repo](https://docs.github.com/en/get-started/quickstart/fork-a-repo): Locate the repo you want to clone, and fork it.
- [Clone a repo](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository): Clone the repository to your local machine.
- [Create a branch](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging): Before you make change, create a branch. Do not push changes against the `main` branch.
- [Create a PR](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request): After you add, commit, and push your changes, create a PR in Github.
#### Use a documentation template to contribute a topic
We have provided documentation templates that align with each topic type:
- [Concept](templates/doc-concept-template.md)
- [Task](templates/doc-task-template.md)
- [Reference](templates/doc-reference-template.md)
Each template provides additional usage and formatting guidelines. We recommend that you make a copy of whichever template you are using, then add content.
> Remove any unused content before you commit your changes.
#### View a local build
Prior to pushing your changes, you can view a local build of the documentation so that you can review your work.
To view a local build:
1. Install [Docker](https://www.docker.com/products/docker-desktop).
1. Run Docker.
1. Navigate to the **docs** root directory.
1. Run `make build`.
1. Open `localhost:3002` to review your changes.
## Push changes and create a PR
When you are ready for other people to review your work, perform the following tasks.
1. [Add](https://git-scm.com/docs/git-add) your changes, which prepares your content for the next commit.
1. [Commit](https://git-scm.com/docs/git-commit) your changes.
1. [Push](https://git-scm.com/docs/git-push) your changes to Github.
1. [Create a PR](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) in Github.
The docs build system automatically conducts a series of tests to ensure that the content doesn't conflict with other content in the docs repository.
### Understanding the PR review and approval workflow
When a PR is added to the repo with a label associated with `docs`, it will be reviewed by a member of the technical writing team. Depending on the size of the PR and the priority of other work, the PR will either be immediately reviewed and merged (minor fixes typically follow this pattern) or the PR will be triaged and placed in the backlog of work or moved into further development.
## Join our community
For general discussions on documentation, youre welcome to join the `#docs` channel on our [public Grafana Slack](http://slack.raintank.io) team.
## Reference: Top five writing tips
While we don't provide a comprehensive style guide in this document, here's a few writing tips to help the writing process.
### Consider the audience
Write for an audience that is computer literate and has general technical knowledge, but is not necessarily familiar with Grafana or the finer points of observability.
Pretend you are explaining your topic to a brand new Grafana user or developer.
### Write clear and concise sentences and paragraphs
Use the following sentence structure when you write: _subject_—_verb_—_object_. If you are telling a user to do something, write an imperative sentence. For example “Enter the refresh rate time interval and click Save.”
- You can also start a sentence with an _if_ clause, which positions the condition before the action.
- Limit the number of words in a sentence to 20..
### Use active voice
Active voice makes the performer of the action the subject
of the sentence. When you write in passive voice, the recipient of the action (and not the performer) becomes the subject of the sentence.
Active-voice sentences are more direct and clearly identify _who_ is doing _what_. Not all tasks are completed by a user; sometimes the system can also be a performer (and by extension, the subject of the sentence). When you write in active voice you clearly make that distinction, which results in more engaging and less wordy content.
| Use (active) | Avoid (passive) |
| ----------------------------------------------------- | -------------------------------------------------------------------- | --- |
| After you upgrade the software, restart the computer. | After the software has been upgraded, the computer can be restarted. |
| Click **OK** to save the dashboard. | The dashboard is saved when the **OK** button is clicked. |
| Create a dashboard. | A dashboard is created by you. | . |
### Avoid obscure non-English words and abbreviations
Users might be unfamiliar with some non-English words and abbreviations such as _per_, _vs_, and _via_. Latin abbreviations in particular, like _i.e._, _e.g._, and _etc._, are vague.
| Use | Dont use |
| ------------ | ----------- |
| through | via |
| that is | i.e. |
| according to | per, as per |
| and so on | etc. |
### Write self-contained topics
Thanks to search engines, every page in the documentation might be a reader's entry point. This means that each page needs to be self-contained and make sense on its own. The reader should not need to read other topics in order to perform the task or understand the concept.
However, try to be helpful and link to related information. Using the _Doggie handbook_ example, the concept topic that explains what dogs can be trained to do might link to the Train the dog task.
Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

+20 -3
View File
@@ -21,9 +21,13 @@ The following checklist/summary should give you a quick overview of what to ask/
Before actually merging a pull request there's a couple of things to take into consideration.
### Status checks
Before you can merge a pull request, it must have a review approval, and all the required status checks must pass.
### Format the pull request title
Make sure that the pull request title is properly formatted according to `<Area>: <Summary>` and try to make the summary short and understandable for the community as a whole.
The pull request title should be formatted according to `<Area>: <Summary>`. Keep the summary short and understandable for the community as a whole.
All commits in a pull request are squashed when merged and the pull request title will be the default subject line of the squashed commit message. It's also used for [changelog/release notes](#include-in-changelog-and-release-notes).
@@ -31,9 +35,9 @@ See [formatting guidelines](create-pull-request.md#formatting-guidelines) for mo
### Assign a milestone
It's recommended to add a milestone to every pull request. This makes it easier to track what changes did go into a certain release. Without this you're basically left with going through git commits which could be a lot harder.
A milestone **should** be added to every pull request. Several things in the Grafana release process requires at least pull requests to be in a milestone, for example [generating changelog/release notes](#include-in-changelog-and-release-notes).
There's also various tooling built that in some cases requires a pull request to be assigned a milestone, for example [generating changelog/release notes](#include-in-changelog-and-release-notes).
This makes it easier to track what changes go into a certain release. Without this information, release managers have to go through git commits which is not an efficient process.
### Include in changelog and release notes?
@@ -81,8 +85,21 @@ In case the pull request introduces a breaking change you should document this.
### Should the pull request be backported?
An active decision of backporting needs to be taken for every pull request. There's a pull request check named **Backport Check** that will enforce this. By adding/removing labels on the pull request the check will be re-evaluated.
#### No backport
If you don't want to backport you need to add a label named **no-backport** to the pull request.
#### Backport
If your pull request has changes that need to go into one or several existing release branches you need to backport the changes. Please refer to [Backport PR](.github/bot.md#backport-pr) for detailed instructions.
The general rule of thumb regarding what changes goes into what release is:
- bug fixes should be released in patch releases, e.g. v8.1.3, if the bug was introduced in the same major/minor or lower patch version.
- new features should go into the next major/minor version, e.g. v8.0.0, v8.2.0.
Some examples when backport is required:
- The change needs to be released in the next upcoming patch release, e.g. v8.1.3, so you have to backport it, e.g. into the v8.1.x release branch.
@@ -119,7 +119,7 @@ If that is the case, then use the following format for headings:
- Assume all graphics will be exclusively viewed on the web.
- Maximum image size is 3840px X 2160px.
- Screenshots should be readable, but not too large.
- _Do not_ use image shortcodes. Follow the guidance in the [Grafana markdown guide](https://github.com/grafana/grafana/blob/main/contribute/style-guides/documentation-markdown-guide.md#images).
- _Do not_ use image shortcodes. Follow the guidance in [Markdown style guide](../documentation/documentation-markdown-guide.md#Images).
- Markdown image links are preferred. Only use the HTML image links if you need to style the image in ways unsupported in Markdown.
- When you name a file, follow the [file naming conventions](#file-naming-conventions). Example: image-name-7-3.png
+2 -2
View File
@@ -16,8 +16,8 @@ BASE_URL=http://172.0.10.2:3333 yarn e2e
The above commands use some utils scripts under [_\<repo-root>/e2e_](../../e2e) that can also be used for more control.
- `./e2e/start-server` This creates a fresh new grafana server working dir, setup's config and starts the server. It will also kill any previously started server that is still running using pid file at _\<repo-root>/e2e/tmp/pid_.
- `./e2e/wait-for-grafana` waits for `$HOST` and `$PORT` to be available. Per default localhost and 3001.
- `./scripts/grafana-server/start-server` This creates a fresh new grafana server working dir, setup's config and starts the server. It will also kill any previously started server that is still running using pid file at _\<repo-root>/scripts/grafana-server/tmp/pid_.
- `./scripts/grafana-server/wait-for-grafana` waits for `$HOST` and `$PORT` to be available. Per default localhost and 3001.
- `./e2e/run-suite <debug|dev|noarg>` Starts cypress in different modes.
## Test suites
+1
View File
@@ -255,6 +255,7 @@ Organize your code in a directory that encloses feature code:
- Put React components in `components` directory (i.e. `features/my-feature/components/ButtonPeopleDreamOf.tsx`).
- Put test files next to the test subject.
- Put containers (pages) in feature root (i.e. `features/my-feature/DashboardPage.tsx`).
- Put API function calls that isn't a redux thunk in an `api.ts` file within the same directory.
- Subcomponents can live in the component folders. Small component do not need their own folder.
- Component SASS styles should live in the same folder as component code.
-60
View File
@@ -1,60 +0,0 @@
# Templates
Templates are both a starting point and an instruction manual for writing something new. They are intended to make life easier by providing a jumping-off point, something besides a blank page to start from. They are not intended to be a limitation. If the template does not work perfectly for your use case, you can adjust or change it. We will work it out in code review.
## Create a template
Feel free to add templates to the `templates` folder. Try to make them as generic as possible and include clear instructions for when and how to use the template. Assume that the template user is a brand new contributor and write accordingly.
## Use a template
1. Read the template. Make sure you understand what it is for and how it is intended to be used.
1. Copy and rename the template. Move it to where you actually need it.
You might also want to copy the content of the template and paste it into a different file. This is acceptable use.
1. Replace the template content with your own. Delete whatever is unnecessary.
## Documentation templates
In an ideal world, each topic will correspond to an information _type_ ([task](doc-task-template.md), [reference](doc-reference-template.md), [concept](doc-concept-template.md)) and contain only that type of information.
However, this is not always practical. For example, you have a series of short topics, you can group them into one topic.
Try to _chunk_ your content. This means you should organize the document so that the same kinds of content are grouped together.
### Chunking example
If I was writing content for a site called _Doggie handbook_, I might organize it like this.
**Concept**
- What a dog is
- Brief history of dogs
- Why you might want a dog
- Tasks dogs can be trained to do
**Tasks**
- Feed the dog
- Groom the dog
- Train the dog
**Reference**
- List of dog equipment you will need
- Table of breeds that includes breed name, size range, short or long hair, and type of dog
### Audience
Write for an audience that is computer literate and has general technical knowledge, but is not necessarily familiar with Grafana or the finer points of observability.
Pretend you are explaining your topic to a brand new Grafana user or developer.
### Self-contained
Thanks to search engines, every page in the documentation might be a reader's entry point. This means that each page needs to be self-contained and make sense on its own. The reader should not need to read other topics in order to perform the task or understand the concept.
However, try to be helpful and link to related information. Using the _Doggie handbook_ example, the concept topic that explains what dogs can be trained to do might link to the Train the dog task.
## Code templates
This is a placeholder for future templates.
+11
View File
@@ -255,6 +255,17 @@ datasources:
secureJsonData:
password: Password!
- name: gdev-mssql-tls
type: mssql
url: localhost:1434
database: grafana
user: grafana
jsonData:
encrypt: "true"
tlsSkipVerify: true
secureJsonData:
password: Password!
- name: gdev-mssql-ds-tests
type: mssql
url: localhost:1433
+13 -2
View File
@@ -42,7 +42,7 @@ datasources:
version: Flux
organization: myorg
defaultBucket: mybucket
- name: gdev-influxdb-influxql
type: influxdb
access: proxy
@@ -220,6 +220,17 @@ datasources:
secureJsonData:
password: Password!
- name: gdev-mssql-tls
type: mssql
url: localhost:1434
database: grafana
user: grafana
jsonData:
encrypt: "true"
tlsSkipVerify: true
secureJsonData:
password: Password!
- name: gdev-mssql-ds-tests
type: mssql
url: mssqltests:1433
@@ -259,4 +270,4 @@ datasources:
type: loki
access: proxy
url: http://loki:3100
editable: false
editable: false
@@ -815,19 +815,19 @@
"value": "Wm2"
},
{
"text": "Volt-ampere (VA)",
"text": "Volt-Ampere (VA)",
"value": "voltamp"
},
{
"text": "Kilovolt-ampere (kVA)",
"text": "Kilovolt-Ampere (kVA)",
"value": "kvoltamp"
},
{
"text": "Volt-ampere reactive (var)",
"text": "Volt-Ampere reactive (VAr)",
"value": "voltampreact"
},
{
"text": "Kilovolt-ampere reactive (kvar)",
"text": "Kilovolt-Ampere reactive (kVAr)",
"value": "kvoltampreact"
},
{
+9 -5
View File
@@ -161,7 +161,8 @@
"rowHeight": 0.99,
"showValue": "auto",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -545,7 +546,8 @@
"values": false
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -792,7 +794,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -861,7 +864,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -890,7 +894,7 @@
}
],
"refresh": "",
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",
File diff suppressed because it is too large Load Diff
@@ -217,7 +217,7 @@
}
}
],
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [],
"templating": {
@@ -1991,7 +1991,7 @@
"axisLabel": "",
"axisPlacement": "auto",
"drawStyle": "line",
"fillOpacity": 29,
"fillOpacity": 0,
"gradientMode": {
"label": "None",
"value": "none"
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,486 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"iteration": 1640181282174,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "testdata"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 44,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"title": "Orphan non-repeating panel",
"type": "timeseries"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 8
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 9
},
"id": 9,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "horizontal",
"repeatDirection": "h",
"title": "Horizontal repeating $horizontal",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 17
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"title": "Non-repeating panel",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 8,
"y": 17
},
"id": 22,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "vertical",
"repeatDirection": "v",
"title": "Vertical repeating $vertical",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating Kitchen Sink",
"uid": "hxQwTjpnk",
"version": 6,
"weekStart": ""
}
@@ -0,0 +1,204 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"iteration": 1640181116069,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "testdata"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "horizontal",
"repeatDirection": "h",
"title": "Panel Title $horizontal",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a panel horizontally",
"uid": "WVpf2jp7z",
"version": 3,
"weekStart": ""
}
@@ -0,0 +1,202 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "testdata"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "vertical",
"repeatDirection": "v",
"title": "Panel Title $vertical",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"1"
],
"value": [
"1"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": false,
"text": "All",
"value": "$__all"
},
{
"selected": true,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a panel vertically",
"uid": "OY8Ghjt7k",
"version": 1,
"weekStart": ""
}
@@ -0,0 +1,335 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"iteration": 1640181157128,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 1
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"title": "Panel Title",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 9
},
"id": 9,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "horizontal",
"repeatDirection": "h",
"title": "Horizontal repeating $horizontal",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a row with a non-repeating panel and horizontal repeating panel",
"uid": "k3PEoCpnk",
"version": 3,
"weekStart": ""
}
@@ -0,0 +1,335 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"iteration": 1640181176989,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 1
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"title": "Panel Title",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 8,
"y": 1
},
"id": 9,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "vertical",
"repeatDirection": "v",
"title": "Vertical repeating $vertical",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a row with a non-repeating panel and vertical repeating panel",
"uid": "7lS-ojt7z",
"version": 2,
"weekStart": ""
}
@@ -0,0 +1,258 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"iteration": 1640181195825,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 1
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"title": "Panel Title",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a row with a non-repeating panel",
"uid": "ZzyTojpnz",
"version": 3,
"weekStart": ""
}
@@ -0,0 +1,260 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"iteration": 1640181211838,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 1
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "horizontal",
"repeatDirection": "h",
"title": "Panel Title $horizontal",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": false,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a row with a repeating horizontal panel",
"uid": "0OmtTCtnk",
"version": 3,
"weekStart": ""
}
@@ -0,0 +1,259 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"iteration": 1640181228045,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
},
{
"datasource": {
"type": "testdata"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 1
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "vertical",
"repeatDirection": "v",
"title": "Panel Title $vertical",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": false,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a row with a repeating vertical panel",
"uid": "I0YIojp7z",
"version": 3,
"weekStart": ""
}
@@ -0,0 +1,183 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"iteration": 1640181241284,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating an empty row",
"uid": "dtpl2Ctnk",
"version": 4,
"weekStart": ""
}
@@ -0,0 +1,76 @@
{
"__inputs": [],
"__elements": [],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "8.4.0-pre"
},
{
"type": "panel",
"id": "text",
"name": "Text",
"version": ""
}
],
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"mode": "markdown",
"content": "VariableUnderTest: $VariableUnderTest"
},
"pluginVersion": "8.4.0-pre",
"title": "Panel Title",
"type": "text"
}
],
"schemaVersion": 35,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Test variable output",
"uid": "kVi2Gex7z",
"version": 2,
"weekStart": ""
}
+1 -1
View File
@@ -189,7 +189,7 @@
"type": "dashlist"
}
],
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [],
"templating": {
@@ -79,7 +79,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -151,7 +152,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -221,7 +223,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -291,7 +294,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -305,7 +309,10 @@
"type": "barchart"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -363,7 +370,8 @@
"valueSize": 25
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -433,7 +441,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -504,7 +513,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -519,7 +529,7 @@
}
],
"refresh": "",
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",
@@ -433,4 +433,4 @@
"uid": "2jFpEvp7z",
"version": 8,
"weekStart": ""
}
}
@@ -362,7 +362,7 @@
}
],
"refresh": "",
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",
@@ -95,7 +95,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -181,7 +182,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -266,7 +268,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -280,7 +283,10 @@
"type": "timeseries"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -352,7 +358,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -437,7 +444,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -455,7 +463,10 @@
"type": "timeseries"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -531,7 +542,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -544,7 +556,10 @@
"type": "timeseries"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -620,7 +635,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -633,7 +649,10 @@
"type": "timeseries"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -709,7 +728,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -797,7 +817,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -825,7 +846,7 @@
}
],
"refresh": false,
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",
@@ -34,7 +34,9 @@
],
"panels": [
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -100,7 +102,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.4.0-pre",
@@ -138,7 +141,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"description": "Series A have no nulls and is not aligned with series B",
"fieldConfig": {
"defaults": {
@@ -206,7 +211,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.4.0-pre",
@@ -252,7 +258,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"description": "",
"fieldConfig": {
"defaults": {
@@ -320,7 +328,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.4.0-pre",
@@ -386,7 +395,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -452,7 +463,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.4.0-pre",
@@ -490,7 +502,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"description": "Series A have no nulls and is not aligned with series B",
"fieldConfig": {
"defaults": {
@@ -558,7 +572,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.4.0-pre",
@@ -604,7 +619,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"description": "Should look the same as above\n",
"fieldConfig": {
"defaults": {
@@ -672,7 +689,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.4.0-pre",
@@ -738,7 +756,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -836,7 +856,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.2.0-pre",
@@ -878,7 +899,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -976,7 +999,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.2.0-pre",
@@ -1082,7 +1106,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.5.0-pre",
@@ -1184,7 +1209,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -1198,7 +1224,7 @@
"type": "timeseries"
}
],
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",
@@ -1346,7 +1346,7 @@
"axisPlacement": "auto",
"drawStyle": "line",
"fillGradient": "hue",
"fillOpacity": 25,
"fillOpacity": 0,
"hideFrom": {
"graph": false,
"legend": false,
@@ -76,7 +76,10 @@
"type": "histogram"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -409,7 +412,7 @@
"type": "table"
}
],
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",
@@ -815,19 +815,19 @@
"value": "Wm2"
},
{
"text": "Volt-ampere (VA)",
"text": "Volt-Ampere (VA)",
"value": "voltamp"
},
{
"text": "Kilovolt-ampere (kVA)",
"text": "Kilovolt-Ampere (kVA)",
"value": "kvoltamp"
},
{
"text": "Volt-ampere reactive (var)",
"text": "Volt-Ampere reactive (VAr)",
"value": "voltampreact"
},
{
"text": "Kilovolt-ampere reactive (kvar)",
"text": "Kilovolt-Ampere reactive (kVAr)",
"value": "kvoltampreact"
},
{
@@ -89,7 +89,8 @@
"rowHeight": 0.98,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.5.0-pre",
@@ -186,7 +187,8 @@
"rowHeight": 0.98,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -287,7 +289,8 @@
"rowHeight": 0.98,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -367,7 +370,8 @@
"rowHeight": 0.98,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "asc"
}
},
"pluginVersion": "7.5.0-pre",
@@ -410,7 +414,7 @@
}
],
"refresh": false,
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",
@@ -68,7 +68,8 @@
"rowHeight": 0.9,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.5.0-pre",
@@ -244,7 +245,8 @@
"rowHeight": 0.9,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.5.0-pre",
@@ -319,7 +321,8 @@
"rowHeight": 0.9,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.5.0-pre",
@@ -358,7 +361,7 @@
}
],
"refresh": false,
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",
@@ -83,7 +83,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -484,7 +485,8 @@
"showValue": "auto",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "8.1.0-pre",
@@ -530,7 +532,7 @@
}
],
"refresh": "",
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",
@@ -23,7 +23,10 @@
"links": [],
"panels": [
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -70,7 +73,10 @@
"type": "table"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -264,7 +270,10 @@
"type": "gauge"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -311,7 +320,10 @@
"type": "table"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -579,7 +591,7 @@
}
],
"refresh": "",
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",
@@ -6,6 +6,7 @@ import (
"io/ioutil"
"log"
"net/http"
"strings"
)
func hello(w http.ResponseWriter, r *http.Request) {
@@ -14,7 +15,8 @@ func hello(w http.ResponseWriter, r *http.Request) {
return
}
line := fmt.Sprintf("webbhook: -> %s", string(body))
safeBody := strings.Replace(string(body), "\n", "", -1)
line := fmt.Sprintf("webbhook: -> %s", safeBody)
fmt.Println(line)
if _, err := io.WriteString(w, line); err != nil {
log.Printf("Failed to write: %v", err)
@@ -1,5 +1,5 @@
maildev:
image: maildev/maildev
image: gillesdemey/maildev
ports:
- "12080:80"
- "1025:25"
- "12080:1080"
- "1025:1025"
@@ -0,0 +1,12 @@
This build is basically a clone of the `mssql` folder but without the custom `grafana` db/user created.
At this moment, there is no `MSSQL Server` available for `arm64` processors. The workaround is using an `azure-sql-edge` image instead.
The `setup` files cannot be used to create a custom `grafana` db/user since `sqlcmd` does not work for `arm64` processors.
(https://docs.microsoft.com/en-us/azure/azure-sql-edge/connect)
You can connect the Grafana MSSQL datasource to this instance by using the following credentials:
* Host: `localhost`
* Database: `master`
* User: `sa`
* Password: `Password!` or whatever is set in `docker-compose.yaml` for env var `MSSQL_SA_PASSWORD`
@@ -0,0 +1,11 @@
FROM mcr.microsoft.com/azure-sql-edge:1.0.4
WORKDIR /usr/setup
COPY entrypoint.sh ./
USER root
RUN chown -R mssql ./
USER mssql
CMD /bin/bash ./entrypoint.sh
@@ -0,0 +1,2 @@
#start SQL Server
/opt/mssql/bin/sqlservr
@@ -0,0 +1,8 @@
mssql:
build:
context: docker/blocks/mssql_arm64/build
environment:
ACCEPT_EULA: Y
MSSQL_SA_PASSWORD: Password!
ports:
- "1433:1433"
@@ -0,0 +1,21 @@
FROM mcr.microsoft.com/mssql/server:2019-CU8-ubuntu-18.04
WORKDIR /usr/setup
COPY setup.sh setup.sql.template entrypoint.sh ./
COPY mssql.conf /var/opt/mssql/mssql.conf
USER root
RUN chmod +x setup.sh
RUN chown -R mssql ./
RUN mkdir -p /home/mssql
RUN chown -R mssql /home/mssql
USER mssql
RUN touch ~/.rnd
RUN openssl req -x509 -nodes -newkey rsa:2048 -subj '/CN=mssql_tls' -keyout /var/opt/mssql/mssql.key -out /var/opt/mssql/mssql.pem -days 365
RUN chmod 440 /var/opt/mssql/mssql.key
RUN chmod 440 /var/opt/mssql/mssql.pem
CMD /bin/bash ./entrypoint.sh
@@ -0,0 +1,2 @@
#start SQL Server and run setup script
/usr/setup/setup.sh & /opt/mssql/bin/sqlservr
@@ -0,0 +1,5 @@
[network]
tlscert = /var/opt/mssql/mssql.pem
tlskey = /var/opt/mssql/mssql.key
tlsprotocols = 1.2
forceencryption = 1
@@ -0,0 +1,13 @@
#/bin/bash
set -eo pipefail
#wait for the SQL Server to come up
sleep 15s
cat /usr/setup/setup.sql.template | awk '{
gsub(/%%DB%%/,"'$MSSQL_DATABASE'");
gsub(/%%USER%%/,"'$MSSQL_USER'");
gsub(/%%PWD%%/,"'$MSSQL_PASSWORD'")
}1' > /usr/setup/setup.sql
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $MSSQL_SA_PASSWORD -d master -i /usr/setup/setup.sql
@@ -0,0 +1,26 @@
CREATE LOGIN %%USER%% WITH PASSWORD = '%%PWD%%'
GO
CREATE DATABASE %%DB%%
ON
( NAME = %%DB%%,
FILENAME = '/var/opt/mssql/data/%%DB%%.mdf',
SIZE = 500MB,
MAXSIZE = 1000MB,
FILEGROWTH = 100MB )
LOG ON
( NAME = %%DB%%_log,
FILENAME = '/var/opt/mssql/data/%%DB%%_log.ldf',
SIZE = 500MB,
MAXSIZE = 1000MB,
FILEGROWTH = 100MB );
GO
USE %%DB%%;
GO
CREATE USER %%USER%% FOR LOGIN %%USER%%;
GO
EXEC sp_addrolemember 'db_owner', '%%USER%%';
GO
@@ -0,0 +1,18 @@
mssql_tls:
build:
context: docker/blocks/mssql_tls/build
environment:
ACCEPT_EULA: Y
MSSQL_SA_PASSWORD: Password!
MSSQL_PID: Developer
MSSQL_DATABASE: grafana
MSSQL_USER: grafana
MSSQL_PASSWORD: Password!
ports:
- "1434:1433"
fake-mssql-tls-data:
image: grafana/fake-data-gen
environment:
FD_DATASOURCE: mssql_tls
FD_PORT: 1434
@@ -1,4 +1,5 @@
ARG mysql_version=5.6
FROM mysql:${mysql_version}
ADD setup.sql /docker-entrypoint-initdb.d
RUN chown -R mysql:mysql /docker-entrypoint-initdb.d/
CMD ["mysqld"]
@@ -1,4 +1,5 @@
ARG postgres_version=9.3
FROM postgres:${postgres_version}
ADD setup.sql /docker-entrypoint-initdb.d
RUN chown -R postgres:postgres /docker-entrypoint-initdb.d/
CMD ["postgres"]
+12 -1
View File
@@ -6,6 +6,7 @@ import (
"net/http/httputil"
"net/url"
"os"
"strings"
"time"
)
@@ -31,7 +32,17 @@ func main() {
proxy := httputil.NewSingleHostReverseProxy(originURL)
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
log.Printf("sleeping for %s then proxying request: url '%s', headers: '%v'", sleep.String(), r.RequestURI, r.Header)
safeSleep := strings.Replace(sleep.String(), "\n", "", -1)
safeRequestUri := strings.Replace(r.RequestURI, "\n", "", -1)
log.Printf("sleeping for %s then proxying request: url '%s'", safeSleep, safeRequestUri)
// This is commented out as CodeQL flags this as vulnerability CWE-117 (https://cwe.mitre.org/data/definitions/117.html)
// If you need to debug and log the headers then use the line below instead of the log.Printf statement above
// The docker container will then need to be rebuilt after the change is made:
// Run `make devenv sources=slow_proxy`
// or run `docker-compose build` in the devenv folder
//
// log.Printf("sleeping for %s then proxying request: url '%s', headers: '%v'", safeSleep, safeRequestUri, r.Header)
<-time.After(sleep)
proxy.ServeHTTP(w, r)
})
+1 -1
View File
@@ -8,7 +8,7 @@ export const UIEndpoint = class UIEndpoint {
login(username, pwd) {
const payload = { user: username, password: pwd };
return this.httpClient.formPost('/login', payload);
return this.httpClient.post('/login', JSON.stringify(payload));
}
};
+1 -1
View File
@@ -20,7 +20,7 @@ If you have the grafana/website repo checked out in the same directory as the gr
Edit content in the `sources` directory.
### [Contributing](https://github.com/grafana/grafana/blob/main/contribute/documentation.md)
### [Contributing](/contribute/documentation/README.md)
### Using `relref` for internal links

Some files were not shown because too many files have changed in this diff Show More