Compare commits

...

1046 Commits
v7.1.3 ... pull

Author SHA1 Message Date
Emil Tullstedt
e25cfc7fc2 Encryption: Fix securedata 2020-10-15 14:38:36 +02:00
Emil Tullstedt
0988471a16 Merge remote-tracking branch 'origin/master' into envelope 2020-10-15 14:29:48 +02:00
Emil Tullstedt
3c152dc5bd Encryption: Fix tests 2020-10-15 14:27:31 +02:00
Arve Knudsen
d9a156298b Drone: Fix enterprise release pipeline (#28289)
* Drone: Fixes

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Fixes

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-15 14:06:52 +02:00
Mikhail Snetkov
e36925b55a Alerting: Append appSubUrl to back button on channel form (#28282) 2020-10-15 13:30:06 +02:00
Arve Knudsen
7ee8f91e17 Drone: Use DRONE_COMMIT_REF to get release tag (#28283)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-15 12:55:25 +02:00
Will Browne
a49c72ae09 Docs: Add What's New 7.3 (#28268)
* add base

* Update docs/sources/whatsnew/whats-new-in-v7-3.md

* Update What's new in 7.3 with CM OOTB dashboards

* Docs: enterprise whats new placeholders

* Add short url info

* Update shorten url after pull

* Update docs/sources/whatsnew/whats-new-in-v7-3.md

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Sofia Papagiannaki <sofia@grafana.com>
Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: Ivana <ivana.huckova@gmail.com>
2020-10-15 11:01:45 +02:00
Levente Balogh
d58dc96f3d feat(grafana/ui): export FieldArray (#28251) 2020-10-15 10:54:16 +03:00
Hugo Häggmark
280bf9387c BackendSrv: Reloads page instead of redirect on Unauthorized Error (#28276) 2020-10-15 08:19:51 +02:00
Chris Morrow
7ad468ba82 Prometheus: Data source settings page help wording. (#28274)
* Add a space between: "handled." and "Server".

This text is .. a little ambiguous, is it:
  "handled.Server()..."

or:
  "handled. Server should...."

Punctuation it matters.
  https://i.pinimg.com/originals/ad/db/a1/addba11374256fd0b1d679a595f57d9b.jpg

* Fix the sentence to be readable.
2020-10-15 08:06:53 +02:00
Andrej Ocenas
c8658f3ee8 Explore: Add link to logs from trace span (#28229)
* Add trace to logs link

* Do a bit of refactor and allow for custom time range in split

* Add margin and noopener to the link

* Fix tests

* Fix tests
2020-10-15 00:03:14 +02:00
ashishagarwal06
26e2faa779 Added Hyperlink to annotations (#28261)
Hi -  Added Hyperlink to annotations for quick redirection.

Thanks,
Ashish
2020-10-14 17:35:22 -04:00
Arve Knudsen
86adc2241e Drone: Fix enterprise config (#28270)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-14 20:19:55 +02:00
Ryan McKinley
fe423644ae Transformations: add Concatenate fields transformer (#28237) 2020-10-14 10:34:04 -07:00
Giordano Ricci
cb72242d95 Chore: use new Input component in Share Modal (#28269)
* Chore: Add dashboard-alt icon

* Chore: use new Input component in Share Modal

* Update packages/grafana-ui/src/types/icon.ts

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

* Update public/app/features/dashboard/components/ShareModal/ShareLink.tsx

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

* Update packages/grafana-ui/src/types/icon.ts

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

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2020-10-14 18:11:19 +01:00
Agnès Toulet
c3336e6ecf Chore: clean up Enterprise feature toggles (#28264) 2020-10-14 19:08:52 +02:00
Ryan McKinley
f8e0adb168 Transformations: improve the reduce transformer (#27875) 2020-10-14 08:27:58 -07:00
Ivana Huckova
db071e4939 Explore: Allow shortlink generation (#28222)
* Add short link functionality to Explore and Rich history

* Update documentation

* Implement short url for explore

* Implement short link in Rich history

* Update docs

* Add error alert
2020-10-14 17:08:27 +02:00
Hugo Häggmark
fe15d90e98 Variables: Fixes so constants set from url get completed state (#28257)
* Variables: Fixes so constant set from url get completed state

* Tests: fixes broken test
2020-10-14 17:07:42 +02:00
Marcus Andersson
f334cc4576 Docs: generate packages docs before syncing to website (#27879)
* updated to latest version of api-documenter.

* saved lockfile after upgrade.

* adding yarn to docker environment.

* adding packages to trigger paths.

* added steps to workflow for generating docs.

* reverted back to api-documenter 0.9.3
2020-10-14 17:03:35 +02:00
Torkel Ödegaard
a20875bd6c Dashboard: Fixed issue accessing horizontal table scrollbar when placed at bottom of dashboard (#28250) 2020-10-14 16:47:31 +02:00
Torkel Ödegaard
3fed829b8b Gauge: Improve text sizing and support non threshold color modes (#28256)
* Gauge: Improve text sizing and support non threshold color modes

* Updated tests
2020-10-14 16:17:41 +02:00
Emil Tullstedt
92c1b1e4c6 Encryption: Remove new JSON structure 2020-10-14 16:16:05 +02:00
Marcus Andersson
31001a016c Docs: remove checked-in generated package api docs. (#27880) 2020-10-14 15:58:20 +02:00
Emil Tullstedt
84669d2213 Encryption: Override Encrypt/Decrypt in util
Breaks every test that uses Encrypt or Decrypt
2020-10-14 15:53:49 +02:00
Jack Westbrook
df28cc69b4 fix: prevent graph-panel legend overflowing container (#28254) 2020-10-14 15:39:39 +02:00
ashishagarwal06
64f46d6a28 Added hyperlink to Data Source Proxy (#28246)
Hi - Added hyperlink to Data Source Proxy. Pls review and approve.

Thanks,
Ashish
2020-10-14 09:20:47 -04:00
Sofia Papagiannaki
aae4ca7544 Cloud monitoring: out-of-the-box dashboards (#27864)
* Cloud monitoring: out-of-the-box dashboards

* Remove redundant information related to dev account

* Update docs/sources/features/datasources/cloudmonitoring.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Rename JSON files

* Fix docs

* Fixe docs

* Parameterise dashboards by CM datasource

* Fix metric kind in CloudSQL dashboard

* Set alias to instance name for GCE dashboard panels

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-10-14 16:05:17 +03:00
Marcus Andersson
b5196f531c Build: added steps to generate packages api documentation. (#27930)
* added steps to generate docs.

* re-generated the drone.yml file.

* removed metrics reporting from pr pipeline.

* fixed spelling issues.

* fixed so package generation should work.

* some small refactorings.

* fixed spelling error.

* adding echo to verify that we execute the correct script.

* removed echo statement.

* changed scripts a bit.

* added ci flag to script.

* adding exit 1

* increased the limit.

* added missing space.

* fixed shellcheck error.

* fixing lint errors.

* renamed build step.

* changed logic.

* increased limit.

* changed to echo instead of echo -e

* fixed shellcheck errors.

* trying to debug script,

* trying to simplify the find statement.

* fixed issue with text formatting on linux.

* imported build step.

* Update scripts/ci-reference-docs-lint.sh

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* removed cleanup of packages.

* increased limit.

* will build frontend docs on master but not lint it.

* will always run the linting step.

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-14 14:35:55 +02:00
Torkel Ödegaard
f22b768ce4 Dashboard: Do not allow users without edit permission to a folder to see new dashboard page (#28249) 2020-10-14 14:07:42 +02:00
Leonard Gram
fa45731b7f Docker: OpenShift compatability (#27813)
* openshift wip

* Docker: switches from grafana group to root group

* Docker: make group fully configurable

* Docker: create custom grafana group if needed

* Docker: removes duplicated group permission

* Docker: more unneccesary changes
2020-10-14 13:38:04 +02:00
Marcus Andersson
a779622982 Variables: prevent adhoc filters from crashing when they are not loaded properly (#28226)
* fixing so we will present a better error message when loading ad hoc filter variables.

* added tests to verify url parsing.

* added a test to make sure it works the oppisite way.
2020-10-14 12:55:28 +02:00
Pete Davids
65940c7726 Dashboard: Allow shortlink generation (#27409)
* intial frontend resolution/redirection logic

* backend scaffolding

* enough of the frontend to actually test end to end

* bugfixes

* add tests

* cleanup

* explore too hard for now

* fix build

* Docs: add docs

* FE test

* redirect directly from backend

* validate incoming uids

* add last_seen_at

* format documentation

* more documentation feedback

* very shaky migration of get route to middleware

* persist unix timestamps

* add id, orgId to table

* fixes for orgId scoping

* whoops forgot the middleware

* only redirect to absolute URLs under the AppUrl domain

* move lookup route to /goto/:uid, stop manually setting 404 response code

* renaming things according to PR feedback

* tricky deletion

* sneaky readd

* fix test

* more BE renaming

* FE updates -- no more @ts-ignore hacking :) and accounting for subpath

* Simplify code

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Short URLs: Drop usage of bus

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* ShortURLService: Make injectable

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Rename file

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add handling of url parsing and creating of full shortURL to backend

* Update test, remove unused imports

* Update pkg/api/short_urls.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add correct import

* Pass context to short url service

* Remove not needed error log

* Rename dto and field to denote URL rather than path

* Update api docs based on feedback/suggestion

* Rename files to singular

* Revert to send relative path to backend

* Fixes after review

* Return dto when creating short URL that includes the full url

Use full url to provide shorten URL to the user

* Fix after review

* Fix relative url path when creating new short url

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Ivana <ivana.huckova@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-10-14 12:48:48 +02:00
Alex Khomenko
3225b119d4 Migration: TestData Query Editor (#27997)
* Use new editor

* Add basic fields

* Add labels

* Add ids

* Add ManualEntryEditor

* Use tooltip prop

* Switch to inline labels

* Fix inline label tooltip position

* Allow resetting max-width

* Replace form inputs

* Add random walk editor

* separate editors

* Add logs and endpoints fields

* Add PredictablePulseEditor

* Add CSVWaveEditor

* Add grow prop

* Add default query

* Fix types

* Fix manual editor

* Fix type issues

* Handle scenario change

* Sort scenarios by label

* Add ManualEditor test

* Fix label height

* test manual editor

* Update test

* Setup QueryEditor tests

* Fix selected value

* Connect CSVWaveEditor

* Convert stream data to numbers

* Fix random walk editor

* Cleanup

* Convert scenarios to ts

* Remove extra icon styles

* Minor tweaks

* Update e2e tests

* Remove useEffect

* Add missing aria-labels

* Use new button components
2020-10-14 13:08:35 +03:00
Arve Knudsen
b10e39a7e1 Chore: Add Dockerfile for Windows CI build environment (#28241)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-14 11:22:12 +02:00
ashishagarwal06
a870101471 Docs: Change grafana to Grafana (#28242)
Hi - Made minor change grafana to Grafana.

Thanks,
Ashish
2020-10-14 10:46:22 +02:00
Ivana Huckova
e269445d79 Loki: LogQL v2 support (#27884)
* Add new logql v2 functions

* Fix autocompletion if missing ending }

* Refactor operators regex, add pipe operator and tests

* Add parsers

* Update tests

* Add parsers to suggestions, add test

* Add operators to syntax

* Create pipe operator autocomplete + highlighting + add tests

* Add to documentation that pipe operations are available in in Loki 2.0+

* Update snapshot test

* Update operators list, add regex quotes and move cursor

* Fix spelling

* Update documentation

* Update
2020-10-14 10:22:39 +02:00
Torkel Ödegaard
451836a86a NamedColors: Named colors refactors (#28235)
* NamedColors: Refactoring, performance improvements, and simplifications

* More simplifification

* Updated to use new function

* Updates

* Updates

* Updated BarGauge to use fallback color intead of magic string

* Updates

* Fixed unused import
2020-10-14 10:21:45 +02:00
ashishagarwal06
66def25c6d Docs: Change grafana to Grafana (#28243)
Hi - There is minor change grafana to Grafana in scripted-dashboards page.

Thanks,
Ashish
2020-10-14 07:53:06 +02:00
ashishagarwal06
f39b3a19c8 change grafana to Grafana (#28244)
Hi - Made minor change grafana to Grafana in More examples section.

Thanks,
Ashish
2020-10-14 07:52:35 +02:00
Hugo Häggmark
39d06f2625 Azure: Fixes merging of requests with different Azure sources (#28221)
* Azure: Fixes merging of requests with different Azure sources

* Refactor: Changes return type
2020-10-14 06:48:39 +02:00
ashishagarwal06
4cbc1565de Added Dot at the end of line (#28233)
Hi - Added Dot at the end of line to make it consistent.

Thanks,
Ashish
2020-10-13 14:22:46 -04:00
Leonard Gram
f87da29aa4 Build: handles verify-repos failures correctly (#28227)
* Build: handles verify-repos failures correctly

* shellcheck
2020-10-13 19:27:03 +02:00
ashishagarwal06
583dbb3155 Added Dot(.) at the end of line. (#28198)
Hi - Added Dot(.) to end the paragraph.

Thanks
2020-10-13 13:15:10 -04:00
Andrej Ocenas
b7fee71049 Tracing: Add Tempo data source (#28204)
* Add tempo datasource, mostly copy of jaeger datasource code

* Add label to input field

* Add logo

* Remove access option from configuration

* Add white space to field label

* Add documentation

* Fix link in docs

* Update public/app/plugins/datasource/tempo/ConfigEditor.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/tempo/QueryField.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Add data source to the docs menu

* Add simple implementation for testDatasource

* Wording updates to the docs.

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2020-10-13 19:12:49 +02:00
ashishagarwal06
25393e20aa Added hyperlink to Prometheus (#28196)
Hi - I have added hyperlink to Prometheus. Pls review and merge.

Thanks,
Ashish
2020-10-13 13:03:20 -04:00
Steven Vachon
830e8b64c3 @grafana/eslint-config bump (#28230)
* Use latest @grafana/eslint-config

* Version bump
2020-10-13 12:45:22 -04:00
Torkel Ödegaard
558ce5fd7f Theme: Deprecate selectThemeVariant util function (#28223) 2020-10-13 18:02:07 +02:00
ashishagarwal06
597aeff493 Added Hyperlink to Alert Notification (#28197)
Hi, I have added hyperlink to alert notification for quick redirection.

Thanks,
Ashish
2020-10-13 11:33:32 -04:00
Steven Vachon
0c7fb0cf90 Use latest @grafana/eslint-config (#28225)
* Use latest @grafana/eslint-config

* Updated lockfile
2020-10-13 11:23:39 -04:00
Sofia Papagiannaki
b633916436 Docs: Fix typo in cloud monitoring docs (#28213) 2020-10-13 18:16:19 +03:00
Nitesh Koushik S
0c57ca44e2 Removal of repeated words (#28194)
Removal of repeated words
2020-10-13 11:15:38 -04:00
ashishagarwal06
8c81592f12 Added link to Plugins (#28149)
* Added link to Plugins

HI - Added link to Plugins for quick redirection

Thanks,
Ashish

* Update configuration.md
2020-10-13 11:08:29 -04:00
ashishagarwal06
278f821282 Added Dot(.) at the end of line (#28150)
Hi - Added Dot(.) at the end of line.

Thanks,
Ashish
2020-10-13 10:53:16 -04:00
ashishagarwal06
b23e7e660a Added DOT(.) at end of line (#28161)
Hi - I have observed Dot(.) is missing in many places of paragraphs in document. So raising this PR.

Added Dot(.) to below line
This page shows how to use regex to filter/modify values in the variable dropdown.

Thanks,
Ashish
2020-10-13 10:51:15 -04:00
Sofia Papagiannaki
8760627eb0 Cloudwatch: Fix regression with profile datasource field (#28138)
* Fallback to the old field only if new field is undefined
2020-10-13 15:22:00 +03:00
Karine Valença
e1e05cad7d Database: Adds new indices to alert_notification_state and alert_rule_tag tables (#28166)
Add non-unique indices to alert_notification_state and alert_rule_tag tables for 
column alert_id.

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

Fixes #22890
2020-10-13 13:51:54 +02:00
Torkel Ödegaard
0a58ecbacd Automation: New label command to close issue that has no new info & activity (#28201)
* Automation: New label command

Adds a label command "no new info" 

That closes issue with standard message. 

We could also add an automated scheduled task that does this automatically: 
https://github.com/microsoft/vscode/blob/master/.github/workflows/needs-more-info-closer.yml

* Update .github/commands.json

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

* Update .github/commands.json

Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>
2020-10-13 12:48:43 +02:00
Will Browne
a189cd1832 Users: Expire old user invites (#27361)
* expire with existng cleanup service

* expire with new temp user service

* make Drone happy :)

* add expiry status

* remove other approach

* cleanup

* add test for idempotency

* add migration from datetime to unix ts

* update cmd names

* change lifetime config to duration

* remove unnecessart formatting

* add comment

* update docs

* remove max bound and introduce min error

* simplify sql

* remove comment

* allow any outstanding to exist for at least 24 hours

* revert created ts change

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

* add extra state check to cleanup step

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-10-13 12:30:09 +02:00
Nitesh Koushik S
8e56dd0279 JSON syntax update (#28193)
JSON syntax update
2020-10-13 11:10:48 +02:00
Will Browne
ef22ff7315 Snapshots: Store dashboard data encrypted in the database (#28129)
* end 2 end

* fix import

* refactor

* introduce securedata

* check err

* use testify instead of convey

* cleanup test

* cleanup test

* blob time

* rename funcs
2020-10-13 10:19:42 +02:00
Peter Holmberg
87d6f90acb Fix: Dynamically add ShowWhen fields to the form watch (#28135) 2020-10-13 09:11:15 +02:00
Sofia Papagiannaki
4ab90f9397 Fix linting: remove commented code (#28208) 2020-10-13 08:35:41 +02:00
Sofia Papagiannaki
4acbcd7053 AlertingNG: POC of evaluator under feature flag. (#27922)
* New feature toggle for enabling alerting NG

* Initial commit

* Modify evaluate alert API request

* Check for unique labels in alert execution result dataframes

* Remove print statement

* Additional minor fixes/comments

* Fix lint issues

* Add API endpoint for evaluating panel queries

* Push missing renaming

* add refId for condition to API

* add refId for condition to API

* switch dashboard based eval to get method

* add from/to params to dashboard based eval

* add from/to params to  eval endpoint

Co-authored-by: kyle <kyle@grafana.com>
2020-10-12 21:51:39 +03:00
Sofia Papagiannaki
3928d0c531 Alerting: remove obsolete notifiers (after user confirmation) (#28190)
* Alerting: remove obsolete notifiers (after user confirmation)

* Additional text in confirmation modal
2020-10-12 21:14:08 +03:00
Arve Knudsen
957c88eaca CloudWatch: Re-implement authentication (#25548)
* CloudWatch: Revisit authentication

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Simplify auth code

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use ARN

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add Drone configuration

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove unused code

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove .drone.yml

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix external ID usage

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Fix issues after merge

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove stale code

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove stale code

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use auth type enum

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix test snapshot

* Coordinate frontend and backend option names

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove old comments

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix front-end tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Introduce session cache

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use constants

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix field alignment

* CloudWatch: Fix log message

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Tidy go.mod

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Handle arn auth type

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Fix role assumption duration

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix test

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Inline unnecessary constants

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Use serial comma in UI

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Inline unnecessary constants

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Fail if missing region

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Handle unconfigured region

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Log when using cached session

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Include region in cache key

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add UI warnings for lecagy support

* Do not clear ARN fields whenging change authentication provider

* Graph NG: annotations display (#27972)

* Annotations support POC

* Fix markers memoization

* dev dashboard update

* Update public/app/plugins/panel/graph3/plugins/AnnotationsPlugin.tsx

* CloudWatch: Remove errors.BadRequest

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Undo unintentional change

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove log line

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix cache key computation

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add region to cache key

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Improve log messages

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CloudWatch: Add documentation

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Improve tooltip

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Improve docs

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Improve docs

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Improve docs

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Improve tooltip

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add role assumption provisioning example

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add upgrade notes

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Improve docs

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Apply suggestions from code review

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

* backend: use latest sdk (#28147)

fixes #27713 via https://github.com/grafana/grafana-plugin-sdk-go/pull/227

* Docs: Update Permissions documentation (#28144)

* removed overview.md

* content updates

* Update datasource_permissions.md

* update content

* content updates

* Update organization_roles.md

* Update docs/sources/enterprise/saml.md

Co-authored-by: Kyle Brandt <kyle@grafana.com>

* Update dashboard_folder_permissions.md

Co-authored-by: Kyle Brandt <kyle@grafana.com>

* area/grafana/toolkit: ci-package needs to use synchronous writes (#28148)

* ci needs to use synchronous writes or the file ends up with zero length

* <Enterprise Docs> Add instructions to upload license via UI (#28067)

* Add UI license upload option, reformat Enterprise license activation section

Added the option to upload a license file through the Server Admin UI, and did a little reformatting to make license activation look more like a process.

* Headers not bold, hyphens not asterisks

* Github: run metrics collector workflow every 10min (#28153)

* GithubActions: Updated cron schedule

* Updated

* Docs: Update explore docs: remove dot at the end of line (#28151)

HI - Removed Dot(.) at the end of line to make it consistent with other 2 points.

Thanks,
Ashish

* Fix frontend tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix frontend tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Docs: Update upgrade notes

Co-authored-by: Sofia Papagiannaki <sofia@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Brian Gann <briangann@users.noreply.github.com>
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: ashishagarwal06 <34888589+ashishagarwal06@users.noreply.github.com>
2020-10-12 17:58:58 +02:00
Marcus Efraimsson
519ec93c7d Datasource: Prefix SigV4 json data keys with sigV4 (#28195)
Prefixes SigV4 json data and secure json data keys with sigV4 to make 
sure they don't collide with any other settings. Also minor fixes to UI.

Ref #27552
2020-10-12 17:52:17 +02:00
Hugo Häggmark
7b5decdbb0 Azure: Fixes cancellation of requests with different Azure sources (#28180)
* Azure: Fixes cancellation of requests whit different Azure query types

* Azure: Fixes cancellation of requests whit different Azure query types
2020-10-12 14:59:21 +02:00
Sofia Papagiannaki
83a6a5144d Cloud monitoring: Add REDUCE_MEAN reducer for cumulative metrics (#28192)
* Cloud monitoring: Add REDUCE_MEAN reducer for cumulative metrics

* Fix tests
2020-10-12 15:28:18 +03:00
Torkel Ödegaard
21ed77d7a5 TemplateSrv: Fix interpolating strings with object variables (#28171) 2020-10-12 14:22:26 +02:00
Kyle Hinton
92c2a6c239 Fix: Add additional settings for dataproxy to help with network proxy timeouts (#27841)
* adding additional settings for datasource cache transport

* added documentation for the new changes

* fixing small typo in defaults.ini comment

* fixing small typo in configuration.md comment

* Update conf/defaults.ini keepalive comment per review

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update conf/defaults.ini idle conn comment per review

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update conf/defaults.ini anon user comment per review

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/administration/configuration.md idle conn comment per review

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* adding suggestions from papagian

* fixing configuration.md

* fixing configuration.md typo

* Apply suggestions from code review aknuds1

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* updating sample.ini

* Apply suggestions for docs from code review papagian

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>

* Update docs/sources/administration/configuration.md fix typo

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2020-10-12 11:36:47 +03:00
Nitesh Koushik S
effb62d709 Grammar correction (#28185)
Grammar correction
2020-10-12 10:34:10 +02:00
Torkel Ödegaard
4fc6b2cb5e Docs: Update issue triage doc with new automation behaviors (#28181)
* Docs: Update issue triage doc with new automation behaviors

* Update ISSUE_TRIAGE.md

* Update ISSUE_TRIAGE.md
2020-10-12 10:09:52 +02:00
Peter Holmberg
ac88da14d3 Docs: Add Storybook docs for BigValue (#27814)
* first things

* finishing docs

* display mode docs
2020-10-12 08:15:09 +02:00
Nitesh Koushik S
0cb3c7e340 Grammar correction (#28179)
Grammar correction
2020-10-12 07:42:29 +02:00
Arve Knudsen
4d9374a051 grafana-toolkit: Remove stale reference to grafana-build-container (#28178)
* grafana-toolkit: Remove stale reference to grafana-build-container

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update packages/grafana-toolkit/src/cli/tasks/nodeVersionChecker.ts

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2020-10-12 07:31:19 +02:00
Nitesh Koushik S
bcfddb83ea Grammar correction (#28177)
Grammar correction
2020-10-12 07:25:47 +02:00
Arve Knudsen
a5c03b1772 Chore: Upgrade Node to 12.19.0 (#28168)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-12 07:10:50 +02:00
ashishagarwal06
f393e66a5a Docs: Update explore docs: remove dot at the end of line (#28151)
HI - Removed Dot(.) at the end of line to make it consistent with other 2 points.

Thanks,
Ashish
2020-10-09 21:10:23 +02:00
Torkel Ödegaard
68e925c9c7 Updated 2020-10-09 20:53:54 +02:00
Torkel Ödegaard
934e2a626f GithubActions: Updated cron schedule 2020-10-09 20:46:15 +02:00
Torkel Ödegaard
5b0495ea6a Github: run metrics collector workflow every 10min (#28153) 2020-10-09 20:43:41 +02:00
Mitch Seaman
7d5712ca68 <Enterprise Docs> Add instructions to upload license via UI (#28067)
* Add UI license upload option, reformat Enterprise license activation section

Added the option to upload a license file through the Server Admin UI, and did a little reformatting to make license activation look more like a process.

* Headers not bold, hyphens not asterisks
2020-10-09 11:45:15 -06:00
Brian Gann
a9ef0f84b8 area/grafana/toolkit: ci-package needs to use synchronous writes (#28148)
* ci needs to use synchronous writes or the file ends up with zero length
2020-10-09 12:16:12 -05:00
Diana Payton
1a0690c837 Docs: Update Permissions documentation (#28144)
* removed overview.md

* content updates

* Update datasource_permissions.md

* update content

* content updates

* Update organization_roles.md

* Update docs/sources/enterprise/saml.md

Co-authored-by: Kyle Brandt <kyle@grafana.com>

* Update dashboard_folder_permissions.md

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2020-10-09 10:08:29 -07:00
Kyle Brandt
768392f45f backend: use latest sdk (#28147)
fixes #27713 via https://github.com/grafana/grafana-plugin-sdk-go/pull/227
2020-10-09 12:05:11 -04:00
Diana Payton
90303b5a03 Docs: Move files (#27983)
* moved datasources folder

* Update menu.yaml

* updated Azuremonitor

* Update azuremonitor.md

* Update cloudmonitoring.md

* Update cloudwatch.md

* updated content

* Update elasticsearch.md

* Update graphite.md

* Update elasticsearch.md

* Update azuremonitor.md

* Update cloudmonitoring.md

* Update influxdb.md

* Update jaeger.md

* Update loki.md

* Update mssql.md

* Update mysql.md

* Update opentsdb.md

* Update postgres.md

* Update prometheus.md

* Update postgres.md

* Update jaeger.md

* Update mysql.md

* Update mssql.md

* added aliases

* Update testdata.md

* Update zipkin.md

* link fixes

* link fixing

* moved files out of guides

* Delete archive.md

* updated links

* updated aliases

* updated aliases

* link updates

* Update _index.md

* deleted archive.md

* Update azuremonitor.md

* Update azuremonitor.md
2020-10-09 08:16:25 -07:00
Peter Holmberg
873c32bc97 Docs: Pagination component (#28143)
* Add basic docs for pagination component

* Update packages/grafana-ui/src/components/Pagination/Pagination.tsx

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

* Update packages/grafana-ui/src/components/Pagination/Pagination.mdx

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

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2020-10-09 16:45:16 +02:00
Emil Tullstedt
1ff6fa9424 Encryption: Improvements 2020-10-09 16:15:24 +02:00
Jess
670b8512bf Add docs for IconButton (#28136)
* Update IconButton.story.tsx

* Create IconButton.mdx

* Add missing row

* Add props table

* Expand docs

Co-authored-by: Clarity-89 <homes89@ukr.net>
2020-10-09 16:25:27 +03:00
Torkel Ödegaard
ec215e18bc Automation: Adds github action to collect issue metrics (#28139) 2020-10-09 15:20:04 +02:00
Ivana Huckova
a3ef101618 Explore: Fix showing of Prometheus data in Query inspector (#28128)
* Fix showing of data in explore's query inspector

* Add test

* Add test

* Updat etest

* Implement react-testing-library and remove props export

* Update tests for consistency
2020-10-09 14:49:14 +02:00
Kyle Brandt
e16637793d Alerting: Add labels to name when converting data frame to series (#28085)
* also move conversion func to alerting package since it is not used in other places

Fixes #28068
2020-10-09 08:21:16 -04:00
Kyle Brandt
c9a5d1ad4b AzureMonitor: pass through null values instead of 0 (#28126)
fixes #28001
2020-10-09 08:15:19 -04:00
Amos Law
7e18ca7ed1 Docs: Update Elasticsearch and InfluxDB logs info (#28027) 2020-10-09 12:23:49 +02:00
Dominik Prokop
a3d1d9a9c5 Graph NG: EventsCanvas & WIP exemplars support (#28071)
* Use annotations data observable

* WIP exemplars

* Refactor usePlotContext to use getters instead of properties

* Use DataFrame in EventsCanvas instead of custom type

* Minor tweaks
2020-10-09 11:38:30 +02:00
Tom Daly
dc662025cd Panel Inspect: Allow CSV download for Excel (#27284)
* fix: Use locale to find delimiter for CSV export

* Add sep= Excel header to CSV exporter

* Add modal for Excel export

* Move Excel download to 'Data options' as toggle

* Add 'Download for Excel' documentation
2020-10-09 10:42:57 +02:00
Torkel Ödegaard
d181782943 FieldColor: Adds new standard color option for color (#28039)
* FieldColor: Added field color option

* Progress

* FieldColor: Added custom schemes

* move to fieldColor

* move to fieldColor

* add back the standard color picker

* FieldColor: Added registry for field color modes

* wip refactor

* Seperate scale from color mode

* Progress

* schemes working

* Stuff is working

* Added fallback

* Updated threshold tests

* Added unit tests

* added more tests

* Made it work with new graph panel

* Use scale calculator from graph panel

* Updates

* Updated test

* Renaming things

* Update packages/grafana-data/src/field/displayProcessor.ts

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* updated according to feedback, added docs

* Updated docs

* Updated

* Update docs/sources/panels/field-options/standard-field-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/panels/field-options/standard-field-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Updated docs according to feedback

* fixed test

* Updated

* Updated wording

* Change to fieldState.seriesIndex

* Updated tests

* Updates

* New names

* More work needed to support bar gauge and showing the color modes in the picker

* Now correct gradients work in bar gauge

* before rename

* Unifying the concept

* Updates

* review feedback

* Updated

* Skip minification

* Updated

* UI improvements

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-10-09 09:34:57 +02:00
Hugo Häggmark
c052abed87 Variables: hides dropdown before refreshing starts (#28112) 2020-10-09 06:31:45 +02:00
Michał Sochoń
3b44276504 Docs: Update configure-docker.md (#28127)
Bumpt container image to 7.2.x
2020-10-08 13:56:03 -07:00
Steven Vachon
77242b7264 Use latest @grafana/eslint-config (#28124)
* Use latest @grafana/eslint-config

* Updated lockfile
2020-10-08 13:56:30 -04:00
Ryan McKinley
2e42ae5236 Chore: update jest to 25 (#28096) 2020-10-08 09:58:05 -07:00
Torkel Ödegaard
71d72cc973 Snapshots: Fixed issue loading graphs in snapshots (#28111) 2020-10-08 18:38:20 +02:00
Ryan McKinley
2567e5202a Live: remove admin pages, add alpha panel (#28101) 2020-10-08 08:42:15 -07:00
Ryan McKinley
e69fe93e85 Live: improve dashboard editing notifications (#28094) 2020-10-08 08:18:37 -07:00
Emil Tullstedt
2f4a097e53 Encryption: Start move to data keys 2020-10-08 17:06:38 +02:00
Alexander Zobnin
b55a51e270 SAML Single Logout (#27995)
* SAML: single logout WIP

* SAML: sign SAML requests

* SAML: remove unnecessary logs

* fix go mod file

* Docs: Single Logout

* SAML: use api endpoint for single logout

* Apply suggestions from code review

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

* SAML: save context for single logout

* Chore: add SAML dependencies

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-10-08 17:42:55 +03:00
Torkel Ödegaard
46a91f2b94 Automation: Add sending metrics to Grafana Cloud (#28119)
Sends metrics from github automation actions to Grafana Cloud
2020-10-08 16:06:24 +02:00
Sofia Papagiannaki
0b0f5bd65c Chore: Update latest.json for 7.2.1 (#28117) 2020-10-08 16:41:26 +03:00
Agnès Toulet
de9f55cb3e Table: don't format React components values (#28116) 2020-10-08 15:25:51 +02:00
Peter Holmberg
36f3edc477 Fix: Ensure Notification types loaded before loading notification channel (#28115) 2020-10-08 15:17:27 +02:00
Sofia Papagiannaki
15cb07de04 Changelog 7.2.1 (#28113)
* Changelog 7.2.1

* Fix Changelog
2020-10-08 15:57:58 +03:00
Arve Knudsen
26ac672854 Drone: Fix test-release pipeline (#28108)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-08 13:28:20 +02:00
Chris Cowan
3af193358c Elasticsearch: Support chained pipeline aggregations (#27945)
* Elasticsearch: Support multiple pipeline aggregations for a query

* Ensuring descendents are deleted with their parents.

* Update public/app/plugins/datasource/elasticsearch/metric_agg.ts

Co-authored-by: Giordano Ricci <grdnricci@gmail.com>

* Update public/app/plugins/datasource/elasticsearch/query_def.ts

Co-authored-by: Giordano Ricci <grdnricci@gmail.com>

* Update public/app/plugins/datasource/elasticsearch/specs/query_def.test.ts

Co-authored-by: Giordano Ricci <grdnricci@gmail.com>

* Fixing typo

Co-authored-by: Giordano Ricci <grdnricci@gmail.com>
2020-10-08 11:24:54 +01:00
Will Browne
7d63b2c473 Auth: Add Sigv4 auth option to datasources (#27552)
* create transport chain

* add frontend

* remove log

* inline field updates

* allow ARN, Credentials + Keys auth in frontend

* configure credentials

* add tests and refactor

* update frontend json field names

* fix tests

* fix comment

* add app config flag

* refactor tests

* add return field for tests

* add flag for UI display

* update comment

* move logic

* fix config

* pass config through props

* update docs

* pr feedback and add docs coverage

* shorten settings filename

* fix imports

* revert docs changes

* remove log line

* wrap up next as round tripper

* only propagate required config

* remove unused import

* remove ARN option and replace with default chain

* make ARN role assume as supplemental

* update docs

* refactor flow

* sign body when necessary

* remove unnecessary wrapper

* remove newline

* Apply suggestions from code review

* PR fixes

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-08 10:03:20 +02:00
Marcus Andersson
ab33e46789 Bugfix: improved the way of checking if browser supports Intl.DateTimeFormat (#28086) 2020-10-08 09:47:08 +02:00
Arve Knudsen
c064c16e83 Drone: Fix test-release pipeline (#28102)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-08 09:21:27 +02:00
Arve Knudsen
4751923442 Drone: Fix release pipelines (#28100)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-08 07:39:00 +02:00
Arve Knudsen
c2059e8f0c Drone: Fix release pipelines (#28098)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-08 06:51:31 +02:00
Steven Vachon
7a65b1e8bb @grafana/toolkit: fix plugin test errors with react-testing-library (#28092) 2020-10-07 15:29:59 -07:00
Diana Payton
54c503dcc3 Docs: Update stat-panel.md (#28088) 2020-10-07 11:21:28 -07:00
Darryl
21fc3e702b Cloudwatch: Adding support for additional Amazon CloudFront. (#27891) (#28069)
* Cloudwatch: Adding support for additional Amazon CloudFront metrics.
2020-10-07 19:03:05 +02:00
Darryl
2b312d24c4 Docs: Remove and update vague link text #27824 (#28055) 2020-10-07 09:31:16 -07:00
Arve Knudsen
98b94d3824 Drone: Fix release pipelines (#28084)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-07 16:22:41 +02:00
Marcus Olsson
a2e676f675 Automation: Update bot comments (#28079)
* Update bot comments

* Fix review comments
2020-10-07 14:25:46 +02:00
Arve Knudsen
d2b957b726 Drone: Add release pipelines (#28083)
* Drone: Implement release pipeline

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Implement test-release pipeline

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-07 14:22:15 +02:00
garanews
61749dee23 Fix typos (#28074)
Parsed all repo with a regexp of common misspelled words and fixed.
2020-10-07 11:29:30 +01:00
Alex Khomenko
9c112cd785 Grafana-UI: Form elements fixes (#27858)
* Fix inline label tooltip position

* Allow resetting max-width

* Fix label alignment and props

* Fix label line height
2020-10-07 13:20:32 +03:00
Giordano Ricci
09574547b8 Elasticsearch: Fix ad-hoc filter support for Raw Data query and new table panel (#28064) 2020-10-07 09:37:31 +01:00
Torkel Ödegaard
f46694479f GithubCommands: Updated the issue link 2020-10-07 09:41:38 +02:00
Torkel Ödegaard
253c183430 GithubActions: Fixed workflow 2020-10-07 09:35:40 +02:00
Torkel Ödegaard
810d171bf5 Automation: Adds github automation commands, and base architecture to build more automation on (#28072)
* Automation: Adds github automation commands, and base architecture to build more automation on

* Updated commmand

* updated commands

* Updated token name
2020-10-07 09:33:05 +02:00
jgulick48
9cd3ab0340 Cloudwatch: Adding support for Amazon ElastiCache Redis metrics. (#28040)
* Cloudwatch: Adding support for Amazon ElastiCache Redis metrics.
2020-10-06 19:52:02 +02:00
Spencer Taylor
3606e282ba CloudWatch: Add missing TransitGateway dimension (#28061)
Adding missing TransitGatewayAttachment dimension to the AWS/TransitGateway namespace.
2020-10-06 19:22:03 +02:00
Arve Knudsen
0a2ef086b3 Chore: Convert CloudWatch metrics to data frames (#27449)
* CloudWatch: Convert metrics results to data frames

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: kay delaney <kay@grafana.com>
2020-10-06 13:45:58 +02:00
Dominik Prokop
810c327e31 Use annotations data observable (#28050) 2020-10-06 12:43:45 +02:00
Dominik Prokop
aa6c98f7ff Graph NG: annotations display (#27972)
* Annotations support POC

* Fix markers memoization

* dev dashboard update

* Update public/app/plugins/panel/graph3/plugins/AnnotationsPlugin.tsx
2020-10-06 11:39:06 +02:00
Arve Knudsen
a2816ee64a Add codeql-analysis.yml (#28029) 2020-10-06 09:58:25 +02:00
Hugo Häggmark
de1b2bdc4c Transformations: Use Observable (#27584)
* WIP: changes transformer API to Observable

* Refactor: changes ResultProcessor

* WIP: TransformationUI

* wip

* Refactor: Cleaning up code in CalculateFieldTransformerEditorProps

* Refactor: pushing editor and input output down to TransformationEditor

* Refactor: renaming props

* Refactor: makes transformDataFrame more readable

* Refactor: fixes editor issues

* Refactor: changes after merge with master and first tests

* Tests: completes the tests for the Explore changes

* Tests: fixes all transform tests

* Tests: fixed annotations test

* Tests: fixed typechecks

* Refactor: changes transform interface to MonoTypeOperatorFunction

* Chore: cleans up typings

* Update packages/grafana-data/src/transformations/transformDataFrame.ts

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* Tests: fixes broken tests

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2020-10-06 07:55:09 +02:00
Diana Payton
0bf67612d1 Docs: Update menu.yaml (#28044) 2020-10-05 15:20:27 -07:00
Matthew Helmke
16b8f60e38 Update documentation-style-guide.md (#28038)
Just a typo fix.
2020-10-05 15:57:49 -04:00
Diana Payton
81ec13b76d Update documentation-style-guide.md (#28037) 2020-10-05 12:03:12 -07:00
Steven Vachon
1c865b5bcb @grafana/e2e: timing improvements (#27861) 2020-10-05 11:19:53 -07:00
jgulick48
7c2999709c Cloudwatch: Add support for AWS DirectConnect virtual interface metrics and add missing dimensions (#28008)
* Cloudwatch: Add support for AWS DirectConnect virtual interface metrics.

* Cloudwatch: Adding dimentions to the AWS/DX namespace for virtual network interface based DirectConnect.
2020-10-05 19:19:40 +03:00
Torkel Ödegaard
d097c7dafb FieldDisplayName: Make field display names unique if field name exists more than once (#27963)
* FieldDisplayName: Make field display names unique if fields with same name exists

* Updated tests

* Minor optimization

* Updated seriesToColumns test

* Fixed arrow data frame test
2020-10-05 18:05:06 +02:00
achatterjee-grafana
c70291de5d Updated relref link to Anonymous authentication section in grafana/latest/auth/grafana/ (#28034) 2020-10-05 11:31:49 -04:00
Dan Cech
4629c44d49 Toolkit: implement plugin signing in grafana-toolkit (#27907)
* implement plugin signing in grafana-toolkit
2020-10-05 11:27:43 -04:00
Nitesh Koushik S
ad0f071159 Docs: Document Update (#27786)
* Document Update 

Changes made from "are" to "is"

* Document Update

Changes from "are" to "is"

* Document Update

Changes from "are" to "is"

* Document Update

Proper punctuations

* Document Update

Changes as per suggestion

* Document update

Changes as per the suggestion

* Document Update

Changes as per the suggestion

* Document Changes

Changes made as per @achatterjee-grafana suggestion

* Document Update

Changes made as per @oddlittlebird suggestion.
2020-10-05 08:24:52 -07:00
David C
1f389d72b2 Docs: Added $__rate_interval to Prometheus help (#28030)
* Docs: Added $__rate_interval to Prometheus help

The variable '$__rate_interval' was added in Grafana 7.2.0. This commit
adds the missing help information to Grafana's Prometheus PromQueryEditor.

Signed-off-by: David Calvert <davidcalvertfr@gmail.com>

* Docs: Fixed line length in PromQueryEditor.tsx

This commit will fix line length of my previous commit to make CI green
again.

Signed-off-by: David Calvert <davidcalvertfr@gmail.com>

* Docs: Fixed ci error

Fixed CI error due to my previous commits

Signed-off-by: David Calvert <davidcalvertfr@gmail.com>
2020-10-05 11:14:33 -04:00
Alex Khomenko
11e6cc10d4 Add Alex Khomenko as member (#28032) 2020-10-05 15:08:16 +03:00
Amos Law
3a498e80ff Registry: Fix service shutdown mode trigger location (#28025) 2020-10-05 13:30:46 +02:00
Arve Knudsen
531c579341 Plugins: Let descendant plugins inherit their root's signature (#27970)
* plugins: Let descendant plugins inherit their root's signature

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-05 13:28:18 +02:00
ozhuang
65d0468806 Docs: Fixed row display in table (#28031) 2020-10-05 10:54:17 +02:00
Ryan McKinley
726bb4477b Live: cleanup and simple changes (#28028) 2020-10-04 23:53:52 -07:00
Ivana Huckova
0ffd9a9a3c Loki: Run instant query only in Explore (#27974)
* Run instant query only in Explore

* Replace forEach with for loop
2020-10-04 21:41:12 +02:00
Torkel Ödegaard
301d298bff Yarn: Update lock file (#28014) 2020-10-04 20:21:40 +02:00
Zoltán Bedi
b1186d693a Stackdriver: fix project name change regression (#27909)
* Update stackdriver query editor not to overwrite project name

* Fix legacy select form no options didn't show

* Update config link to docs
2020-10-03 11:55:09 +02:00
Zoltán Bedi
b00755a2d9 Fix errors in grafana-ui's storybook files (#28004) 2020-10-03 11:53:01 +02:00
Alex Khomenko
6173aa70b7 UserPicker: Use clearable AsyncSelect for the UserPicker (#27994) 2020-10-03 07:19:45 +02:00
Torkel Ödegaard
dfe04ea3e8 Packages: Fixed npm dependency issue (#27996)
* Packages: Fixed npm dependency issue

* Updated yarn.lock

* Fixes

* Updated
2020-10-03 07:13:19 +02:00
Linus Groh
9d422fc400 Storybook: Fix typo in ThemeColors component (#27999) 2020-10-03 07:07:53 +02:00
Fredrik Enestad
266aba71eb Add Fredrik Enestad as member (#27959) 2020-10-02 20:26:50 +02:00
John S
4d3067e139 Docs: Refactor inconsistent unordered lists (#27826)
* Docs: Refactor inconsistent unordered lists

* add requested changes

* Update docs/sources/linking/data-link-variables.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/http_api/_index.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/guides/whats-new-in-v6-0.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/auth/auth-proxy.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* resolve weird line breaks

* revert unintentional change

* Update docs/sources/auth/auth-proxy.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/auth/auth-proxy.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/auth/auth-proxy.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-10-02 11:02:11 -07:00
Matheus Alcantara
7d7e727f22 Cloudwatch: Convert go convey tests to standard test library (#28003)
* Cloudwatch: Convert go convey tests to standard test library

* Fix tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-02 19:40:15 +02:00
Steven Vachon
89ebab6377 Don't use process.chdir (#27915)
... because it's global
2020-10-02 10:43:39 -04:00
Arve Knudsen
a078e40238 Settings: Rename constants/variables to follow Go naming standards (#28002)
* settings: Rename constants/variables to follow Go naming standards
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-02 15:45:45 +02:00
vin01
a5e12f653d Use read_api scope in gitlab oauth config sample (#27992) 2020-10-02 09:42:57 -04:00
Lundbyit
2c1c4d613c Storybook: Fix checkbox spacing (#27980)
* Remove <br> and add line-height

* use theme line-height instead of custom
2020-10-02 16:07:47 +03:00
Matheus Alcantara
b4b3f6a088 Test: Create unit test to SplitEmails (#27985) 2020-10-02 08:42:10 +02:00
Carl Bergquist
a28a2fba51 healthchecks should work regardless domain (#27981) 2020-10-02 07:14:26 +02:00
Hugo Häggmark
845bc7c444 Variables: Adds loading state and indicators (#27917)
* Refactor: Replaces initLock with state machine

* Refactor: removes some states for now

* Refactor: adds loading state in OptionsPicker

* Refactor: major refactor of load state

* Refactor: fixes updating graph in parallell

* Refactor: moves error handling to updateOptions

* Refactor: fixes the last cases

* Tests: disables variable e2e again

* Chore: removes nova config

* Refactor: small changes when going through the code again

* Refactor: fixes typings

* Refactor: changes after PR comments

* Refactor: split up onTimeRangeUpdated and fixed some error handling

* Tests: removes unused func

* Tests: fixes typing
2020-10-02 07:02:06 +02:00
achatterjee-grafana
add777ad40 Change metadata of doc topics (#27943)
* Changes. to metadata in Manage users

* changes to install section

* Added titile

* More changes.

* Updated administration folder metadata, moved 2 files from installation folder.

* Added links to Administration landing page, other metadata changes worked out.

* Updated alerting section metadata.

* Updated metadata of Auth section. Broke index and created separate Grafana Authentication section.

* Added correct weight.

* Updated metadata for the Best practices section.

* Updated metadata in templates, broke Overview topic.

* Updated subment Variable types metadata

* Fixed yaml file and H1 description of Variables syntax topic.

* Couple more metadata changes.

* Added aliases files, as suggested by Diana.
2020-10-01 17:37:26 -04:00
Diana Payton
715f0133ee Docs: Remove reference folder (#27944)
* Delete stack_guide_graphite.md

* moved json-model

* Moved Export and import

* Delete _index.md

* Moved Scripted dashboards

* Moved Share dashboard

* fixed links
2020-10-01 14:13:39 -07:00
Marcus Andersson
5f41818766 Build: restoring temporary commit so we can get lerna to publish the frontend packages. (#27979)
* restoring commit function.

* removed spacing.
2020-10-01 20:50:17 +02:00
vin01
78a2026a82 Use read_api scope for GitLab OAuth (#27976)
`read_api` seems to be the minimal scope currently which can be used, it shall be preferred over `api` which grants complete read/write access.

- https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28944#note_322904691
- https://gitlab.com/gitlab-org/gitlab/-/issues/21909
2020-10-01 14:29:48 -04:00
kay delaney
185442115c Chore: Remove angular dependency from data sources (#27735)
* Chore: Remove angular dependency from data sources

* Removes default export for time and template srvs
Also uses @grafana/runtime versions of the interfaces where possible

* Replace usage of internal templateSrv where possible

* Use runtime templateSrv in a couple more places
2020-10-01 18:51:23 +01:00
Ryan McKinley
8a5fc00330 Live: broadcast events when dashboard is saved (#27583)
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
2020-10-01 10:46:14 -07:00
Marcus Andersson
44c9aea28c skipping the verification of a clean workspace. (#27978) 2020-10-01 19:35:41 +02:00
DECarreras
54df058b95 Docs: Fixed lazy numbering in all documentation files (#27975) 2020-10-01 12:45:05 -04:00
Arve Knudsen
c3f277a6fe Drone: Fix releasing of next NPM packages (#27965)
* CI: Upgrade build pipeline tool

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Don't bump NPM package version as part of script

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* cleaned up release next packages script.

* made the comment a bit better.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2020-10-01 17:37:56 +02:00
Stefan
cf071a36f9 Docs: Update whats-new-in-v7-2.md (#27950)
* Update whats-new-in-v7-2.md

Grafana 7.2.0 was released 2020-09-23 and isn't in beta anymore, see https://github.com/grafana/grafana/blob/master/CHANGELOG.md

* Update docs/sources/guides/whats-new-in-v7-2.md

Remove warning about article being incomplete

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

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2020-10-01 07:58:24 -07:00
Andrej Ocenas
26ba7ab598 Chore: Remove loki version hack in explore (#27966) 2020-10-01 15:41:05 +02:00
Ivana Huckova
43c389d119 Revert "Update refId for instant queries (#27954)" (#27960)
This reverts commit 9546da3189.
2020-10-01 14:39:32 +02:00
Zoltán Bedi
a230aa1031 Prometheus: refactor to DataFrame (#27737)
* Add typing to prometheus response

* Refactor result_transformer to return DataFrame

* Refactor + test fixes

* Fix Prometheus data source test

* Modify heatmap function + add back tests

* Update performInstantQuery return type

* Remove duplicate code from result_transformer

* Address review comments

* Update metric labels retrival logic to be safer
2020-10-01 12:58:06 +02:00
Arve Knudsen
f97f12f69d Drone: Don't use npx (#27955)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-01 12:56:48 +02:00
Ivana Huckova
9546da3189 Update refId for instant queries (#27954) 2020-10-01 12:19:24 +02:00
Ivana Huckova
2f5a60f561 Explore: Remove ui params from url (#27753)
* Remove ui from url

* Update tests

* Update changeDedupStrategy

* Add test coverage
2020-10-01 12:18:21 +02:00
Domas
bd9add72de toolkit: expose maxWorkers option for plugin build & test tasks (#27724) 2020-10-01 10:50:56 +02:00
Amal
22b2d4d412 Minor change for readability (#27938) 2020-10-01 10:43:59 +02:00
Amal
f05ec42bd5 Minor change for better readability of docs (#27937)
* Minor change for better readability of docs

* Update docs/sources/developers/plugins/backend/plugin-protocol.md

Accepting review suggestions

Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>

Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>
2020-10-01 10:43:09 +02:00
Marcus Efraimsson
747513d444 Plugins: Fix loading of backend plugins (#27951)
Ref #27921
2020-10-01 10:39:42 +02:00
Arve Knudsen
298ac20dc5 Drone: Upgrade build pipeline tool (#27949)
* Drone: Don't use npx

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Upgrade build pipeline tool

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-01 10:00:11 +02:00
Hugo Häggmark
fa2781391a DashboardLinks: values in links are updated when variables change (#27926)
* DashboardLinks: values in links are updated when variable changes

* Tests: adds e2e test that verifies links
2020-10-01 08:44:56 +02:00
Sartaj Singh Baveja
4e4242d475 Variables: Adds support for key/value mapping in Custom variable (#27829)
* Initial work on adding new mapping variable type

* Remove add button

* Update custom variable type to include key/value mapping

* Update custom variable docs

* Try to fix failing build

* Update reducer.ts

* Fix failing build

* Remove expansion of the colon

* Update docs

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-10-01 06:06:52 +02:00
Marcus Efraimsson
c028d3047c CI: Notify failures in separate pipeline (#27936)
* Notify failures in separate pipeline

* Include branch and event in triggers

* Use snake case

* Use snake case

* Fix enterprise/downstream

* Apply suggestions from code review

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-30 22:14:47 +02:00
denominator
1d2b839a1d Docs: Fix note format for documentation (#27940) 2020-09-30 12:45:07 -07:00
Amal
1586baf55a Correcting case in docs (#27941) 2020-09-30 15:03:25 -04:00
Carl Bergquist
7b891d10ee Instrumentation: Removes invalid chars from label names (#27921) 2020-09-30 20:12:57 +02:00
Amal
e26b8636a9 Typo correction in documentation (#27935) 2020-09-30 13:50:02 -04:00
Arve Knudsen
833903bd00 Drone: Sync with enterprise (#27939)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-30 19:28:28 +02:00
Diana Payton
75d1c16f0b Docs: Update time-range-controls.md (#27914) 2020-09-30 09:39:32 -07:00
Amal
ca4e48a8e4 Typo correction in docs (#27934) 2020-09-30 17:35:54 +02:00
Amal
831fe2d2b3 Update plugin-protocol.md (#27932) 2020-09-30 17:35:16 +02:00
Marcus Olsson
016ec7343a Add marcusolsson as code owner for plugin docs (#27810) 2020-09-30 15:08:01 +02:00
Marcus Olsson
902ecc9a06 Docs: Add trace and exemplar to glossary (#27854)
* Format glossary table

* Add trace and examplar to glossary

* Fix typo

* Fix review comments

* Fix review comment

* Update docs/sources/getting-started/glossary.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-30 15:07:44 +02:00
Arve Knudsen
b892aa2eb7 Drone: Don't ignore failure to publish next NPM packages (#27927)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-30 14:11:40 +02:00
Arve Knudsen
a59a89dfb8 Drone: Fix publishing of next NPM packages (#27925)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-30 13:36:09 +02:00
Marcus Andersson
b59be220ce Build: fixing failing release packaged build due to uPlot dependency not properly setup (#27887)
* removed dependency from grafana/ui on public/app.

* fixed so we don't get rollup issues when building the packages.

* fixed so import path is working properly.

* removed uncommented code.
2020-09-30 12:59:02 +02:00
Arve Knudsen
34a355fe54 Drone: Add Slack failure notifier (#27920)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-30 11:04:37 +02:00
Arve Knudsen
739395abb6 Drone: Don't build enterprise Windows installer unless downstream (#27919)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-30 10:36:33 +02:00
Torkel Ödegaard
d105db3e5b Graph: Fixed histogram bucket calculations to avoid missing buckets (#27883)
* Graph: Fixed histogram bucket calculations to avoid missing buckets

* Removed testdata

* Updated tests
2020-09-30 09:26:06 +02:00
Arve Knudsen
7a12094ddc Drone: Ignore failure to publish front-end metrics (#27918)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-30 09:23:48 +02:00
Agnès Toulet
05cb049733 Dashboard: Don't send analytics for explore or edit events (#27789)
* Dashboard: don't send analytics for explore or edit event

* AnalyticsProcessor: merge subsequent conditions

* Add analyticsProcessor tests

* apply PR feedback
2020-09-30 08:29:33 +02:00
Joan López de la Franca Beltran
e03da3760e Add index at user_auth_token.user_id column (#27908) 2020-09-30 01:20:29 +02:00
Arve Knudsen
702fb1edd1 Drone: Upgrade drone-grafana-docker image (#27911)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-29 21:34:34 +02:00
Steven Vachon
d745a66a18 @grafana/toolkit: cleanup (#27906)
* Simplify `useSpinner` to run immediately, instead of returning a function

* Removed unnecessary exports

* Avoid mutating input arguments
2020-09-29 15:05:07 -04:00
Ryan McKinley
f60f1c3fc7 Chore: use Array.isArray rather than lodash (#27898) 2020-09-29 10:39:52 -07:00
Ryan McKinley
71a01a1053 Chore: Convert internal grafana datasource from angular to react (#27870) 2020-09-29 10:39:31 -07:00
Arve Knudsen
26f86ba823 Drone: Fix publishing of master artifacts (#27902)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-29 18:15:25 +02:00
Marcus Olsson
03f059b7c5 Docs: Fix typo and clarify need for query editor (#27796)
* Fix typo and clarify need for query editor

* Update docs/sources/developers/plugins/add-support-for-annotations.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-29 17:26:01 +02:00
Arve Knudsen
a9afb750d9 Drone: Fix master build (#27897)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-29 16:34:49 +02:00
MorgeMoensch
74de2475ca Fix Link to OWASP SameSite information (#27895)
The old link (https://owasp.org/index.php/SameSite) no longer works, so I suggest to use this one instead: https://owasp.org/www-community/SameSite
2020-09-29 10:32:22 -04:00
Ryan McKinley
4f3be31e1a Chore: show error/warning notice with a different icon (#27872) 2020-09-29 07:27:57 -07:00
Steven Vachon
15a3b97dbb @grafana/toolkit: run npm "next" publish file system functions serially (#27894)
... to hopefully avoid race conditions with working directory changes
2020-09-29 10:16:16 -04:00
Arve Knudsen
6671e4ec32 Chore: Upgrade build pipeline tool (#27893)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-29 16:09:46 +02:00
Arve Knudsen
3f728501df Drone: Fix Windows installer upload (#27890)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-29 15:45:59 +02:00
Arve Knudsen
262a6faad0 Chore: Upgrade build-pipeline tool (#27888)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-29 14:24:18 +02:00
Jess
339ef7a1a8 Add docs for TagsInput (#27881)
* Add docs for TagsInput

* Add import to TagsInput.story.tsx

* Update packages/grafana-ui/src/components/TagsInput/TagsInput.mdx

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

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2020-09-29 14:30:57 +03:00
Dominik Prokop
b995381816 Proposal: Declarative API for axes, scales and series configuration in Graph NG (#27862)
* Fix gdev dashboard

* API for declarative Axis, Series and Scales configuration

* Bring back time zone change support

* Update tests and fix type errors

* Review comments and fixes
2020-09-29 13:25:10 +02:00
Kemal Akkoyun
0c70308870 Prometheus: Add time range parameters to labels API (#27548)
* Add time range parameters to labels API

Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>

* Fix minor issues

Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>

* Add range to explore component

Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>

* Add range to query component

Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>

* Cache metric names for time range

Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>

* Update public/app/plugins/datasource/prometheus/components/PromQueryField.tsx

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

* Remove unused method

Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>

* Only compare the ranges

Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>

* Update public/app/plugins/datasource/prometheus/components/PromQueryField.tsx

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

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2020-09-29 11:05:57 +02:00
Heliodor Jalba
5c1c5f4178 Fix how multiplication is displayed (#27825)
Asterisk character is used for italicizing by the styling engine. It needs to be escaped with a backslash.
2020-09-29 08:53:37 +02:00
Steven Vachon
4fd8ff092e @grafana-toolkit: promise improvements (#27868)
* Default `useSpinner` to a void argument

* Use promise-based file system functions in package:build
2020-09-28 15:43:01 -04:00
Ivana Huckova
d7e192a8fe Prometheus/Explore: Update position of fields in editor (#27816)
* Update position of buttons

* Refactor, add tests

* Pass onKeydown func

* Update public/app/plugins/datasource/prometheus/components/PromQueryField.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2020-09-28 21:25:16 +02:00
Zoltán Bedi
e82e3f27a5 Add X-Ray to whats new (#27867)
* Add X-Ray to whats new

* Update docs/sources/guides/whats-new-in-v7-2.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Add missing titles

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-28 21:08:38 +02:00
Berbe
7c0bd29fcc Fix: bps & Bps default scale remains decimal (backwards-compatibility) (#27838) 2020-09-28 19:24:09 +02:00
Nitesh Koushik S
c6502afa77 Docs: Document Update (#27851)
* Document Update

Changes from 'being" to "be"

* Document Change

Changes from "exporation" to "exploration"
2020-09-28 09:32:40 -07:00
Nitesh Koushik S
ed4e47df11 Docs: Document update (#27783)
* Document update

Change in key word "to" to "two"

* Document Update

Grammer correction

* Document Update

Changes made as per the suggestion
2020-09-28 09:28:00 -07:00
Nitesh Koushik S
5be468eda5 Docs: Document update (#27785)
* Document update

Proper punctuations

* Document update

Punctuations and grammar correction

* Document Update 

Proper punctuations.

* Document Update

Changes as per the suggestion
2020-09-28 09:27:22 -07:00
Nitesh Koushik S
bbd3e5041e Document Update (#27850)
* Document Update

Capitalization and grammar change

* Document change

Spelling and grammar correction
2020-09-28 11:30:55 -04:00
Phil Nichol
7473e2ae60 Docs: Corrected incorrect uses of (setup|set up) (#27835) 2020-09-28 08:27:50 -07:00
Peter Holmberg
2114614197 GEL: Editor UI updates (#27859)
* use new inline form styles

* remove fragment

* rename some of the GEL form labels

* s/gel type/operation for label

Co-authored-by: kyle <kyle@grafana.com>
2020-09-28 16:44:52 +02:00
Alex Khomenko
c35bd84ff1 Grafana-UI: Refactor legacy inline form components (#27660)
* Move styles to emotion

* Move FormLabel to forms

* Add mdx file

* Setup InlineField

* Add InlineField docs

* Add grow prop

* Add isKeyword prop

* Add filled Field

* Keep legacy form label

* InlineFormLabel => InlineLabel

* Update references

* Add multiple elements example

* Revert label

* Add InlineFieldRow

* Adjust label width

* Export InlineFieldRow

* Expand props from base components

* Remove isKeyword prop

* Remove fill prop

* Update docs

* Update docs [2]
2020-09-28 14:24:25 +03:00
mshaferweb
d40bfd4f10 Update timeseries-dimensions.md (#27844)
typo ... without or without
2020-09-28 10:12:01 +02:00
Alex Khomenko
3188524f1f Grafana-UI: Add docs for FormattedValueDisplay (#27759)
* Add docs for FormattedValueDisplay

* Move to visualizations
2020-09-28 10:16:20 +03:00
Peter Holmberg
244c28750c Fix: Update badges on PanelEditor tabs when adding a query/transformation/alert (#27729)
* minor nits in paneleditor

* add events for queries and transformations

* fix spelling

* add event to alertctrl

* revert alert changes

* re add force update

* reduce events
2020-09-28 09:06:46 +02:00
Nitesh Koushik S
336636572b Document Update (#27795)
* Document Update

Changes from "advice" to "advise"

* Document Update

Changes made as per the suggestion
2020-09-26 12:41:52 -04:00
Marcus Olsson
e746e52bda Add Share query results docs (#27792) 2020-09-26 15:29:08 +02:00
achatterjee-grafana
d35b78a023 Removed bookmarks. (#27833) 2020-09-25 20:22:33 -04:00
achatterjee-grafana
c73d7db092 Mac os install changes (#27779)
* Reorganized topic. Added section on how to install Grafana using standalone binary files.

* Added next steps section.

* Updated list numbering.
2020-09-25 19:55:53 -04:00
Diana Payton
552e4cb84d Docs: Remove feature folder (#27830)
* moved files out of tutorials folder

* link update

* updated weights

* moved Explore

* move files and fix links

* moved files out of features

* Revert "moved files out of features"

This reverts commit 5e44cbcc95.

* fixed links
2020-09-25 13:53:13 -07:00
Steven Vachon
f38e431632 @grafana/e2e: selectOption flow now accepts a config object (#27827) 2020-09-25 16:10:55 -04:00
Nitesh Koushik S
1dc658f521 Document Update (#27782)
* Document Update

Proper punctuations

* Document Update

Proper punctuations

* Document Update

Adding punctuations
2020-09-25 14:45:32 -04:00
Diana Payton
c635807cf1 Docs: Fix link in share_panel.md (#27823)
* Update share_panel.md

* Update share_panel.md
2020-09-25 10:41:04 -07:00
Diana Payton
0138bbee3d Update documentation-markdown-guide.md (#27817) 2020-09-25 10:16:11 -07:00
Nitesh Koushik S
9335c92e0b Document update (#27798)
Changes made form "visualisation" to "visualization"
2020-09-25 11:56:29 -04:00
Diana Payton
447169fb59 Docs: Fix bullet list (#27815)
* Update _index.md

* Revert "Update _index.md"

This reverts commit 5a5052691d.

* Update _index.md
2020-09-25 08:49:57 -07:00
Will Browne
c764e3c37b remove org deprecation logs (#27788) 2020-09-25 16:51:12 +02:00
kay delaney
d322417217 Chore: Upgrade typescript and related packages (#27316)
* Chore: Upgrade typescript and related packages
Closes #27115

* Apply suggestions from code review

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

* fixes some tests

* Fix failing tests

* Apply suggestions from code review

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

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-09-25 15:48:41 +01:00
Marcus Olsson
3b8701a35d Docs: Add reference to plugin examples (#27809)
* Add reference to plugin examples

* Remove unintended whitespace
2020-09-25 16:47:52 +02:00
Nitesh Koushik S
d6ed7c2344 Document Changes (#27812)
Removal of repeated keywords.
2020-09-25 10:29:15 -04:00
Nitesh Koushik S
f9ab6975ba Document Update (#27806)
* Document Update

Capitalizing the words

* Document Update

Changes made as per the suggestion
2020-09-25 10:22:43 -04:00
Nitesh Koushik S
b6ae70e66d Document Update (#27799)
Removal of additional ". (dot)"
2020-09-25 10:22:00 -04:00
Nitesh Koushik S
e3aecb086f Document Update (#27811)
* Document Update 

Grammar correction

* Document correction

Spelling correction from "Gooogle" to "Google"

* Document update

adding a comma, as per suggestion
2020-09-25 10:18:21 -04:00
Nitesh Koushik S
5af2634c34 Document Change (#27797)
* Document Change

Changes made form "contains" to "contain"

* Document Update

Changes from "returns" to "return"
2020-09-25 10:17:15 -04:00
Nitesh Koushik S
14895aeaba Document change (#27808)
Change in keyword "cryptogtraphic" to "cryptographic"
2020-09-25 09:57:03 -04:00
Nitesh Koushik S
4da2fa9973 Document update (#27807)
Grammar correction
2020-09-25 09:49:21 -04:00
Bill Oley
334cb41a99 Move error log in social.go inside err != nil (#27804) 2020-09-25 15:24:16 +02:00
Nitesh Koushik S
69ba7bff82 Document Update (#27801)
* Document Update

Correcting the JSON syntax

* Document Update

Correcting the JSON syntax
2020-09-25 15:21:45 +02:00
Ivana Huckova
336699c575 Fix formating of results from instant queries in Explore (#27767) 2020-09-25 14:34:33 +02:00
Hugo Häggmark
204641a202 Variables: Prevents unnecessary calls to update options (#27790)
* Variables: Prevents unnecessary calls to update options

* Tests: adds tests for QueryVariableEditor
2020-09-25 13:40:03 +02:00
Torkel Ödegaard
193565ca26 BarGauge: Fixed scrollbar showing for bar gague in Firefox (#27784) 2020-09-25 13:32:28 +02:00
Hugo Häggmark
0bb8b32821 Mysql: Support request cancellation properly (Uses new backendSrv.fetch Observable request API) (#27649) 2020-09-25 12:46:28 +02:00
Ryan McKinley
3ae6ba034d Graph NG: make series color easy to clear (#27778) 2020-09-25 11:46:39 +02:00
William Assis
8a22111a8e Toolkit: Add --coverage flag to plugin build command (#27743)
* Add --coverage option to build script

* Update README
2020-09-25 08:12:00 +02:00
Nitesh Koushik S
dde5b724e8 Docs: Document Update (#27693)
* Document Update

"an SQLite" to "a SQLite"

* Document Update

Capitalization
2020-09-24 14:30:11 -07:00
Arve Knudsen
19c1428103 Drone: Ignore release-next-npm-packages failure (#27775)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-24 22:21:58 +02:00
Heds Simons
0f862d6507 Documentation: Fix 'Group by' table markdown in Transformations section. (#27773)
Signed-off-by: Heds Simons <heds@whaleway.net>
2020-09-24 12:32:24 -07:00
Arve Knudsen
02e648c42d Drone: Separate pipeline for publishing packages (#27774)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-24 21:31:09 +02:00
John Belmonte
9ca12a7663 prometheus grafana dashboard: use newer info metric (#27240)
Fixes #24952.
2020-09-24 21:10:57 +02:00
Torkel Ödegaard
adc1b965f3 PanelData: Adds annotations and QueryResultMeta dataTopic (#27757)
* topics round two

* more props

* remove Data from enum

* PanelData: Simplify ideas a bit to only focus on the addition of annotations in panel data

* Test data scenario

* Old graph panel showing annotations from PanelData

* Fixed comment

* Fixed issues trying to remove use of event.source

* Added unit test

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2020-09-24 21:01:31 +02:00
Torkel Ödegaard
f06dcfc9ee Table: New cell hover behavior and major refactoring of table cells & style build (#27669)
* Table: Image cell and new hover behavior

* ImageCell: progress

* Table: refactoring cell style generation, tricky stuff

* About to do something

* Getting close

* Need another big change

* Almost everything working

* Filter actions working

* Updated

* Updated

* removed unused prop from interface

* Fixed unit test

* remove unused type
2020-09-24 20:09:01 +02:00
achatterjee-grafana
8018059fc4 Fixed Heading 2 "General resources" format. (#27771) 2020-09-24 13:29:40 -04:00
Giordano Ricci
d4f785d20a Elasticsearch: Add query's refId to each series returned by a query (#27614) 2020-09-24 18:06:19 +01:00
Marcus Andersson
7feaddea8f Chore: adding platform independent typings for e2e tests. (#27768)
* added typings that are platform independent in the tests.

* fixing nits.
2020-09-24 18:47:25 +02:00
Sofia Papagiannaki
42476811a4 Cloudwatch: Fix loading custom credentials profile (#27684)
* Store credentials profile in JSON

* Update docs example

* Apply suggestions from code review

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-24 19:21:17 +03:00
Nitesh Koushik S
f0a586a914 Document Change (#27764)
* Document Change

Change in key word from "exterrnal" to "external"

* Document update

Change in key word "you" to "your"
2020-09-24 10:53:39 -04:00
kay delaney
267f3e7389 Chore: Remove leftover console.log (#27766) 2020-09-24 15:51:38 +01:00
Dominik Prokop
844dd9e8f0 Graph NG WIP (#27572)
* Squash merge Ryans uPlot work

* uPlot - wrap into composable API

* Remove MicroPlot.tsx

* Add missing uPlot stylesheet import

* Use field config for axes config

* Min selection distance for Zoom

* WIP Tooltip behaviour

* Some progress on rendering plot

* gdev dashboard for graph ng tests

* Update custom field config interface for graph options

* Add support for paths in default field config setup (+2 squashed commits)
Squashed commits:
[93fc3afbfc] Typecheck fix
[a07ef86a8b] Add support for paths in default field config setup

* Include IANA timezone canonical name in TimeZoneInfo

* Use correct time zone on time axis

* Default axis width

* Use system date time formats for time axis ticks

* Graph panel layout

* Respect config paths when rendering default value of field config property

* Fix mismatch in field config editor types

* Color field option editor

* Refactor plot context to a single one

* First version of new graph legend plugin

* Fix mutable data frame

* Multiple ui fixes, layout is still slightly problematic

* Remove unused

* Fix tooltip test

* Some perf optimisations

* Update dev dashboard

* Typecheck fix

* Do not use color value editor as standard property editor, add custom field config to graph panel to control series color

* Update dev dashboard with correct tags

* Fix undefined issues

* Update devenv/dev-dashboards/panel-graph/graph-ng.json
2020-09-24 16:44:35 +02:00
Nitesh Koushik S
033feebbf9 Document Update (#27694)
* Document Update

Where to were

* Document Update

"re enter" to "reenter"

* Document Update

"an" to "a"

* Document Update

"an" to "a"

* Document update

"can not " to cannot

* Document update

Changes made from "and by that not function as expected." to "and by that it do not function as expected."

* Document update

Change made from "by that not function as expected" to "by that it does not function as expected"

* Update docs/sources/installation/upgrading.md

Commit, the document based on suggestion

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update docs/sources/installation/upgrading.md

Commit the changes as per the suggestion

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Document update

Changes reverted from "cannot" to "can not" as per the suggestion

* Document Update

Changes as per the suggestion

* Document changes

Changes as per the suggestion

* Document Change

Changes made as per the suggestion

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-24 10:25:27 -04:00
Arve Knudsen
c65aea5569 Drone: Fix master build (#27765)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-24 16:22:41 +02:00
Nitesh Koushik S
a8d97f6666 Document Update (#27762)
* Document Update

"dashboards definition" to "dashboard's definition"

* Document Change

Betweens to Between
2020-09-24 06:54:20 -07:00
Chiang Fong Lee
bb7c1d22b7 Docs: Fix sidebar link typo for "Filter table columns" (#27754) 2020-09-24 06:53:14 -07:00
Harald Kubota
81bf9fc278 LINE Notify to have Alerts and OK notifications (#27639)
* Get Alerts AND OKs for LINE Notify

* Get Alerts AND OKs for LINE Notify

* Get Alerts AND OKs for LINE Notify
2020-09-24 15:45:53 +02:00
Arve Knudsen
755f3d0de7 CI: Migrate to Drone for master builds (#27087)
* CI: Migrate to Drone for master builds
2020-09-24 15:20:48 +02:00
Zoltán Bedi
b98c85d81c Chore: eslint plugin react hooks fix in jeager (#27580)
* Use eslintignore instead of gitignore

* Fix jaeger errors
2020-09-24 14:41:57 +02:00
Hong
92c804fd55 Docs: Fix "Field options and overrides" page links (#27758)
What this PR does / why we need it:

Fix [Field options and overrides](https://grafana.com/docs/grafana/latest/panels/field-options/) several links.

Which issue(s) this PR fixes:

None.

Special notes for your reviewer:
2020-09-24 13:29:22 +02:00
Tiago Mota Santos
17a1e78754 Dashboard: Honour root_url for Explore link (#27654)
* Dashboard: Add subUrl to explore url

Honour subUrl when opening explore in new window

* Dashboard: Add tests to onNavigateToExplore

* Dashboard: Remove condition from tests
2020-09-24 06:15:57 +02:00
Amal
ed185ea0f2 Correcting case in docs (#27739)
* Correcting case in documentation

* Correcting case in docs
2020-09-23 16:20:22 -04:00
Amal
9c624b82c4 Minor Grammatical correction (#27742)
* Minor Grammatical correction

* Correcting, as per PR suggestion
2020-09-23 16:19:58 -04:00
Amal
febb9e1699 Correcting case in documentation (#27740)
* Correcting case in documentation

* Correcting case in documentation

* Correcting case in documentation

* Suggested changes on PR
2020-09-23 16:12:24 -04:00
Amal
3579957cc2 Inserting a comma, for better readability (#27738) 2020-09-23 16:06:42 -04:00
Diana Payton
14cd3f3872 Docs: 7.2 queries (#27688)
* Update whats-new-in-v7-2.md

* added content

* Update queries.md

* Update queries.md
2020-09-23 11:27:49 -07:00
Zoltán Bedi
36875b7839 Update working-with-data-frames.md (#27736)
Fix bad url for dataframe
2020-09-23 19:49:55 +02:00
Diana Payton
5d77d96d7b Docs: 7.2 filter options (#27689)
* Update field-options.md

* Update menu.yaml

* Create _index.md

* Update _index.md

* added files

* moving content

* updated links

* fixed links and deleted old file

* content changes

* Update configure-all-fields.md

* Content updates

* contnet updates

* updated content

* Update whats-new-in-v7-2.md

* content updates

* added content

* Update filter-table-columns.md

* Update standard-field-options.md

* moved files

* content edits

* Update _index.md

* Update _index.md

* fixed links and merge conflicts

* Update menu.yaml

* Update menu.yaml
2020-09-23 10:48:30 -07:00
achatterjee-grafana
08147e19a5 Transformtion changes 2 (#27732)
* Removed prereq.md, updated description in Overview topic.

* Fixed relref for manage users.

* Update docs/sources/panels/transformations/_index.md

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

* Removed extra "the"

* Changed "In case" to "If"

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
2020-09-23 11:43:13 -04:00
Ryan McKinley
93a01eb1d9 Live: improved channel state (#27672) 2020-09-23 08:02:01 -07:00
Diana Payton
83050b9ccc Docs: Added parsed fields content (#27715) 2020-09-23 07:01:57 -07:00
Leonard Gram
d8507dc28a updated latest to 7.2.0 (#27731) 2020-09-23 15:45:35 +02:00
Leonard Gram
7b77a1b1fb changelog 7.2.0 (#27728)
* changelog 7.2.0

* Update CHANGELOG.md

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

* Update CHANGELOG.md

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

* Update packages/grafana-toolkit/CHANGELOG.md

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

* Update CHANGELOG.md

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

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-09-23 15:19:17 +02:00
Giordano Ricci
4c7131425b Revert "Elasticsearch: add frozen indices search support (#27472)" (#27726)
This reverts commit 61a3160c34.
2020-09-23 12:24:46 +01:00
Joan López de la Franca Beltran
3fb4a51404 Update Contribute/Architecture/Services documentation (#27722) 2020-09-23 12:34:00 +02:00
Arve Knudsen
80f0066a27 CI: Upgrade build image (#27720)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-23 11:44:33 +02:00
Torkel Ödegaard
f285569316 ValueMappings: Fix issue with value mappings in override applying to all columns (#27718)
* ValueMappings: Fix issue with value mappings override creating default value mapping for all fields

* Fixed unit tests
2020-09-23 11:43:43 +02:00
Arve Knudsen
f5c2b771ee Chore: Upgrade golangci-lint (#27719)
* Chore: Upgrade golangci-lint to latest
* ci-build: Upgrade Node/Yarn

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-23 10:55:25 +02:00
kennytm
ed054c205d grafana-toolkit: avoid path.resolve with globby in moveStaticFiles (#27670) 2020-09-23 10:48:13 +02:00
Torkel Ödegaard
52a501c205 DateFormatting: Use system date by default in display processor (#27699) 2020-09-23 09:16:43 +02:00
Nitesh Koushik S
6e80c229fd Improve language in configuration docs (#27695)
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-23 08:02:30 +02:00
Hugo Häggmark
a58a9e8e6d PanelEditor: Prevents adding transformations in panels with alerts (#27706) 2020-09-23 07:47:20 +02:00
Torkel Ödegaard
35a145dd63 Docs: Updated table docs, moved annotations notice down (#27708)
* Docs: Updated table docs, moved annotations notice down

* Removed unnessary notices

* Updated wording
2020-09-23 07:33:12 +02:00
achatterjee-grafana
c4c0e0253d Transformations changes (#27716)
* Chunking out the long Transformation topic. Also, updated TOC. Local build looks fine.

* More changes.

* More re-arranging of content. Fixed links in Types and Options page.

* Capitalization changes.

* Changes to Overview section.

* Fixed merge conflicts.

* Fixed typo to fix build failure.

* Update docs/sources/panels/transformations/types-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Changes from Diana.

* Fixed a typo in a relref.

* Fixed broken link.

* Update link in Troubleshooting topic.

* Added changes.

* Fixed a bunch of broken links.

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-22 18:41:32 -04:00
achatterjee-grafana
042e5564ab Transformations changes (#27690)
* Chunking out the long Transformation topic. Also, updated TOC. Local build looks fine.

* More changes.

* More re-arranging of content. Fixed links in Types and Options page.

* Capitalization changes.

* Changes to Overview section.

* Fixed merge conflicts.

* Fixed typo to fix build failure.

* Update docs/sources/panels/transformations/types-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Changes from Diana.

* Fixed a typo in a relref.

* Fixed broken link.

* Update link in Troubleshooting topic.

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-22 17:51:18 -04:00
Andrej Ocenas
0fe3b78a50 Show full traceID and better discern multiple stackTraces (#27710) 2020-09-22 22:53:45 +02:00
Jorge Vallecillo
9e3def4214 Fix typos (#27711) 2020-09-22 11:00:59 -07:00
Ryan McKinley
d46f33c34c Annotations: check for null or undefined fields before conversion (#27712) 2020-09-22 10:45:26 -07:00
Ivana Huckova
f6c91d1318 Explore: Remove not running query for collapsed elements (#27026)
* Make graph and table collapsing just a UI thing

* Remove showingGraph and showingTable, set them defaultly to true

* Remove collaapsing for panels in Explore

* UI toggle WiP

* WIP, add query type

* Refactor, clean up

* Update tests

* Clean uo

* Update rangeAll to range and instant

* Remove console logs

* Update packages/grafana-data/src/types/datasource.ts

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/core/utils/explore.ts

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Fix prettier error

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2020-09-22 17:31:42 +02:00
Ivana Huckova
32deddbf0b Docs: Promehteus Explore query editor (#27683)
* Add docs for explore query editor

* Update text

* Reverse changed linting

* Update docs/sources/features/datasources/prometheus.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/features/datasources/prometheus.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-22 17:30:21 +02:00
Chuck Wilson
0b9c925463 Docs: Correct typo: "LDAO" --> "LDAP" (#27692) 2020-09-22 07:48:03 -07:00
Arve Knudsen
a5d9196a53 Chore/fix lint issues (#27704)
* Chore: Fix linting issues

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-22 16:22:19 +02:00
Arve Knudsen
ffc11cb63c Server: Don't clutter trace.Stop by exiting (#27700)
* Server: Don't clutter trace.Stop by exiting

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-22 15:28:54 +02:00
Torkel Ödegaard
a9e49c24c2 UX: Increase default form width (#27680) 2020-09-22 13:27:35 +02:00
kennytm
7a77eb7635 grafana/ui: Do not bundle jQuery (#27667) 2020-09-22 10:43:57 +02:00
Hugo Häggmark
5f2deb2497 Select: Adds labels to select styles (#27698) 2020-09-22 10:35:26 +02:00
Nitesh Koushik S
0de926b1ac Document update (#27696)
Singular to plural (is to are)
2020-09-22 09:58:28 +02:00
Steven Vachon
abb015bad6 @grafana/e2e: flaky chart data workaround (#27687)
Don't expect initial chart data when creating a panel that hasn't yet populated its query editor
2020-09-21 19:40:23 -04:00
kevin.xu
98f7a2ace0 Update app.ts (#27673)
fix typo
2020-09-21 16:56:33 +01:00
Russ
1f1d7d7f11 Explore: Keep typeahead suggestions for exact label matches in Loki q… (#27201)
* Explore: Keep typeahead suggestions for exact label matches in Loki query editor

* Simplify some typing

* Explore: filter selected loki label option from suggestions

Co-authored-by: kay delaney <kay@grafana.com>
2020-09-21 16:56:20 +01:00
Arve Knudsen
1ec8eb3fc3 CircleCI: Fix master pipeline wrt front-end tests (#27681)
* CircleCI: Fix master pipeline wrt front-end tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Appease shellcheck

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-21 17:04:58 +02:00
Peter Holmberg
6a14f830ba Fix: Show an ellipsis if Query row title is too long (#27648)
* add overflow hidden to titleWrapper

* show ellipsis and css labels for components

* readd drag handle after bad merge

* rewrite userpicker test with rtl

* update test after adding css label to icon component

* fix more tests..
2020-09-21 15:33:50 +02:00
Torkel Ödegaard
1e5309a788 DashboardRow: Update to use the new replaceWithText method (#27671)
* DashboardRow: Update to use the new replaceWithText method

* Fixed panel header as well
2020-09-21 15:27:23 +02:00
Arve Knudsen
04a09dc60a CircleCI: Fix build (#27678)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-21 14:49:38 +02:00
Arve Knudsen
02ab019165 CircleCI: Execute enterprise tests (#27675)
* CircleCI: Execute enterprise tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-21 14:15:41 +02:00
Joan López de la Franca Beltran
b33dcf8213 Proposal to include a tidy check (#27204)
* Initial tidy-check proposal

* Add tidy check to Drone & CircleCI definitions

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-21 10:00:44 +02:00
Peter Holmberg
60cf95fa21 Docs: Basic docs for FormValidationMessage (#27658) 2020-09-21 09:05:38 +02:00
Dominik Prokop
e8a6b9db10 Fix mismatch in field config editor types (#27657) 2020-09-21 08:45:00 +02:00
calebsmac
e32aa99f26 Clarify status of annotation list panel (#27663)
It is confusing as the marketplace plugin is deprecated, and this page indicates that it is **included**, but it is not visible/discoverable by default.
2020-09-21 06:10:09 +02:00
Spencer McMaster
1269fa5cf6 PanelEditor: fix button position when dragging row (#27666) 2020-09-20 14:18:09 +02:00
Peter Holmberg
232ad5c42e FieldConfig: Apply Thresholds for string values (#27656)
* apply thresholds for strings

* apply thresholds for all FieldTypes
2020-09-19 08:26:56 +02:00
Giordano Ricci
61a3160c34 Elasticsearch: add frozen indices search support (#27472)
* Elasticsearch: Add frozen indices support for alerting
2020-09-18 18:27:25 +01:00
Diana Payton
590f1407f9 Update whats-new-in-v7-2.md (#27641) 2020-09-18 06:56:30 -07:00
Dominik Prokop
e5b16952c7 Field config: Respect config paths when rendering default value of field config property (#27652) 2020-09-18 15:46:16 +02:00
Domas
564d7ecea7 DataProxy: Ignore empty URL's in plugin routes (#27653)
This adds a check to see if plugin route URL is empty, and in such case 
does not modify request schema and host of the request to be proxied.
This behavior is now the same as in the plugin proxy.
2020-09-18 13:22:07 +02:00
Carl Bergquist
6dc73a6712 add /healthz endpoint (#27536)
kuberentes (and Im sure other orchastrators does as well) support two
kind of checks. readiness checks and liveness checks. Grafanas current
`/api/health` endpoint requires database access which might not
always be required for the instance to be considered active.
2020-09-18 13:03:18 +02:00
Alvaro Olmedo Rodriguez
20292bdb0e Alerting: Ensuring notifications displayed correctly in mobile device with Google Chat (#27578)
* Added previewText to Google Chat notifier
2020-09-18 09:41:34 +03:00
Diana Payton
7e96b1f38b Update CONTRIBUTING.md (#27344) 2020-09-17 08:18:05 -07:00
kay delaney
ca7263d898 Explore/Actions: Stop loadExploreDatasourcesAndSetDatasource from running queries twice (#27577) 2020-09-17 14:34:28 +01:00
Hugo Häggmark
8a9ae60a8d Update latest.json (#27637) 2020-09-17 14:36:11 +02:00
Hugo Häggmark
9ab7a0d8c0 Chore: Update CHANGELOG.md for 7.2.0-beta2 (#27636)
* Update CHANGELOG.md

* Update CHANGELOG.md

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

* Update CHANGELOG.md

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-09-17 14:33:24 +02:00
Marcus Olsson
4189b196ff Docs: Add missing properties to plugin metadata schema (#27445)
* Update plugin metadata schema

* Add missing properties to plugin schema

* Fix review comments
2020-09-17 13:19:40 +02:00
Dominik Prokop
7db050d9a4 Include IANA timezone canonical name in TimeZoneInfo (#27591) 2020-09-17 08:59:20 +02:00
Giordano Ricci
0e34474099 Elasticsearch: Add support for date_nanos type (#27538) 2020-09-17 08:16:58 +02:00
Hugo Häggmark
e86ff52d44 DataLinks: Respects display name and adds field quoting (#27616)
* DataLinks: Adds field quoting and respects DisplayName

* Update public/app/features/panel/panellinks/link_srv.ts

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2020-09-17 08:08:32 +02:00
Zoltán Bedi
8475bd2fae Add new explore/observability related features to whats new docs (#27540)
* Add new explore/observability related features to whats new docs

* Apply suggestions from code review

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Address review comments

* Update docs/sources/guides/whats-new-in-v7-2.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Change new loki feature title

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-17 08:05:58 +02:00
Nick Svanidze
5a06ed431c ApiKeys: Fixes close('X') button layout issue (#27625)
* ApiKeys: Fixes add API key layout

* ApiKeys: snapshot tests updated
2020-09-17 07:36:47 +02:00
Torkel Ödegaard
31e2b7e7c8 SharedQuery: Error when switching to -- Dashboard -- data source caused "no data" no matter what source panel was selected (#27627)
* SharedQuery: Error when switching to -- Dashboard -- data source made observable subscription error and subsequent data results not update visualization

* added null check just in case
2020-09-17 07:36:18 +02:00
Torkel Ödegaard
c450ffd711 ImageRendering: Fix rendering panel using shared query in png, PDF reports and embedded scenarios (#27628)
* ImageRendering: Fixed issue rendering panel using shared query

* Fixed spelling
2020-09-17 07:35:24 +02:00
Diana Payton
078eb3c728 Docs: What's new in 7.2 edits (#27607)
* Update configuration.md

* Update whats-new-in-v7-2.md

* edited content

* Update whats-new-in-v7-2.md

* Update docs/sources/guides/whats-new-in-v7-2.md

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

* Update table-panel.md

* Update whats-new-in-v7-2.md

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
2020-09-16 11:21:53 -07:00
Torkel Ödegaard
fcfd5cf0bc DataLinks: Fixes issue with data links not interpolating values with correct field config (#27622)
* DataLinks: Fixes issue with data links not having access to other fields field config

* Fixed test
2020-09-16 20:07:14 +02:00
Ryan McKinley
e3b79ac428 Chore: remove version from text panel (#27624) 2020-09-16 11:04:27 -07:00
Kyle Brandt
50c680f3d7 BackendPlugins: Point to request Headers in the wrapper (#27599)
In particular, so plugins can see the FromAlert header
2020-09-16 10:12:39 -04:00
Marcus Olsson
e6453198a9 Docs: Add data frames plugin guide (#27430) 2020-09-16 14:39:46 +02:00
Torkel Ödegaard
2ed9124736 InputControl: Fixed using InputControl in unit tests from plugins (#27615) 2020-09-16 13:29:59 +02:00
Torkel Ödegaard
b58864792d NewsPanel: Fixed XSS issue when rendering rss links (#27612) 2020-09-16 11:15:56 +02:00
Torkel Ödegaard
58124efdb5 Docs: Rename field configuration options page to field options (#27604) 2020-09-16 09:38:28 +02:00
Diana Payton
9e19f4d683 Update _index.md (#27605) 2020-09-15 16:55:39 -04:00
achatterjee-grafana
b9b96e4d25 Updated Grafana requirements topic (#27602)
* Updated file to change description of Enterprise.

* Removed duplicate content w.r.t Grafana installation and support.

* Replaced "not" with "neither".
2020-09-15 16:03:56 -04:00
Steven Vachon
ed4ef0862d @grafana/e2e: annotation improvements (#27582)
* Removed Datadog-specific fields from config for annotation creation

* Added a custom form config option for annotation creation

* Added regex support to `selectOption`
2020-09-15 15:10:56 -04:00
Ryan McKinley
54b677bda4 Graph: show range warning when all data is outside time range (#27603) 2020-09-15 11:55:34 -07:00
achatterjee-grafana
a524c57261 Updated file to change description of Enterprise. (#27601) 2020-09-15 13:44:31 -04:00
Sofia Papagiannaki
30ee860a18 Docs: Fix dashboard provisioning example (#27595)
Remove unsupported editable field
removed in SHA: d6faa3d06f
2020-09-15 18:56:53 +03:00
Emil Tullstedt
2e4191afca Chore(crewjam/saml): go get -u (#27598) 2020-09-15 16:38:23 +02:00
Lenahilin
13ef1bea74 Fixing args order for admin password reset command (#27594)
Putting the optional argument "--homepath"  after the command. The previous one throws the following error: "Incorrect Usage. flag provided but not defined: -homepath". See also https://community.grafana.com/t/admin-password-reset/19455/9
2020-09-15 09:22:37 -04:00
Wouter Smeenk
39eba5065b Dashboard: Support configuring default timezone via config file (#27404)
Add a default timezone that the administrator can set in the settings. 
This setting is be used as default for the users timezone preference.
Can be used when creating Grafana instances without administrator 
intervention, in order to give user the correct default timezone.

Fixes #25654
2020-09-15 15:20:53 +02:00
Dan Cech
53153c82fc add method to get usage report (#27555) 2020-09-15 09:01:15 -04:00
Torkel Ödegaard
cade6dd010 Docs: Field config docs update, Table docs update, Override matcher naming issue (#27558)
* Docs: Field Config Docs Update, Table Docs update, Override matcher naming sync

* removed sentance that feels duplicated

* Update docs/sources/panels/field-configuration-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/panels/field-configuration-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/panels/field-configuration-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/panels/field-configuration-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* removed bad newlines and minor tweaks, still need to figure out naming for matchers in UI and docs

* Updated matcher names and descriptions, and UX

* Updated field override docs

* Fixed plural

* Updated wording

* removed plurals for the selectors heading

* Updated names

* Updated docs

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-15 14:49:16 +02:00
Ryan McKinley
1e4846d443 Annotation: use DataFrame[] rather than a single DataFrame (#27587) 2020-09-15 01:43:31 -07:00
Dominik Prokop
e04e3e7d46 Field config: Add support for paths in default field config setup (#27570)
* Add support for paths in default field config setup

* Typecheck fix
2020-09-15 10:17:58 +02:00
Giordano Ricci
e350e1fff6 Elasticsearch: Increase maximum geohash aggregation precision to 12 (#27539) 2020-09-15 09:15:18 +01:00
Giordano Ricci
a0beaa3bbe Elasticsearch: Allow fields starting with underscore (#27520) 2020-09-15 09:14:47 +01:00
jonny
0d2fbd2acd Variables: Limit rendering of options in dropdown to improve search performance (#27525)
* fixed: bigdata dropdown first limit 1000

* fixed: change to use function of  applylimit

* fixed: remove both applyLimit callers

* feat: test for new logic with applimit

* feat: test showOptions  with the applyLimit logic

* fixed: test equal fixed
2020-09-15 09:52:45 +02:00
Ryan McKinley
aa40320b45 Live: check logged-in-user for grafana live (#27436) 2020-09-15 00:01:14 -07:00
Hugo Häggmark
a587bf4f56 Postgres: Support request cancellation properly (Uses new backendSrv.fetch Observable request API) (#27478)
* Postgres: Replaces dataSourceRequest with fetch

* Postgres: Replaces dataSourceRequest with fetch

* Tests: removes unnecessary import
2020-09-15 08:06:04 +02:00
Diana Payton
19c5c96d4c Update documentation-style-guide.md (#27581)
* Update documentation-style-guide.md

* Update documentation-style-guide.md
2020-09-14 12:52:59 -07:00
Ryan McKinley
c180facba5 Chore: use visualization name in field config header (#27579) 2020-09-14 11:27:17 -07:00
Amal
0ae534a7f0 Minor correction in docs (#27576)
* Minor correction in docs

* Accepting review recommendation
2020-09-14 14:02:49 -04:00
Amal
6ce7cf8241 Docs: Minor grammatical correction (#27575)
* Minor grammatical correction

* Typo correction in docs
2020-09-14 10:46:54 -07:00
Hansuuuuuuuuuu
8d971ab2f2 Auth: Replace maximum inactive/lifetime settings of days to duration (#27150)
Allows login_maximum_inactive_lifetime_duration and 
login_maximum_lifetime_duration to be configured using 
time.Duration-compatible values while retaining backward compatibility.

Fixes #17554

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-09-14 15:57:38 +02:00
Sofia Papagiannaki
f529223455 Fix instrumentation panic if there is no response (#27567) 2020-09-14 14:05:47 +03:00
Torkel Ödegaard
7f6e979056 Fixes typescript issues (#27565) 2020-09-14 10:02:25 +02:00
Torkel Ödegaard
b37e132cec Annotations: Fixes issue with showing error notice for cancelled annotation queries (#27557) 2020-09-14 09:59:12 +02:00
Agnès Toulet
eb970a4985 Org API: enrich add user to org endpoints with user ID in the response (#27551) 2020-09-14 08:58:23 +02:00
Torkel Ödegaard
8759a91222 PanelEdit: Drag and drop query order & UI tweaks (#27502)
* PanelEdit: Drag and drop query order & UI tweaks

* Fixed width of title issue

* added correct color and hover

* Updated e2e tests
2020-09-14 08:54:42 +02:00
Marcus Andersson
0c8390cea2 Templating: global/system variables should be properly replaced in templated values. (#27394)
* Fixed so we try to use the variables in the redux store to replace values in template variables.

* First draft of working version.

* Including fieldPath when adding :text format.

* cleaned up code by introducing helper function.

* some minor refactoring.

* Added tests and support for multi variables.

* added test and code to handle the All scenario of a multivariable.

* fixed according to feedback.

* added docs.

* added text format to gdev dashboard.

* updated e2e tests.

* make sure we use the same function for formatting och variable lable.

* increased the number to 22.

* changed label for tests to be All.

* existing format should be respected.
2020-09-14 08:05:51 +02:00
Ryan McKinley
b3b72b8ae6 Toolkit: clean node_modules/@grafana/data/node_modules in prepare (#27554) 2020-09-12 16:45:33 -07:00
Arve Knudsen
b6172b11b3 Docs: Fix Docker docs wrt. master images (#27508)
* Docs: Fix Docker docs wrt. master images

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-12 11:27:13 +02:00
Agnès Toulet
0c4b7d3f5d Alerting API: send 404 not found error and enrich delete with UID endpoint response with alert notification ID (#27550)
* Alerting API: Send back 404 not found error for update and delete endpoints

* Alerting API: send back alert notification id for delete with uid endpoint
2020-09-11 18:04:43 +02:00
Bill Oley
19caa100dc OAuth: Fix token refresh failure when custom SSL settings are configured for OAuth provider (#27523)
OAuth token refresh fails when custom SSL settings are configured for 
oauth provider. These changes makes sure that custom SSL settings 
are applied for HTTP client before refreshing token.

Fixes #27514
2020-09-11 17:25:03 +02:00
Ryan McKinley
5d11d8faa3 Annotations: add standard annotations support (and use it for flux queries) (#27375) 2020-09-11 08:09:44 -07:00
Peter Holmberg
4707508f4b grafana/ui: Documenting DataSourceHttpSettings (#27547)
* documenting component

* Update packages/grafana-ui/src/components/DataSourceSettings/DataSourceHttpSettings.mdx

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

* text updates

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2020-09-11 15:53:55 +02:00
Alex Khomenko
126683929c Grafana-UI: Expand ConfirmModal docs (#27541) 2020-09-11 16:45:39 +03:00
Marcus Efraimsson
1983de962c BootData: Fix nav tree sort regression (#27533)
#26395 introduced a regression regarding sort order of nav tree
items set in Grafana boot data and used for rendering the sidemenu.
This fixes so that sort happens after RunIndexDataHooks is called
in case the hook make changes to the nav tree.
2020-09-11 15:17:41 +02:00
Torkel Ödegaard
61463aa123 Transform: Fixed issue in labels to fields and update docs (#27501) 2020-09-11 15:03:10 +02:00
Leonard Gram
6932b459f5 What's New: some minor edits in the enterprise section (#27532)
* What's New: some minor edits in the enterprise section

* Update docs/sources/guides/whats-new-in-v7-2.md

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

* Update docs/sources/guides/whats-new-in-v7-2.md

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

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2020-09-11 14:48:20 +02:00
Sofia Papagiannaki
924224eefb Revert "Alerting: New feature toggle for enabling standalone alerts (#25984)" (#27531)
This reverts commit 20b603ee1a.
2020-09-11 13:57:46 +03:00
Marcus Andersson
367a403406 Docs: "7.2 what's new article" updated with images and information about ADX. (#27504)
* Added images for transformation and some extra information about ADX.

* updated the adx text a bit more.!
2020-09-11 12:21:32 +02:00
Berbe
794333de3d Binary-prefixed data rates (#27022)
* Dashboard: Merge Data units categories

Prefixes already allow to distinguish IEC units from SI ones
+ Prefer using binary function over decimal one when equal

* Dashboard: Clarify SI & binary prefixes

* Dashboard: Homogeneise rate units

* Dashboard: Add Binary (IEC) prefix for data rates
2020-09-11 10:42:54 +02:00
Alex Khomenko
4167f9d8d7 Docs: Add 7.2 Enterprise features (#27497)
* Docs: Add new Enterprise features

* Docs: Fix spelling

* Update docs/sources/guides/whats-new-in-v7-2.md

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

* Docs: Add top links

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2020-09-11 09:33:52 +02:00
Maksim Nabokikh
6e3e0dead8 Provisioning: Remove provisioned dashboards without parental reader (#26143) 2020-09-11 09:19:44 +02:00
Torkel Ödegaard
0132bca93a Notifications: UX tweak to redesign of form and sections to make it left aligned and cleaner (#27479)
* UX: Redesign of form and sections to make it left aligned and cleaner

* reduced padding

* design tweaks
2020-09-11 08:10:07 +02:00
Zoltán Bedi
a7ac3f1419 Prometheus: Fix min step variable interpolation (#27505)
* Add missing dependency to lockfile

* Prometheus: Fix min step variable interpolation
2020-09-10 20:31:53 +02:00
Marcus Efraimsson
9928f925ae Docs: Alert notification channel secure settings update (#27515)
Adds some updated upgrade notes for 7.2 regarding secure 
settings for alert notification channels. Also adds a section 
about this in the What's new article.

Ref #26172
2020-09-10 20:23:53 +02:00
Marcus Efraimsson
e85b266f2e Azure/Insights: Fix handling of none dimension values (#27513)
Properly handle legacy dimension values in the backend.

Fixes #27512
2020-09-10 18:21:56 +02:00
Marcus Efraimsson
91a8937e6c Alerting: Fix integration key so it's stored encrypted for Pagerduty notifier (#27484)
Fixes an issue introduced by migration in #25980 which 
removed storing the Pagerduty integrating key encrypted.
2020-09-10 17:43:49 +02:00
Steven Vachon
d9320e37f4 @grafana/e2e: avoid query data flakiness (#27511) 2020-09-10 11:40:44 -04:00
Marcus Efraimsson
ee91fc365e Changelog: 7.2.0-beta1 update (#27498)
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2020-09-10 11:51:03 +02:00
Marcus Andersson
be8bc512cb Chore: latest.json for v7.2.0-beta1. (#27481) 2020-09-09 18:36:03 +02:00
Marcus Andersson
027a11210d Chore: change log for v7.2.0-beta1. (#27480) 2020-09-09 17:40:51 +02:00
Torkel Ödegaard
964fb8a5b1 Docs: What's new in 7.2 (#27462)
* Docs: What's new for 7.2 initial draft

* Updated content and images

* Updated with a top toc / links section
2020-09-09 16:59:34 +02:00
Oana Mangiurea
b01a64e146 Update Input.mdx (#26226)
* Update Input.mdx

clarify form validation text

* Update packages/grafana-ui/src/components/Input/Input.mdx

Align with textArea

Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>

Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
Co-authored-by: Clarity-89 <homes89@ukr.net>
2020-09-09 17:24:31 +03:00
Alex Khomenko
1a5c049883 Grafana-UI: Add docs for ConfirmButton (#27477)
* Grafana-UI: Add docs for ConfirmButton

* Grafana-UI: Add comment

* Update packages/grafana-ui/src/components/ConfirmButton/ConfirmButton.mdx

Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>

Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
2020-09-09 17:07:53 +03:00
Marcus Andersson
d75758071b Chore: bumped to next version 7.3.0-pre (#27476)
* bumped version to the next minor.

* bumped packages version to the next minor.
2020-09-09 15:43:37 +02:00
Steven Vachon
2e3b6b6850 Docs: E2E (#27461)
* Separated generalized E2E docs from that of core

… and rewrote some minor things to be more concise for faster reads.

* Added plugins E2E document
2020-09-09 08:55:42 -04:00
Marcus Andersson
b35af9eaa7 Chore: Update release notes/what's new for v7.2. (#27475) 2020-09-09 14:55:09 +02:00
Peter Holmberg
400aafa3b3 Migration: Edit notification channel (#25980)
* implement edit page

* connectWithCleanup

* remove angular related code

* use loadingindicator

* use the correct loading component

* handle secureFields

* fixed implementation of secure fields

* Keep secureFields after rerendering the form

* CollapsableSection and Page refactor

* use checkbox instead of switch

* fix comment

* add cursor to section

* Fixed issues after PR review

* Fix issue with some settings being undefined

* new reducer and start with test

* algorithm to migrate secure fields

* UX: Minor UI Tweaks

* Added field around checkboxes, and missing required field

* fixed test

* tests for util

* minor tweaks and changes

* define as records

* fix typ error

* forward invalid to textarea and inputcontrol

* merge formdata and redux data in test

* fix issue with creating channel

* do not figure out securefields in migration

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2020-09-09 12:46:19 +02:00
Giordano Ricci
1e2f3ca599 Explore: Expand template variables when redirecting from dashboard panel (#27354)
* Explore: Add interpolateVariablesInQueries to opentsdb  datasource

* Explore: Add interpolateVariablesInQueries to cloudwatch datasource

* Explore: Add interpolateVariablesInQueries to CloudMonitoring datasource

* Explore: Add interpolateVariablesInQueries to Azure datasource

* Explore: Add dimensions to interpolateMetricsQueryVariables in cloudwatch datasource
2020-09-09 10:00:43 +01:00
Ryan McKinley
acf9938f61 Chore: minor storybook update for markdown-to-jsx security fix (#27413) 2020-09-09 01:54:34 -07:00
Arve Knudsen
efe1287be9 Drone: Make parallel step for publishing front-end metrics (#27457)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-09 10:21:16 +02:00
Arve Knudsen
c7b8d85ce5 Chore: Upgrade grabpl (#27470)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-09 10:20:23 +02:00
kay delaney
22d6cfc358 DataSource/CloudWatch: Adds metadata to grouped CW Logs dataframe (#27454) 2020-09-09 08:38:53 +01:00
Ryan McKinley
6b0f56b726 InfluxDB: Alerting issue, reasonable defaults for interval and maxDataPoints (#27463) 2020-09-09 09:34:17 +02:00
Hugo Häggmark
5520cd2c68 Chore: fixes build errors (#27466) 2020-09-09 08:57:07 +02:00
Marcus Andersson
7cd27d9576 Docs: added version note to the group-by transformation (#27423)
* added version notice to the group by documentation.

* updated to new suggestion.
2020-09-09 08:56:20 +02:00
Torkel Ödegaard
431a53594b Inspect: Fixed missing rows issue in inspect data (#27422) 2020-09-09 08:47:18 +02:00
Carl Bergquist
f9752f0e7a Instrumentation: Adds instrumentation for outgoing datasource requests (#27427) 2020-09-09 07:47:05 +02:00
Hugo Häggmark
b3fb25010c DashboardSettings: Fixes auto refresh crash with space in interval (#27438)
* DashboardSettings: Fixes auto refresh crash with space in interval

* Tests: fixes typings

* Refactor: validets onBlur and other PR comments

* Tests: adds component tests

* Refactor: changes after PR feedback
2020-09-09 07:45:51 +02:00
Hugo Häggmark
883d7cb578 OuterJoin: Fixes transformation when data is missing field to join by (#27453) 2020-09-09 06:56:39 +02:00
Liam Stanley
023054bc62 heatmap: reduce the aggressiveness of hiding ticks/labels (#27016) 2020-09-09 06:53:17 +02:00
Kyle Brandt
9bab551d8b AzureMonitor: change filterDimensions property to match what is stored (#27459)
Changes the dimensionsFilters property to dimensionsFilter in the Azure Monitor Datasource's AzureMonitor service to make what is sent to match the saved model.

Before this, the property that the backend was expecting was not available in the case of alerting, where the stored model is fetched.

This also fixes a panic when there is a dimension alias but no dimension
2020-09-08 15:12:08 -04:00
Michel Engelen
5b6e156934 Chore: fixed text-alignment on hovering tableCells (#27311)
## FilterableTableCell

### added
- added `display: inline-flex` and `align-items: center` to
  `tableCellWrapper` class
- added `flex: 1` to `tableCell` class

### removed
- unused imports
- removed ternary if since it has no use anymore
- removed `tableCellWrapper` style definition from stylesFactory
2020-09-08 18:20:44 +02:00
Alex Khomenko
b2fe359a5e Grafana-UI: Add docs for ClipboardButton (#27451) 2020-09-08 19:18:13 +03:00
Russ
248c195cca Slider: add step functionality (#27399) 2020-09-08 19:00:16 +03:00
Alex Khomenko
32f99669ff Search: refactor tests to use react-testing-library (#27352)
* Search: refactor SearchItem.test.tsx

* Search: refactor SearchResults.test.tsx

* Search: mock search_srv

* Search: refactor SearchResultsFilter.test.tsx

* Search: remove redundant mocks

* Search: fix type errors

* Search: move selectors to e2e-selectors
2020-09-08 18:01:38 +03:00
Arve Knudsen
d1358596a8 CircleCI: Fix front-end tests (#27455)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-08 15:51:36 +02:00
Peter Holmberg
cf2597421b Analytics: Respect appsuburl in tracking url (#27442)
* add suburl if it exists

* remove log

* remove another log
2020-09-08 15:38:04 +02:00
Arve Knudsen
823911b173 CircleCI: Ensure only 2 Jest workers for frontend tests (#27450)
* CircleCI: Fix OOMs during frontend tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-08 15:31:22 +02:00
Arve Knudsen
581d2eaaf4 Revert "Convert CloudWatch to use dataframes (#26702)" (#27448)
This reverts commit 7762839853.
2020-09-08 15:06:58 +02:00
Arve Knudsen
029278faeb CI: Add Google Cloud SDK to plugin CI Docker images (#27444)
* grafana-plugin-ci-alpine: Upgrading Go,golangci-lint, adding gcloud

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* grafana-plugin-ci: Upgrading Go,golangci-lint, adding gcloud

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* grafana-plugin-ci-alpine: Minor cleanup

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Don't specify depth when cloning Mage

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* grafana-plugin-ci-e2e: Upgrading Go, golangci-lint

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* ci-deploy: Upgrading gcloud

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update packages/grafana-toolkit/docker/grafana-plugin-ci-alpine/README.md

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

* grafana-plugin-ci-alpine: Install Python

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2020-09-08 15:06:32 +02:00
kay delaney
584913197e Docs: Add documentation for Explore Query Inspector (#27035)
* Docs: Add documentation for Explore Query Inspector
2020-09-08 13:27:20 +01:00
Dominik Prokop
377485cf4c Panel view: Make sure repeated panel has inView property set correctly (#27424)
* Make sure repeated panel has inView property set correctly

* Test

* Update public/app/features/dashboard/state/DashboardModel.ts

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2020-09-08 14:19:54 +02:00
Marcus Andersson
02d19f0380 Transformations: make sure that we copy all the values from a field when using MutableDataFrame. (#27446) 2020-09-08 14:01:42 +02:00
Arve Knudsen
7762839853 Convert CloudWatch to use dataframes (#26702)
* CloudWatch: Convert metrics queries to return data frames

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-08 13:35:17 +02:00
Melchior MOULIN
dfc78d0979 Explore: Transform prometheus query to elasticsearch query (#23670)
* Explore: Transform prometheus query to elasticsearch query

Enable a way to transform prometheus/loki labels to elasticsearch query.
This make a link between metrics to logs.
Examples:
A prometheus query : rate(my_metric{label1="value1",label2!="value2",label3=~"value.+",label4!~".*tothemoon"}[5m])
Will be this elasticsearch query when switching to elasticsearch datasource:  __name__:"my_metric" AND label1:"value1" AND NOT label2:"value2" AND label3:/value.+/ AND NOT label4:/.*tothemoon/

* fix test

* remove non needed async

* Use prism token instead of regex

* fix test ./scripts/ci-frontend-metrics.sh

* mock timesrv and TemplateSrv in test

* Remove unnecessary await/async

Co-authored-by: Melchior MOULIN <m.moulin@criteo.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2020-09-08 12:34:11 +02:00
Ato Araki
561920f18b Cloud monitoring: fix missing title and text from cloud monitoring annotations (#27187)
* cloudmonitoring: fix empty title and text annotation

* cloudmonitoring: use metricQuery value
2020-09-08 13:18:41 +03:00
Torkel Ödegaard
6a9bfa19be Themes: Fix issue generating themes due to code in @grafana/data accessing window object during module load (#27441) 2020-09-08 12:16:26 +02:00
Marcus Andersson
f22f0a89a6 Transformations: merge will properly handle empty frames and frames with multiple rows where values are overlapping. (#27362)
* wip.

* Fixed issue with merge not behaving exactly as the old table panel did.

* Fixed so empty data frames will be exluded prior to trying to merge the result.

* Changed so if passing only empty frames first will only be returned.

* de-duplication of configuration in tests.
2020-09-08 11:52:45 +02:00
Torkel Ödegaard
5c31f07904 Settings: Remove unnessary error handling code (#27420)
* Settings: Remove unnecessary error handling code

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-08 11:33:04 +02:00
Alex Khomenko
6fabfee097 Search: replace cog icon (#27440) 2020-09-08 12:04:40 +03:00
Zoltán Bedi
09c9571462 Explore: table result should not override display property (#27411) 2020-09-08 11:04:25 +02:00
Emil Tullstedt
10141c5e6c Stats: Use more efficient SQL and add timeouts (#27390) 2020-09-08 09:52:08 +02:00
Alex Khomenko
2a2992b04d Grafana-UI: Add docs for ClickOutsideWrapper (#27429)
* Grafana-UI: Add docs and story for ClickOutsideWrapper

* Grafana-UI: Update comments

* Grafana-UI: expand usage

* Grafana-UI: Tweak docs
2020-09-08 10:34:27 +03:00
Pratik Raj
cfc618ef44 Use git clone --depth (#26976)
Signed-off-by: Pratik Raj <rajpratik71@gmail.com>
2020-09-08 09:27:10 +02:00
robert lestak
d0e980c2fa Alerting: Change Panel Edit link to Panel View link (#27378)
Enables alerts to be sent to users who do not have edit permissions.

Addresses Issue: https://github.com/grafana/grafana/issues/26014
2020-09-08 07:01:48 +02:00
Arve Knudsen
4b1eb6e5c7 Chore: Enable gocyclo linter (#26395)
* Chore: Enable gocyclo linter

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* API: Fix linting issue

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* API: Refactor to reduce complexity

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix type assertion

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-07 22:10:06 +02:00
Arve Knudsen
fb1f2746aa Chore: Upgrade build pipeline tool in scripts (#27433)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-07 22:09:24 +02:00
Marcos Mendez
4e94c0959a Image Store: Add support for using signed URLs when uploading images to GCS (#26840)
Enables creating signed URLs when uploading images to Google Cloud Storage. 
By using signed urls, not only is the public URL expiration configurable but the 
images in the bucket are not publicly accessible.

Fixes #26773

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-07 19:10:14 +02:00
Andrei Lavrov
8253b9ddb3 Alerting: override PagerDuty 'dedup_key' via tags (#27356)
* Alerting: override PagerDuty 'dedup_key' via tags

Added ability to override PagerDuty 'dedup_key' via Alert tags

Updated unit tests

* Updated documentation

* add comma

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* add space

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-07 18:42:06 +02:00
Arve Knudsen
e71eb13386 scripts/ci-frontend-metrics.sh: Fix execution (#27434)
* scripts/ci-frontend-metrics.sh: Fix execution

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-07 18:39:47 +02:00
Domas
9acb99904a Elasticsearch: Fixes localized dates in index pattern (#27351)
Fixes #8403
2020-09-07 18:27:56 +02:00
Arve Knudsen
5402157cb7 CI: Upgrade grabpl (#27431)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-07 17:48:56 +02:00
Kamal Galrani
f6c31c2e10 Fixes signup workflow and UI (#26263)
* fixes signup flow

* Apply suggestions from code review

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>

* Update ForgottenPassword.tsx

* fixes build failure

* fixes build failure

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2020-09-07 18:24:46 +03:00
Agnès Toulet
6dd109b927 API: return resource ID for auth key creation, folder permissions update and user invite complete endpoints (#27419)
* API: add ID to auth key and folder endpoints

* API: add test for folder permissions update

* API: add created user id for /invite/complete endpoint
2020-09-07 17:06:11 +02:00
Torkel Ödegaard
61bd33c241 System: Date formating options (#27216)
* Add support for local time formats in graph panel

* Enfore 24h format for backward compatibility

* Use existing Intl.DateTimeFormatOptions

* Pre-generate time scale, add tests

* Move localTimeFormat, add local format to units

* updated default fallback

* #25602, use navigator.languages to enforce locale in formatting

* Making options

* Worked new system settings

* things are working

* Local browser time formats working

* Support parsing dates in different formats

* settings updated

* Settings starting to work

* Fixed graph issue

* Logs fix

* refactored settings a bit

* Updated and name change

* Progress

* Changed config names

* Updated

* Updated

* Updated test

* Synced description

* fixed ts issue

* Added version notice

* Ts fix

* Updated heatmap and test

* Updated snapshot

* Updated

* fixed ts issue

* Fixes

Co-authored-by: Alex Shpak <alex-shpak@users.noreply.github.com>
2020-09-07 16:19:33 +02:00
kay delaney
783391a861 CloudWatch Logs: Adjusts CloudWatch Logs timeout logic (#26621)
* CloudWatch Logs: Adjusts CloudWatch Logs timeout logic

Previously CloudWatch Logs queries would time out if,
after a number of attempts, a response was received with no additional data.
This commit changes the behavior so that a consecutive number of requests
yielding no additional data must be made before we cancel the query
2020-09-07 14:41:36 +01:00
Arve Knudsen
58af541321 Drone: Report front-end test metrics (#27395)
* Drone: Report front-end test metrics

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* ci-frontend-metrics.sh: Fix collection bugs; print JSON

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add Yarn script ci:test-frontend
2020-09-07 13:17:03 +02:00
Bill Oley
b70fefe642 OAuth2: Handle DEFLATE compressed JWT payloads for generic OAuth (#26969) 2020-09-07 11:42:11 +02:00
Sofia Papagiannaki
b3b28e9f25 Failed to load application files message improvement (#26214)
* Failed to load application files message improvement

* Apply suggestions from code review

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-09-07 10:53:13 +03:00
Ryan McKinley
f7be1ba030 Chore: update pappparse for security fix (#27412) 2020-09-06 21:22:54 -07:00
Hugo Häggmark
72c3257d19 BackendSrv: Uses credentials and defaults to same-origin (#27385)
Co-authored-by: Liu Yang yangliuyu@163.com
2020-09-04 22:11:34 +02:00
Torkel Ödegaard
b6d76cdba7 PanelEdit: Vertically align padding for panel edit option group body (#27310)
* PanelEdit: Center padding for panel edit group body

* fixed padding
2020-09-04 22:03:26 +02:00
Kenny
d16a1f2215 Time format: 0 seconds is a number (#27376) 2020-09-04 11:12:54 -07:00
kay delaney
444f2d5896 Dependencies: Adds @testing-library/user-event for best practices (#27397)
Adds @testing-library/user-event so that best practices can be followed
when writing tests
2020-09-04 16:38:27 +01:00
Peter Holmberg
8e063ea82c Docs: Add props documentation to FileUpload component (#27393) 2020-09-04 16:28:51 +02:00
Agnès Toulet
a9daaadd50 API: send Login actions (#27249)
* API: first version to send events about login actions

* API: improve login actions events

* Login: update auth test with new behavior

* Login: update auth test for auth module

* Login OAuth: improve functions structure

* API: make struct public to use for saml

* API: add send login log tests for grafana and ldap login

* API: remove log from tests

* Login API: fix test linting

* Update pkg/api/login_oauth.go

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

* Login API: refactor using defer

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2020-09-04 14:54:59 +02:00
Pranit Bauva
a54df0c3cd Login: Honour root_url for Forget Password related links (#27368)
Closes #27226
2020-09-04 13:58:22 +02:00
Hugo Häggmark
bba4770509 PanelInspector: Adds a Raw display mode but defaults to Formatted display mode (#27306)
* PanelInspector: Fields with overrides are formatted correct in CSV

* Refactor: adds raw format

* Refactor: changes switch to Formatted values

* Tests: adds tests for applyRawFieldOverrides and getRawDisplayProcessor

* Test: change to utc timeZone

* Refactor: changes after PR comments
2020-09-04 11:21:24 +02:00
Ryan McKinley
ae385983f4 InfluxDB: support flux editor for template queries (#27370) 2020-09-03 14:11:39 -07:00
Ryan McKinley
b867050cfb Annotations: improve datasource annotation types and add basic query properties (#27342) 2020-09-03 10:41:25 -07:00
Marcus Andersson
cac0e6ecd0 Build: fixing failing build by adding missing dependency to rollup config. (#27358) 2020-09-03 15:34:18 +02:00
Arve Knudsen
ddb4b77f04 CI: Upgrade the build Docker image (#27337)
* CI: Upgrade the build Docker image

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CI: Upgrade osxcross and Apple SDK

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-03 13:20:28 +02:00
Alexander Zobnin
7aa38f0961 Docs: note about enabling permissions for the default data source (#27259)
* Add note about enabling permissions for the default ds

* Docs: refine default ds caution message

* Update docs/sources/enterprise/datasource_permissions.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Docs: DS permissions minor fix

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-03 13:23:35 +03:00
Jess
92e4948658 Storybook: Create Label.mdx and add docs (#27350) 2020-09-03 11:47:00 +02:00
Jess
0b6ea4c0ef Storybook: Add docs to Cascader (#27336)
* Storybook: Add docs to Cascader

Added description for cascader component

* Update packages/grafana-ui/src/components/Cascader/Cascader.mdx

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

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2020-09-03 10:08:09 +03:00
Hugo Häggmark
d633cc3c09 Tests: removes unused stuff and replaces monaco transpile with mock (#27324) 2020-09-03 08:54:46 +02:00
Ryan McKinley
febbc60e8b RangeUtils: migrate logic from kbn to grafana/data (#27347) 2020-09-02 23:54:06 -07:00
Steven Vachon
6c5a0421fe @grafana/e2e: improve types (#27348) 2020-09-02 20:37:23 -04:00
Szymon Szypulski
a8db544e85 Cloudwatch: Update list of AmazonMQ metrics and dimensions (#27332)
Update list of AmazonMQ metrics and Dimensions based on the current list
from the official AWS documentation.

Also, change InflightCount to InFlightCount.
2020-09-02 21:32:43 +02:00
Diana Payton
76a167365d Update cloudmonitoring.md (#27341) 2020-09-02 15:07:12 -04:00
Diana Payton
67467c0eaa Docs: Update index.md (#27312)
* Update index.md

* Update index.md

Removed an extra "then" from line 34.

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2020-09-02 11:15:32 -07:00
Diana Payton
e66e31a78d Docs: Update postgres.md (#27315) 2020-09-02 09:19:46 -07:00
Nitesh Koushik S
3fd6452377 Docs: Documentation Update (#27338)
Updating Query Syntax, Query had an additional bracket, which was removed.
2020-09-02 07:46:51 -07:00
Diana Payton
15c72c2739 Docs: Updated data links content (#27110)
* updated content

* updated content

* Update data-link-variables.md

* Update global-variables.md

* updated content

* Update best-practices-for-managing-dashboards.md

* Update docs/sources/linking/data-link-variables.md

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

* Update docs/sources/linking/data-link-variables.md

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

* Update docs/sources/linking/data-link-variables.md

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

* Update docs/sources/linking/data-link-variables.md

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

* Update docs/sources/linking/data-links.md

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

* Update docs/sources/linking/dashboard-links.md

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

* Update dashboard-links.md

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
2020-09-02 07:07:31 -07:00
Arve Knudsen
19c8097595 Chore: Upgrade to Go 1.15.1 (#27326)
* Chore: Upgrade to Go 1.15.1
2020-09-02 15:51:19 +02:00
Torkel Ödegaard
636dd96c28 DateFormats: Default ISO & US formats should be consistent and not change if current date is today (#27300)
* DateFormats: Default iso / US formats should be consistent and not change if current date is today

* rename and updated tests

* Updated changelog
2020-09-02 14:43:43 +02:00
Carl Bergquist
20747015f6 Annotation: Add clean up job for old annotations (#26156)
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-09-02 08:07:31 +02:00
Ryan McKinley
0bc67b032a InfluxDB: return a table rather than an error when timeseries is missing time (#27320) 2020-09-01 15:06:38 -07:00
Hugo Häggmark
ff1149ac39 Table: Adds column filtering (#27225)
* Table: Adds column filters

* Refactor: adds filter by value function

* Refactor: some styling and sorting

* Refactor: Moves filterByValue to utils

* Tests: add filterByValue tests

* Refactor: simplifies filteredValues

* Refactor: adds dropshadow

* Refactor: keeps icons together with label and aligns with column alignment

* Refactor: hides clear filter if no filter is active

* Refactor: changes how values in filter are populated

* Refactor: adds filterable field override

* Tests: fixed broken tests

* Refactor: adds FilterList

* Refactor: adds blanks entry for non value labels

* Refactor: using preFilteredRows in filter list

* Refactor: adds filter input

* Refactor: fixes issue found by e2e

* Refactor: changes after PR comments

* Docs: adds documentation for Column filter

* Refactor: moves functions to utils and adds tests

* Refactor: memoizes filter function

* Docs: reverts docs for now
2020-09-01 17:06:35 +02:00
Michel Engelen
aff9e931ce Table: Set table cell height to 100% (#27309)
## Table

### changed
- adjusted tablecell styles to have 100% height
2020-09-01 16:19:55 +02:00
Torkel Ödegaard
1f6c2dbcfb Thresholds: Fixed issue with thresholds in overrides not working after save and reload (#27297)
* WIP: Fix null thresholds in overrides when loading

* Fix thresholds on load instead of in apply field overrides

* simplify expression

* fixed ts issue

* Updated test

* Updated another test

* Updated another test
2020-09-01 16:00:38 +02:00
Peter Holmberg
d07755b624 Docs: Drawer component (#27267)
* Add documentation and example to mdx

* Update packages/grafana-ui/src/components/Drawer/Drawer.mdx

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

* Update packages/grafana-ui/src/components/Drawer/Drawer.mdx

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

* Fix button and update text

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2020-09-01 14:12:23 +02:00
Alex Khomenko
f323ae6b67 Docs: Add report settings section (#26946)
* Docs: Update report features

* Docs: Add info about custom time range

* Docs: Add Settings section

* Docs: Update text

* Update docs/sources/enterprise/reporting.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/enterprise/reporting.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/enterprise/reporting.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/enterprise/reporting.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/enterprise/reporting.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/enterprise/reporting.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update reporting docs

* Clarify docs

* Add settings image

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-01 14:40:25 +03:00
Carl Bergquist
8faaa1a520 OAuth: Increase state cookie max age (#27258)
60s can be too short if the oauth provider is slow
for some reason and its defintly too slow if the
OAuth provider requires 2FA.

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-09-01 10:57:43 +02:00
Hugo Häggmark
8ec2aa02c6 Loki: Replaces dataSourceRequest with fetch (#27265)
* Loki: Replaces dataSourceRequest with fetch

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

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2020-09-01 06:21:21 +02:00
Lee
fb2538ce1d Docs: correct the misspelled word (#27283) 2020-08-31 09:06:27 -07:00
Torkel Ödegaard
4b8f4df18d Graph: Preseve existing data links in field config when loading dashboard (#27295)
* Graph: Preseve existing data links in field config

* ts fix
2020-08-31 17:53:21 +02:00
Kyle Brandt
06323b8e52 AzureMonitor: select plugin route from cloudname (#27273)
* AzureMonitor: select plugin route from cloudname
fixes #27243
2020-08-31 11:10:31 -04:00
Diana Payton
42e8cb51ec Update CODEOWNERS (#27298) 2020-08-31 08:02:36 -07:00
Alex Khomenko
b45d5ec594 Grafana-UI: Add Collapse docs (#27291)
* Grafana-UI: Add Collapse docs

* Grafana-UI: Add comments

* Clarify description
2020-08-31 17:48:03 +03:00
Totalus
7db42f0a3c Transformations: Adding group by and aggregate on multiple fields transformation
* Adding Occurences transformer

* Adding test for Occurences Transformer

* Cleanup. Adding a test.

* Adding doc

* Modifying UI to support custom calculations options

* Implementing data transformation

* Finalizing calculations implementation

* Cleanup

* Using Fields instead of arrays in data grouping

* Renaming transformation to GroupBy

* Adding some doc

* Apply suggestions (solving TS typing errors)

Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>

* Tweaking UI

* Preventing of selecting twice the same field name.

* Removing console print. No calculations by default.

* Forgot to add the current value to the GroupBy selector

* Solving some typing issues and prettyfier errors

* Cleanup

* Updating test

* Ensure proper copy of options (solves some issues)

* Check if the fields exist in the data before processing

* Adding missing import in test file

* If group by field not specified, return all data untouched.

* Adding another missing import in test

* Minor updates

* Implementing GroupBy multiple fields + Improve field typing

* Removing console prints

* Allowing the exact number of fields to be added as aggregation

* Centering remove button icon

* Cleanup

* Correcting TS error

* Chaging transformer options structure

* Sorting so GroupBy fields appear on top

* Cleanup

* Simplifying some operations. Adding curly brackets.

* Changing some labels on the UI

* Updating test

* Cleanup

* Updating doc

* Fixed field list. Storing options as Record instead of Array.

* Update test

* Cleaned up the group by editor UI code.

* changed the transform to a table layout instead of a flexbox layout.

* cleaned up group by transformer.

* removed unused imports.

* Added some more tests.

* Added one more test and cleaned up code.

* fixed failing test.

* Fixed so we we have the proper casing on naming.

* fixed so we don't wrap on the first row.

Co-authored-by: Marcus Andersson <systemvetaren@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2020-08-31 10:46:30 +02:00
Jess
fe6d399fad Storybook: Add vision statement to intro page (#27228)
* Storybook: Add vision statement to intro page

Added the vision statement compiled by the Grafana Labs design system knights to the grafana-ui intro section. Feedback and further improvement ideas welcome!

* Review feedback part 1

_fixed headline formatting
_removed numbered list
_removed paragraph "A library of unified components and styles"
_renamed all occurrences to @grafana/ui
_replaced "ideate" with "determine together"
2020-08-31 11:07:59 +03:00
Dominik Prokop
6dbb803b3f Transformations: enable transformations reordering (#27197)
* Transformations: enable queries reorder by drag and drop

* Satisfy ts

* Update unicons and replace ellipsis with draggabledot

* remove import

* Remove that snap

* Review

* review 2
2020-08-31 08:47:27 +02:00
Steven Vachon
1a69bcfeff @grafana/e2e: improvements (#27170)
* Minor changes

* Changed default panel screenshot name

* Removed default visualization type from `addPanel` config

... which, unless defined, will use the app's default (graph). This is the new approach for plugins which supports annotations.

* Select timezone from dashboard toolbar instead of settings

... and refactored `setDashboardTimeRange` for reuse on other pages via a now more generalized `setTimeRange`

* Added optional annotations to `addDashboard` config

* Added `explore` flow

… which reuses `configurePanel` which is very similar
2020-08-28 17:03:22 -04:00
Steven Vachon
46d7c3f814 @grafana/e2e-selectors: fix to qualify as not aria-label (#27274) 2020-08-28 14:25:08 -04:00
David
11a96459ba Docs: Added "Disable metrics lookup" explanation
Done in Prometheus datasource docs.
2020-08-28 19:42:12 +02:00
Steven Vachon
611d416f91 Selector improvements for E2E (#27271) 2020-08-28 12:59:56 -04:00
Torkel Ödegaard
7d72837d40 DataFrame: Data source field naming control that does not use field.config.displayName (#27186)
* Field naming simple fix

* fixed unit tests

* Updated to use displayNameDS config

* Update packages/grafana-data/src/types/dataFrame.ts

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* Updated name

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2020-08-28 18:22:01 +02:00
Joan López de la Franca Beltran
57b2d08755 Core: Add go-grpc-middleware dependency (#27231) 2020-08-28 15:33:21 +02:00
Marcus Olsson
d9630c5b71 Docs: Add docs for updating variables from plugin (#27247)
* Add docs for updating variables from plugin

* Update reference

* Update docs/sources/developers/plugins/add-support-for-variables.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Fix review comments

* Fix review comments

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-08-28 11:09:35 +02:00
Steven Vachon
7c49d6d944 Fix core E2E CI (#27254) 2020-08-27 18:23:35 -04:00
Steven Vachon
70fb4afe74 Fix Cypress dependency error (#27252) 2020-08-27 17:14:28 -04:00
Agnès Toulet
27c6042dbf Docs: Fix SAML config field (#27250) 2020-08-27 17:45:53 +02:00
Steven Vachon
c45cf83776 @grafana/e2e: selector improvements (#27235)
* Added labels and selectors for explore page

* Added selector for annotations

* Used selector for time picker label
2020-08-27 10:36:24 -04:00
Alex Khomenko
8238c46350 Grafana-UI: FieldValidationMessage tweaks (#27246)
* Grafana-UI: Export FieldValidationMessage

* Grafana-UI: Add alert role to FieldValidationMessage
2020-08-27 16:35:01 +03:00
Diana Payton
005e048c01 Docs: minor fixes (#27233) 2020-08-27 06:26:57 -07:00
Russ
c730e659e3 Add FieldArray component (#26993) 2020-08-27 15:38:04 +03:00
Ivana Huckova
58627a0c38 Loki: Re-introduce running of instant queries (#27213)
* Run instant queries for loki

* Add catch for instant query errors, update test
2020-08-27 10:32:36 +02:00
kay delaney
262a42b249 UI/ClickOutsideWrapper: Adds parent prop for situations where event should be on document (#27221) 2020-08-27 09:18:34 +01:00
Torkel Ödegaard
093477c036 Dashlist: Tweaked design of folder addition (#27241) 2020-08-27 09:49:07 +02:00
Torkel Ödegaard
5e27654298 Dashboard: Ignore cancelled api request error when loading dashboard (#27232) 2020-08-27 08:55:26 +02:00
Diana Payton
1e8b10ef05 Docs: Add best practices (#27057)
* added content

* adding content

* Update best-practices-for-creating-dashboards.md

* moved strategies.md

* updating content

* Update best-practices-for-creating-dashboards.md

* Update best-practices-for-managing-dashboards.md

* Update best-practices-for-creating-dashboards.md

* Update best-practices-for-managing-dashboards.md

* Update best-practices-for-creating-dashboards.md

* content updates

* Update common-observability-strategies.md

* Update best-practices-for-managing-dashboards.md

* Update best-practices-for-managing-dashboards.md

* Update dashboard-management-maturity-levels.md

* updated menu

* Update dashboard-management-maturity-levels.md

* added Torkel tips

* Update best-practices-for-creating-dashboards.md

* Update docs/sources/best-practices/best-practices-for-creating-dashboards.md

Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>

* Update docs/sources/best-practices/best-practices-for-managing-dashboards.md

Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>

* Update docs/sources/best-practices/best-practices-for-managing-dashboards.md

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

* Update docs/sources/best-practices/dashboard-management-maturity-levels.md

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

* Update docs/sources/best-practices/dashboard-management-maturity-levels.md

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

* Update best-practices-for-creating-dashboards.md

* DavKal updates

* Update best-practices-for-creating-dashboards.md

Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2020-08-26 08:31:19 -07:00
Dan Cech
66c6b20c4b Update cloud docs link (#25545) 2020-08-26 10:19:11 -04:00
Alex Khomenko
ff1a931f6f Grafana-UI: Form - inherit HTMLFormElement props (#27227) 2020-08-26 16:29:01 +03:00
Alex Khomenko
a1e6090008 Grafana-UI: BarGauge docs (#27188)
* Grafana-UI: Add mdx file

* Grafana-UI: remove _BarGauge.scss

* Grafana-UI: Update snapshot

* Grafana-UI: Fix tests

* Grafana-UI: Use selector
2020-08-26 14:44:08 +03:00
Arve Knudsen
4cd42ed898 Chore: Simplify settings loading code (#26404)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-26 13:11:57 +02:00
Simon Podlipsky
7121d1e63f Chore: Use uuid v4 as an identifier instead of Date.now() (#27178) 2020-08-26 11:38:39 +02:00
Amir Szekely
c5a7afce44 Fix AWS action name (#27205)
The action name is `tag:GetResources`, not `tags:GetResources`. This creates a confusing error message that can have the user add the wrong permission to the IAM role.
2020-08-26 11:01:50 +02:00
Hugo Häggmark
fcb3130076 e2e: Adds error catching to prevent flakiness (#27211)
* e2e: Adds error catching to prevent flakiness

* e2e: fixes if statment and cleans up wait
2020-08-26 10:15:34 +02:00
Michel Engelen
ad2e74d1fe Dashboard: Adds folder name and link to the dashboard overview on the homepage (#27214)
* Chore: Added foldername to the dashboard overview on the startpage

## Dashlist

### added
- new `<span>` containing `dash.folderTitle`
- styling for the newly created `<span>`

### changed
- added sass-nesting to classes in `_panel_dashlist.scss`

closes #26869

* Chore: Added foldername to the dashboard overview on the startpage

## Dashlist

### changed
- added `ng-if` directive to the dashlist-folder span

* Chore: Added foldername to the dashboard overview on the startpage

## Dashlist

### changed
- added folder-icon and removed brackets to indicate `folderTitle`
- changed font-size of folderTitle-`span` and added left margin
2020-08-26 10:13:20 +02:00
Steven Vachon
4d14ebaacc Added aria-label to dashboard timezone picker (#27203)
... for E2E tests
2020-08-25 15:43:01 -04:00
Zoltán Bedi
86e44eec02 Prometheus: fix rate_interval to use min step properly (#27168)
* Prometheus: fix rate_interval to use min step properly

* Update docs/sources/features/datasources/prometheus.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Simplify `getRateIntervalScopedVariable` (#27174)

Signed-off-by: beorn7 <beorn@grafana.com>

* Modify rate_interval tests to use createQuery

* Change test wording + intervalfactor

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Björn Rabenstein <beorn@grafana.com>
2020-08-25 18:55:08 +02:00
Marcus Olsson
d1ee1d93c8 Add plugin migration guide (#27118) 2020-08-25 17:31:40 +02:00
Nitesh Koushik S
af97996ad1 Docs: Document Update (#27196)
Adding double quotes to make the sentence more meaningful.
2020-08-25 06:34:02 -07:00
Nitesh Koushik S
2ee79fefac Docs: Removing duplicate words (#27195)
Removing duplicate words
2020-08-25 06:33:07 -07:00
Nitesh Koushik S
18ccd2518a Docs: Spelling Correction (#27194)
Correction of the word selectorallows to selector allows
2020-08-25 06:32:22 -07:00
Will Browne
9feaa91bf5 Alerting: Store sensitive settings encrypted for Telegram notifier (#27122)
* encrypt bot token

* update docs

* re-add uploadImage to docs
2020-08-25 14:35:57 +02:00
Hugo Häggmark
e2c7ed4b82 Chore: Updates latest.json for Release 7.1.5 (#27192) 2020-08-25 12:46:31 +02:00
Hugo Häggmark
bf2f040fb9 Release 7.1.5 (#27177) 2020-08-25 12:08:01 +02:00
Joan López de la Franca Beltran
c91bfd8299 Core: Add loki/logproto dependency (#27124)
* Add grafana/loki dependency and update its dependencies

* Update grpcplugin log_wrapper to implement the latest version of hclog.Logger

* Remove panic handling + test case no longer needed since the source of panics (bug) was fixed
2020-08-25 11:52:21 +02:00
Fredrik Enestad
6a01bab67c Allow toggling of derived fields (#27148) 2020-08-25 11:37:19 +02:00
Alex Khomenko
f5ee1f93cd Grafana-UI: Alert components tweaks (#27128)
* Grafana-UI: Add Alert docs and story

* Grafana-UI: Move Alert styles to emotion

* Grafana-UI: Tweak docs

* Grafana-UI: Update test

* Grafana-UI: Add outline to custom content

* Grafana-UI: Remove class name

* Grafana-UI: Remove _Alert.scss

* Grafana-UI: Add e2e Alert selector

* Grafana-UI: Use @deprecated

* Grafana-UI: Remove circular reference

* Grafana-UI: Final tweaks
2020-08-25 11:06:58 +03:00
Torkel Ödegaard
88fbdd6716 DisplayProcessor: Show strings as strings (#27097)
* WIP: strings and numbers

* Works in displayProcessor but units are not applied in applyFieldOverride

* removed bit

* Updated

* Added docs

* fixed typo
2020-08-25 09:50:37 +02:00
Torkel Ödegaard
ddabf4ade1 Transforms: Labels to fields rewrite that uses merge transform inside it (#27125)
* testing things

* POC: Simplify labels to fields by using merge transform inside it

* removed old code

* Fixed test ts issues

* Added valueLabel field option

* Updated merge transform tests to not expect a sort

* fixed type

* refactoring to minimize nesting
2020-08-25 09:40:49 +02:00
Emil Tullstedt
d5687cce11 Stats: Correct the number of arguments for SQL call (#27182)
* Stats: Correct the number of arguments for SQL call

* Stats: Run admin stats call as integration test
2020-08-25 08:59:44 +02:00
Simon Podlipsky
84eb03e7e5 BackendSrv: Use uuid v4 as an identifier instead of Date.now() (#27176) 2020-08-25 08:58:21 +02:00
Ryan McKinley
cd9a773427 InfluxDB: use converters from SDK (#27138) 2020-08-24 13:19:32 -07:00
Will Browne
daaa3e571b Alerting: Store sensitive settings encrypted for Threema notifier (#27160)
* encrypt API secret

* update docs
2020-08-24 16:49:45 +02:00
Will Browne
30d6405c53 Alerting: Store sensitive settings encrypted for Pushover notifier (#27159)
* encrypt api + user keys

* update docs

* fix decrypt steps
2020-08-24 16:49:30 +02:00
Will Browne
bbbbf9ac42 Alerting: Store sensitive settings encrypted for LINE notifier (#27157)
* encrypt token

* update docs
2020-08-24 16:49:10 +02:00
Will Browne
ed6f0663c2 Alerting: Store sensitive settings encrypted for Sensu notifier (#27131)
* encrypt password

* update docs
2020-08-24 16:48:55 +02:00
Diana Payton
1502722129 Docs: Add FAQcontent (#27139)
* update content

* updated content

* update content

* Update graphite.md
2020-08-24 07:44:09 -07:00
kay delaney
b54c0b5d52 UI/ClickOutsideWrapper: Fix for undesirable timepicker behavior (#27164) 2020-08-24 15:38:36 +01:00
Kyle Brandt
1778e9f034 Alerting: remove LongToWide call in alerting (#27140)
causing issues and currently as we use it, the query
should be requesting it as part of the query model via fromat as time series
fixes #27132
2020-08-24 10:05:52 -04:00
Alex Khomenko
4a6268014a Grafana-UI: Add story and mdx file (#27152) 2020-08-24 14:13:28 +03:00
Dominik Prokop
f7950491a3 Field overrides: Overrides UI improvements (#27073)
* Add filter name by regex matcher for overrides

* Update docs

* Introduce UI improvements to overrides list

* Update public/app/features/dashboard/components/PanelEditor/OverrideEditor.tsx

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Review improvements

* Fix merge

* Remove ellipsis

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2020-08-24 12:07:44 +02:00
Emil Tullstedt
954a2811b3 Stats: Stop counting the same user multiple times (#26777)
* Stats: Cache based stats implementation

* Stats: Correct logic and add larger scale test

* Stats: linter

* Stats: SQL implementation

* Stats: cleanup SQL

* Stats: Tab -> Spaces

* Update pkg/services/sqlstore/stats.go

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>

* Stats: Quote 'user' table with dialect.Quote

* Stats: Ensure test is run as integration test

* Stats: Use boolean value

...because if (v) { true } else { false } is unnecessary at best.

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2020-08-24 11:23:14 +02:00
Hugo Häggmark
09a1af3f91 Variables: Fixes issue with All variable not being resolved (#27151)
* Variables: Fixes issue with All variable not being resolved

* Tests: update tests according to changes
2020-08-24 09:29:21 +02:00
Yoan Blanc
69df8b424c Docs: zipkin links to Loki documentation (#27144) 2020-08-23 20:59:09 +02:00
Torkel Ödegaard
c80da5f2f9 Transformers: Removed display name from reduced fields (#27141) 2020-08-23 20:46:49 +02:00
Arve Knudsen
c207ea12a4 InfluxDB: Clean up tests (#27135)
* InfluxDB: Clean up tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* InfluxDB: Platform agnostic paths

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-21 18:34:21 +02:00
Kyle Brandt
c724449d3d AzureMonitor: fix panic introduced in 7.1.4 (#27113)
happens when unit was "Unspecified" and alias is being used
2020-08-21 11:37:30 -04:00
Arve Knudsen
a6cc64290c CI: Upgrade build pipeline tool (#27120)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-21 11:42:57 +02:00
Arve Knudsen
d53fe64913 Server: Support custom TCP listener (#27066)
* Server: Support custom TCP listener

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-21 10:41:10 +02:00
Arve Knudsen
45adfe7732 Data sources: Use SQL store directly, not via bus (#27000)
* Server: Make it possible to avoid getting SQL store via bus

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2020-08-21 09:30:06 +02:00
Hugo Häggmark
a73e6f728d Prometheus: Use fetch instead of deprecated datasourceRequest (#27090)
* Prometheus: replaces dataSourcRequest with fetch

* Tests: fixes typings

* Refactor: removes unnecessary from operator

* Refactor: removes weird json() function calls

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

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

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

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

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

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

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

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

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

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

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

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

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

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

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

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

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

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

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

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2020-08-21 06:03:59 +02:00
Ryan McKinley
0fb7ee05d1 Chore: Minor cleanup (#27112) 2020-08-20 14:37:49 -07:00
Ryan McKinley
a2a6b9448f InfluxDB: exclude result and table column from Flux table results (#27081) 2020-08-20 10:52:46 -07:00
Arve Knudsen
34d9191ca7 Drone: Always pass --no-pull-enterprise (#27108)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-20 19:42:39 +02:00
Steven Vachon
04249ae7ad @grafana/e2e: improvements (#26939)
* Minor changes

* Added an `editPanel` flow function

... and moved the internals of `addPanel` to a common function for use by both

* Added optional template variables to `addDashboard` config

* Use latest Cypress 4.x version

* Updated lockfile
2020-08-20 13:15:25 -04:00
Will Browne
a3c3484286 Update latest to v7.1.4 (#27104) 2020-08-20 19:08:16 +02:00
Arve Knudsen
756b8fcdf0 Drone: Upgrade build pipeline tool (#27100)
* Drone: Upgrade build pipeline tool

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Run e2e via grabpl
2020-08-20 17:56:20 +02:00
Arve Knudsen
a8b57a2dd0 Update changelog (#27102)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-20 17:45:31 +02:00
Vishwa Krishnakumar
999009bd57 Docs: Added Zenduty Grafana integration to the Grafana notifications documentation page (#27069)
* Added Zenduty Grafana integration to the notifications page

Signed-off-by: Vishwa Krishnakumar <vishwa306@gmail.com>

* Added Zenduty Grafana integration to the list of notifiers table

Signed-off-by: Vishwa Krishnakumar <vishwa306@gmail.com>
2020-08-20 08:03:45 -07:00
Fredrik Enestad
e962f02fbc Explore/Loki: Toggle parsed fields in logs view (#26178)
* POC for toggling parsed fields in Explore/Loki

* fixed issues

* add clear button for toggled parsed fields

* fix test-frontend failures

* use blue eye instead of eye/eye-slash and update tooltips

* break out parseMessage

* move indicator to meta data section

* clean up LogRowMessageParsed

* better label

* clean up after making optional
2020-08-20 16:28:10 +02:00
Will Browne
9f2386a219 Alerting: Store sensitive settings encrypted for OpsGenie notifier (#27074)
* encrypt OpsGenie API key

* make whitespace consistent

* update docs
2020-08-20 16:05:48 +02:00
Alex Khomenko
6b2d44416d Testing: Use React Testing Library (#27072)
* Add RTL

* Add setupTests.ts

* Refactor DashboardSearch tests
2020-08-20 16:21:42 +03:00
Hugo Häggmark
3504009914 FolderPicker: Fixes not being able to create new folder (#27092)
* FolderPicker: Fixes not being able to create new folder

* Update public/app/core/components/Select/FolderPicker.tsx

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

* Refactor: Fixes import issues for tests that do not mock GrafanaBootConfig

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-08-20 14:54:58 +02:00
Torkel Ödegaard
451af74728 Table: Support date unit formats on string values (#26879)
* DisplayProcessor: Support parsing strings as dates and using date units on strings

* Updated test

* Updated test
2020-08-20 12:50:45 +02:00
Hugo Häggmark
9e357d84a4 BackendSrv: Queues data source requests but passes through api requests (#26947)
* Refactor: initial commit

* wip

* Refactor: getting into a simpler model

* Refactor: adds some comments

* Refactor: renames statuses according to PR comments

* Refactor: adds more comments

* Tests: adds tests for FetchQueue

* Tests: adds tests for ResponseQueue

* Tests: adds tests for FetchQueueWorker

* Tests: simplified the tests for ResponseQueue

* Refactor: adds http2 scenario

* Refactor: using Cfg instead of global variable

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Refactor: reverted change in frontendsettings.go

* Tests: fix test mocks

* Fix: changes how cfg.Protocol gets its value

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-20 11:32:10 +02:00
Arve Knudsen
95432fb684 InfluxDB: Update Flux placeholder URL with respect to latest Go client (#27086)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-20 09:46:43 +02:00
Dominik Prokop
ed1b929fe5 Field overrides: Filter by field name using regex (#27070)
* Add filter name by regex matcher for overrides

* Update docs

* rever schema change

* add docs for by type

* add docs for by type

* add docs for by type

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2020-08-20 08:54:49 +02:00
Torkel Ödegaard
5aba6fde41 Rendering: Fixed issue rendering text panel to image via image renderer plugin (#27083)
Fixes #26996
2020-08-20 08:52:26 +02:00
Torkel Ödegaard
37b3087b2c PanelHeader: Fix issue with panel header text ellipsis showing before needed (#27082) 2020-08-20 08:51:59 +02:00
Ryan McKinley
cb82cf110f Overrides: expose byType matcher UI (#27056) 2020-08-19 13:10:57 -07:00
Sriramajeyam Sugumaran
98f8ec7c89 plugin.json schema updates (#27029)
* added $schema field support in plugin.schema.json

More details can be found in https://github.com/grafana/plugin-validator/issues/1

* Others category in plugin.json, minimum 1 keyword 

* Allow others as a category if the plugin doesn't fall into appropriate category. Refer https://github.com/grafana/plugin-validator/issues/3 for more details
* Mandate minimum one keyword for better discovery in plugin repository.

* Dropped enum from plugin.json $schema
2020-08-19 21:27:44 +02:00
Diana Payton
b4289a48f1 Docs: Update troubleshoot-queries.md (#27078)
* Update troubleshoot-queries.md

* Update troubleshoot-queries.md
2020-08-19 10:38:41 -07:00
Arve Knudsen
d0621b6054 Drone: Fix order of steps (#27076)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-19 17:20:15 +02:00
Kyle Brandt
660510084c AzureAnalytics: Use fillmode Null with format as time series (#27054)
previously was using fillmode previous, which is not what we want here.
Also we do not have fill missing with this data source anyways
Fixes #27013
2020-08-19 10:42:54 -04:00
kay delaney
a1f90521a0 CloudWatch Logs: Move query response stats to appropriate FrameMeta property (#26732)
* CloudWatch Logs: Move query response stats to appropriate FrameMeta property
2020-08-19 15:18:04 +01:00
Kyle Brandt
96babf1268 Alerting: copy queryType prop to tsdb.Query (#27053)
fixes #27048
2020-08-19 10:03:39 -04:00
Arve Knudsen
1717476984 Server: Add protocol to Cfg (#27071)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-19 14:39:13 +02:00
Arve Knudsen
3b248fccc8 Drone: Add Windows PR pipeline (#26589)
* Drone: Add Windows PR pipeline
* CI: Add Dockerfile for WiX image
2020-08-19 11:46:36 +02:00
Arve Knudsen
0e1e85656b InfluxDB: Upgrade InfluxDB in devenv (#26983)
* InfluxDB: Upgrade InfluxDB in devenv
* InfluxDB: De-export symbols
* InfluxDB: Remove unused code
* devenv: Make InfluxDB version configurable

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-19 09:23:11 +02:00
Marcus Olsson
689ca1be87 Add guide for sharing plugins (#27043)
* Add guide for sharing plugins

* Fix review comments
2020-08-19 09:01:07 +02:00
Hugo Häggmark
0755390286 MixedDatasource: Shows retrieved data even if a data source fails (#27024)
* MixedDatasource: Shows data for working data sources and error for erroneous

* Tests: remove funky import

* Tests: fixes types
2020-08-19 08:52:40 +02:00
Ivana Huckova
3d18c4d614 Pass scoped vars to create label (#27047) 2020-08-19 08:29:23 +02:00
Ivana Huckova
eafc132d3d Loki: Add scopedVars support in legend formatting for repeated variables (#27046)
* Pass scoped vars to createMetricLabel

* Add tests

* Refacotr

* Update tests

* Update test
2020-08-19 08:28:50 +02:00
Wojciech Sromek
918fb4d02a Docs: Example of provisioning InfluxDB v2 datasource (#27045)
* Docs: Example of provisioning InfluxDB v2 datasource

* Apply suggestions from code review

Suggested improvements

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-08-18 08:08:09 -07:00
Marcus Olsson
dd0b0fe0b1 Add instructions on how to format multiple variables (#27032)
* Add instructions on how to format multiple variables

* Update docs/sources/developers/plugins/add-support-for-variables.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Fix review comment

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-08-18 16:42:24 +02:00
Arve Knudsen
a2fbffe48a Server: Add health check route (#26999)
* Server: Add health check route

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Server: Remove health check middleware

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-18 14:58:08 +02:00
Zoltán Bedi
f33158dcdf Prometheus: parse value as number when label is le (#26375)
* Prometheus: parse value as number when label is le

* Convert prometheus table value back to string for modify query
2020-08-18 14:47:25 +02:00
Arve Knudsen
7896836deb Chore: Reduce TSDB Go code complexity (#26401)
* tsdb: Make code less complex
2020-08-18 14:43:18 +02:00
kay delaney
6145bf77cf UI/RefreshPicker: Change base from PureComponent to Component (#27031) 2020-08-18 08:12:14 +02:00
kay delaney
19930ee301 Dashboard: Panel menu no longer lingers (#26974)
Closes #26306
2020-08-17 22:54:48 +01:00
Kirchen99
5da3276db1 Dashboard: Use same min refresh interval fallback in the API as in provisioning (#25926)
* Dashboard: Solve the discrepancy between provisioning and the API, Handle min refresh interval when creating/updating dashboard via API

* Docs: Add refresh field in the example dashboard http api docs

* Update create dashboard API docs

Add refresh field in the create dashboard example response

* Fix create dashboard API docs

* Fix create dashboard API docs

* Update docs/sources/http_api/dashboard.md

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-08-17 12:00:10 -07:00
Sean Lafferty
900eb8070e Proxy: Fix updating refresh token in OAuth pass-thru (#26885)
* Handle updating refresh token in oauth pass-thru

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-17 18:38:32 +02:00
Arve Knudsen
9f1165b1f6 Drone: Remove intra pipeline caching commands (#27034)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-17 18:01:40 +02:00
Marcus Olsson
585543d707 Add guide on adding support for variable queries (#26810)
* Add guide on adding support for variable queries

* Fix review comments

* Update instruction for custom editor

* Update docs/sources/developers/plugins/add-support-for-variables.md

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Update docs/sources/developers/plugins/add-support-for-variables.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/developers/plugins/add-support-for-variables.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Fix review comments

* Fix review comments

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-08-17 12:00:33 +02:00
Marcus Olsson
7319527f71 Improve validation for grafanaDependency (#26936) 2020-08-17 11:59:43 +02:00
Marcus Olsson
338943d349 Add skipDataQuery to plugin.json schema (#26940)
* Add skipDataQuery to plugin.json schema

* Fix typo
2020-08-17 11:31:25 +02:00
Arve Knudsen
be3bf80749 InfluxDB: Upgrade to latest InfluxDB Go client (#27021)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-17 08:32:26 +02:00
Hugo Häggmark
bd75adf515 Templating: Fixes so texts show in picker not the values (#27002) 2020-08-17 07:04:27 +02:00
Arve Knudsen
50ebbb625e InfluxDB: Upgrade Go client, use data source HTTP client (#27012)
* InfluxDB: Upgrade Go client, use data source HTTP client

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove unnecessary Close

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-14 18:40:02 +02:00
Sofia Papagiannaki
6609ddb082 Docs: document TLS configuration for generic OAuth (#27006)
* Docs: document TLS configuration for generic OAuth

* use SSL/TLS term

* Update docs/sources/auth/generic-oauth.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/auth/generic-oauth.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-08-14 19:22:39 +03:00
Emil Tullstedt
b68634fbb4 Tests: Batch of GoConvey to Testify conversions (#27008) 2020-08-14 14:43:25 +02:00
Sofia Papagiannaki
7ad1e3663c Playlists: Remove API validation for empty playlists and remove redundant API call (#26982)
* Remove validation from empty playlists

* Remove redundant API call

Frontend used to call /api/playlists/:id/items directly after /api/playlists/:id but items are already included in the first response
2020-08-14 11:59:50 +03:00
Ivana Huckova
bb0f17ce59 Loki: Fix refresh on time range change for template variable queries (#26968)
* Pass timerange and aadd tests

* Update test
2020-08-14 10:33:37 +02:00
Ivana Huckova
9698edbb13 Docs: Sort log result documentation (#26898)
* Add documentation for sort log result

* Update docs/sources/features/explore/index.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/features/explore/index.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/features/explore/index.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Capitalize deduping options

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-08-14 10:15:12 +02:00
Ivana Huckova
1915d10980 Remove brackets from escaped value if just 1 value (#26995) 2020-08-13 19:15:34 +02:00
Zoltán Bedi
aae25c5308 Prometheus: add $__rate_interval variable (#26937)
* Add rate interval variable to prometheus data source

* Add tests + auto complete

* Fix prometheus tests

* Add doc

* Modify test title

* Modify kbn method name after merge
2020-08-13 18:58:40 +02:00
Kyle Brandt
f9f60c9193 AzureMonitor: map more units (#26990)
add BitsPerSecond and Seconds
2020-08-13 12:57:16 -04:00
Arve Knudsen
c63bbbaec3 InfluxDB: Close Flux query results (#26917)
* InfluxDB: Drop ctxhttp usage
* InfluxDB: Clean up code
* InfluxDB: Close query results

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-13 17:50:53 +02:00
Arve Knudsen
d823b26b06 Drone/CircleCI: Upgrade build pipeline tool (#26854)
* Drone/CircleCI: Upgrade build pipeline tool

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Upgrade build pipeline tool in Docker scripts

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-13 16:04:34 +02:00
Joan López de la Franca Beltran
ef631582ba Users: Improve conflict error handling (#26958)
* API: Improve error handling (#26934)

* New ErrUserAlreadyExists error has been introduced

* Create user endpoint returns 412 Precondition Failed on ErrUserAlreadyExists errors

* Make ErrUserAlreadyExists error message clearer

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

* Use errors.Is instead of equality comparator on AdminCreateUser handler

* Improve sqlstore/user test definition

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Improve sqlstore/user tests for ErrUserAlreadyExists cases

* Remove no needed string fmt and err declaration on sqlstore/user tests

* Code improvements for sqlstore/user tests

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use err.Error() instead of sentinel error value on AdminCreateUser

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add ErrUserAlreadyExists handling for signup & org invite use cases

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-13 14:38:54 +02:00
Torkel Ödegaard
5398ef1103 Templating: Fixed recursive url update issue for textbox variable (#26981)
* Templating: Fixed recursive url update issue for textbox variable

* Updated link

* updated e2e
2020-08-13 14:38:27 +02:00
Ivana Huckova
eeeea7fb8d Explore: Capitalize dedup strategy in radio buttons for consistency (#26961)
* Update LogsDedupStrategy enum to keep consistent with radio button capitalization

* Revert "Update LogsDedupStrategy enum to keep consistent with radio button capitalization"

This reverts commit 0b05cd4e00.

* Capitalize dedup strategy in radio buttons
2020-08-13 11:40:58 +02:00
Emil Tullstedt
d664853179 Tests: Change util GoConvey tests to use testify (#26724) 2020-08-13 11:10:48 +02:00
Pratik Raj
3bed3248d9 Use --no-cache-dir flag to pip in Dockerfiles, to save space (#26978)
Use `--no-cache-dir` flag to `pip` in Dockerfiles, to save space

Signed-off-by: Pratik Raj <rajpratik71@gmail.com>
2020-08-13 10:04:31 +02:00
Arve Knudsen
9f159c5e3d grafana-cli: Fix file path processing, returning of errors (#26954)
* grafana-cli: Fix file path processing, returning of errors
2020-08-13 09:38:05 +02:00
Zoltán Bedi
75e14aa120 Chore: Let kbn util infer types (#26907)
* Chore: Let kbn util infer types

Type fixes where needed

* Address review comments + test fix

* Modify kbn method and property names to pascalCase
2020-08-13 09:35:32 +02:00
Lucas Raschek
6b1b52b704 Templating: Fixes renaming a variable using special characters or same name (#26866)
* Fix variable editor name-input bug

You couldn't delete an invalid character after typing it into the name-input field.
While investigating the issue turned out to be bigger, as there was a problem with
valid characters too. (See test scenarios below)

The fix seems to be, to remove an unnecessary check in the `changeVariableName`
action. There is theoretically now the possibility, that the `changeVariableName`
action is called with the same name, as the variable is already, but practically
there seems no possibility, that this could happen. A test, which checks that, had
to be removed too.

Test scenarios:
* 1st Scenario
    1. Type "@"
    2. Try deleting it
* 2nd Scenario
    1. Type "w"
    2. delete "w"
    3. Try typing "w" again

Fixes #26562

* Fix bug when updating existing variable
2020-08-13 06:52:32 +02:00
Nitesh Koushik S
18c2aaa10e Docs: Adding reference for the default database (#26950)
Adding reference for the default database type SQLite
2020-08-12 12:35:24 -07:00
hebbet
2755db6b4b Docs: Remove "currently in beta" (#26960)
7.1 is stable
2020-08-12 12:33:41 -07:00
martinrw
b1625955fe Docs: Mention httpMode in the docs (#26964) 2020-08-12 12:30:43 -07:00
Kyle Brandt
f432e153ca Dataframe/Alerting: to tsdb.TimeSeriesSlice - accept "empty" time series (#26903)
this is in order to trigger no data when used with alerting.
fixes #26897.

This is perhaps better solved in the SDK but that needs more thought and is tracked in grafana/grafana-plugin-sdk-go#214
2020-08-12 12:30:45 -04:00
Arve Knudsen
1698c74ec1 Chore: Fix tests for Go 1.15 (#26957)
* Chore: Fix tests for Go 1.15
2020-08-12 17:45:03 +02:00
kay delaney
a8f57b2ffd Datasource/CloudWatchLogs: Correctly interpolate variables for data links (#26929)
Closes #26792
2020-08-12 16:26:51 +01:00
kay delaney
751a07e3c5 Panel/BarGauge: Prevent overflow in panel with many series (#26926)
* Panel/BarGauge: Prevent overflow in panel with many series
Closes #24889
2020-08-12 16:26:18 +01:00
Adrián López
2093f7c1f0 grafana-cli: Fix installing of plugins missing directory entries in zip (#26945) 2020-08-12 17:08:12 +02:00
Benjamin Blattberg
3403db190d API: Support paging in the admin orgs list API (#26932)
* Add page/limit to org search

* Update docs

* Fix test per PR feedback
2020-08-12 10:59:07 +03:00
Ivana Huckova
214c1078aa Graphite: Show and hide query editor function popup on click (#26923)
* Update UX, only click on function can open and close popover

* Add ClickOutsideWrapper
2020-08-12 09:40:06 +02:00
Zoltán Bedi
826184c948 Docs: Use relref links for data sources in whats new docs (#26935) 2020-08-11 20:06:15 +02:00
Zoltán Bedi
ae30482465 Chore: MEGA - Make Eslint Great Again 💅 (#26094)
* Fix lint error in types.ts

* Bump eslint and its deps to latest

* Add eslintignore and remove not needed eslintrcs

* Change webpack configs eslint config

* Update package.jsons and removed unused eslintrc files

* Chore yarn lint --fix 💅

* Add devenv to eslintignore

* Remove eslint disable comments for rules that are not used

* Remaining eslint fixes 💅

* Bump grafana/eslint-config 💥

* Modify package.json

No need for duplicate checks.

* Modify eslintignore to ignore data and dist folders

* Revert removing .eslintrc to make sure not to use certain packages

* Modify package.json to remove not needed command

* Use gitignore for ignoring paths
2020-08-11 17:52:44 +02:00
kay delaney
e4da0fcb5e Dashboard/RefreshPicker: Prevents unnecessary redrawing of RefreshPicker (#26902)
Closes #26823
2020-08-11 15:36:50 +01:00
Diana Payton
eb985ffbee Docs: Add troubleshooting content (#26871)
* added folder and moved content

* added content

* updated content

* added content

* Update troubleshoot-dashboards.md

* added content
2020-08-11 06:56:06 -07:00
Zoltán Bedi
02e4c2bb9e Graphite: Fix test data source query options (#26906) 2020-08-11 12:41:34 +02:00
Arve Knudsen
1dd5b58e95 CI: Upgrade build image (#26904)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-10 19:13:59 +02:00
Arve Knudsen
3a362b758a CI: Upgrade golangci-lint and base image (#26892)
* CI: Upgrade build image to use golangci-lint 1.30.0

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Upgrade Debian base image

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Makefile: Upgrade golangci-lint

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-10 18:38:53 +02:00
Torkel Ödegaard
a49daf5676 BackendSrv: Improves logic for hiding requests from query inspector (#26877)
* BackendSrv: Improves logic for hiding requests from query inspector

* fixed tests

* Update explore query inspector
2020-08-10 16:08:11 +02:00
Ivana Huckova
ad33734424 Prometheus: Correctly format multi values variables in queries (#26896) 2020-08-10 15:36:15 +02:00
Hugo Häggmark
0a40862af5 Templating: Adds -- remove filter -- back to incomplete AdHoc filters (#26829) 2020-08-10 13:40:32 +02:00
Torkel Ödegaard
9a694b2b5a Graph: Revert bar centering to fix tooltip issue (#26876) 2020-08-10 10:59:12 +02:00
Torkel Ödegaard
6789c6ef39 Transformations: Remove beta notice from transformations and field overrides (#26881)
* Transformations: Remove beta badge for transformations and field overrides

* Removed imports

* Update doc links
2020-08-10 10:58:45 +02:00
Arve Knudsen
61041912d5 CI: Upgrade Go and Node versions in CI build image (#26888)
* Upgrade Go and Node versions in CI build image

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Upgrade Dockerfile to Go 1.14.7 and Node 12.18.3

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Upgrade Dockerfile.ubuntu to Go 1.14.7 and Node 12.18.3

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-10 10:45:35 +02:00
Hugo Häggmark
f92bc0994d TextPanel: Fixes issue when interpolation of variables stops working (#26847)
* TextPanel: Fixes issue when interpolation of variables stops working

* Tests: fixes broken typing in test

* Tests: updates e2e dashboard to html so we get the raw strings

* Tests: reverted back to markdown and fixed a bug
2020-08-10 06:38:22 +02:00
Timothy Palpant
7fe2b7037a Variables: Shows hide option labels on Safari (#26883) 2020-08-10 06:11:24 +02:00
kay delaney
d4e85e4857 Dashboard Links: Links kept in sync with dashboard time range (#26845)
Closes #26694
2020-08-09 23:27:18 +01:00
dependabot[bot]
2cd9b9a7b9 Chore(deps): Bump prismjs from 1.19.0 to 1.21.0 (#26875)
Bumps [prismjs](https://github.com/PrismJS/prism) from 1.19.0 to 1.21.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PrismJS/prism/compare/v1.19.0...v1.21.0)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-09 08:55:26 +02:00
Michel Engelen
e4885cc76f Chore: Added optional Icon to ButtonCascader (#26852)
## ButtonCascader

### added
- new prop `icon` with type `IconName`

### changed
- `icon` style is now `icons` with properties `left` and `right` for the respective icons

## ButtonCascader Story

### added
- new story `withIcon`
- new knob `icon`

### changed
- `icon` style is now `icons` with properties `left` and `right` for the respective icons

closes #23755
2020-08-08 11:25:40 +03:00
Steven Vachon
19e9e01178 @grafana/e2e: improvements (#26838)
* Minor changes

* Only expect login “change password” notification for default passwords

* Optionally populate basic auth when adding a datasource

* Optionally match screenshot when adding a panel
2020-08-07 15:38:44 -04:00
Diana Payton
158a474ee7 Docs: Update _index.md (#26561)
* Update _index.md

* Update docs/sources/features/datasources/_index.md

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-07 08:06:50 -07:00
Levente Balogh
6b1a80675f Grafana Toolkit: add an option for signing plugins as admin (#26817)
* feat(grafana-toolkit): add a flag to the plugin:ci-package command

* docs(grafana-toolkit): add a short comment above the flag

* fix(grafana-toolkit): fix option for signing a plugin with the admin endpoint
2020-08-07 15:34:30 +02:00
Arve Knudsen
9c81c7aa44 Chore: Upgrade Volta's pinned Node version (#26855)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-07 11:52:52 +02:00
Arve Knudsen
b1ddbaa395 CloudWatch: Fix sorting of metrics results (#26835)
* CloudWatch: Fix sorting of metrics results
2020-08-07 11:48:40 +02:00
Torkel Ödegaard
398bc045fc Orgs: Remove org deprecation notice as we have decided to preserve multi-org support (#26853)
* Orgs: Remove org deprecation notice

* Updated
2020-08-07 10:35:30 +02:00
Arve Knudsen
37c278c8f3 InfluxDB: Less chatty logging (#26850)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-07 09:18:57 +02:00
Jake Krammer
bf3dcc809d Admin: Fix updating organization name not updating configuration subtitle (#26315)
* Fix updating organization name not updating configuration subtitle

* PR feedback: Remove unnecessary square brackets

* Refactor code to update redux state in a safer way, add org action test

* Refactor updateConfigurationSubtitle test, remove jest.mock usage

* Consolidate dependency type
2020-08-07 09:00:44 +02:00
Lucas Raschek
eed313f312 Templating: Fix multi-select keyboard toggle bug (#26841)
Fixes #20953
2020-08-07 06:24:25 +02:00
Kyle Brandt
62b103b843 Azuremonitor: do not set unit if literal "Unspecified" (#26839)
part of #26828
2020-08-06 16:03:25 -04:00
Robby Milo
8107e735c1 Docs: update loki links, readme (#26548) 2020-08-06 12:40:12 -07:00
Kyle Brandt
577c9cd546 Docs: Azure logs - cross reference field configuration display name (#26804)
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-08-06 13:16:00 -04:00
Ivana Huckova
4a523c3248 Explore: Sort order of log results (#26669)
* Create sorting button and functionality

* Set up logs ordering

* Add tests

* Refactor

* Refactor

* Replace new button with old

* Move SortOrder enum to grafana/data

* Update SortOrder in test

* Update context based on sort order of logs

* Update used  method for panel, update tests

* Rename prop  to logsSortOrder

* Memoize resuults

* Add title too button

* Add disablinng of button for 1sec

* Update wordiing

* Update packages/grafana-data/src/utils/logs.ts

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update packages/grafana-data/src/utils/logs.ts

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update test by reordering logs

* Clear timers, add button flipping title

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2020-08-06 18:35:49 +02:00
Torkel Ödegaard
4334e34366 Update latest.json (#26833) 2020-08-06 17:33:50 +02:00
kay delaney
02b12d3a7b Explore: Adds query inspector drawer to explore (#26698)
* Explore: Adds query inspector drawer to explore
2020-08-06 16:22:54 +01:00
Sriramajeyam Sugumaran
145d221983 Admin: Added missing enterprise plugins in upgrade page (#26825)
* Added missing enterprise plugins in upgrade page

Added missing enterprise plugins in upgrade page
* New Relic
* Amazon Timestream

* prettier fix
2020-08-06 15:22:50 +02:00
Torkel Ödegaard
06dda44573 Docs: Update changelog for 7.1.3 release (#26830) 2020-08-06 15:11:51 +02:00
Torkel Ödegaard
00769f19c2 E2E: Adding globals variables and interpolation format gdev test dashboard and e2e test (#26827) 2020-08-06 14:54:24 +02:00
Marcus Olsson
5a58f2b4c5 Update plugin metadata schema (#26720)
* Update plugin metadata schema

* Update docs/sources/developers/plugins/metadata.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-08-05 08:37:51 -07:00
Hugo Häggmark
e26745368e Chore: Update latest.json for 7.1.2 (#26809) 2020-08-05 16:14:23 +02:00
Ivana Huckova
541ce55670 Explore: Update tooltips for live tailing buttons (#26799)
* Update tooltips

* Update wordiing
2020-08-05 15:48:36 +02:00
Andreas Opferkuch
d4af373529 AppPlugin: Show exceptions in dev (#26795)
When NODE_ENV is dev, print exceptions that
bubble up from an app plugin to the console and
make developer aware of this instead of only
"404 Error".
2020-08-05 15:47:25 +02:00
Hugo Häggmark
325240fc83 Update CHANGELOG.md
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2020-08-05 06:27:46 -07:00
Hugo Häggmark
7054eb9d24 Chore: Updates Changelog for 7.1.2 2020-08-05 06:27:46 -07:00
Sofia Papagiannaki
754668cd51 Add missing entry from 7.1.0-beta1 changelog. (#26797) 2020-08-05 13:56:21 +03:00
Ivana Huckova
744e108b04 Explore: Run queries when queries imported (#26704) 2020-08-05 09:22:36 +01:00
Ryan McKinley
ec783fbff4 Fields: __field.name as field name and __field.displayName as displayName (#26531)
* name vs displayName

* name vs displayName

* add __values

* add docs for displayName expressions

* Update docs/sources/panels/field-configuration-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/panels/field-configuration-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/panels/field-configuration-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/panels/field-configuration-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/panels/field-configuration-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/panels/field-configuration-options.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: kyle <kyle@grafana.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-08-04 21:22:14 -07:00
Ryan McKinley
9e5fe8dbdb Test datasource: fix query editor html partial (#26788) 2020-08-04 12:45:37 -07:00
Arve Knudsen
e6e5cc6e80 Chore: Simplify generic OAuth code (#26779)
* Generic OAuth: Simplify

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Rename test variables for consistency

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-04 18:28:53 +02:00
Maksim Nabokikh
b646a1d627 Provisioning: describe which folder caused an error while provisioning from files structure (#26771)
* Provisioning: describe which folder caused an error while provisioning from files structure

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

* Apply suggestions from code review

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove unused DashType constants

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-04 09:03:09 -07:00
dependabot[bot]
49c4edb2cb Chore(deps): Bump lodash from 4.17.15 to 4.17.19 (#26417)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-04 17:37:29 +02:00
dependabot[bot]
b72be0d3c7 Chore(deps): Bump elliptic from 6.5.1 to 6.5.3 (#26740)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.1 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.1...v6.5.3)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-04 17:36:38 +02:00
Arve Knudsen
e344ff01ec SQL: Fix missing org error messages (#26785)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-08-04 17:06:37 +02:00
Ivana Huckova
150778df1a Explore/Loki: Remove regex parsing errors for huge logs (#26405)
* Remove hihglihting for logs with more than 5000 characters

* Update limitt, include also parsing for details

* Update
2020-08-04 14:37:07 +02:00
Ivana Huckova
6a86e66d76 Query history: Fix search filtering if null value (#26768)
* Fix filtering if null value

* Add test coverage
2020-08-04 11:03:22 +02:00
Hugo Häggmark
353b3822c1 TimePicker: Fixes app crash when changing custom range to nothing (#26775) 2020-08-04 09:00:52 +02:00
Diana Payton
4e2ab785d6 Docs: Add preferences and password docs (#26628)
* Create change-your-password.md

* linked to menu

* Create preferences.md

* Update menu.yaml

* Update preferences.md

* Update docs/sources/administration/preferences.md

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

* Update docs/sources/administration/change-your-password.md

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

* Update docs/sources/administration/change-your-password.md

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

* Update preferences.md

* Update _index.md

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2020-08-03 13:22:58 -07:00
Justin Palpant
85d0d6f7cd Add toggle to disable alert rendering line and fill on Graph panel (#25705)
* Squash four commits and claim.

Credit to @ikkemaniac in #25034, but taking this to sign CLA and get it landed. Four commit message were:

- add 'fill' switch on Alert Tab
- add 'fill' to Alert init model. Make default value 'true' not to break current design
- use newly created alert.fill when rendering graph
- add 'line' switch on Alert tab, add 'line' to Alert init model. Set default to 'true' not to break current design. Use newly created alert.line when rendering graph

Should close feature req #7258.

* Move alert toggle to Display tab.

* Move alertThreshold to PanelModel.options.

* Fix ThresholdMapper tests by adding options to each mocked panel.

* Update documentation for the new display option.

* Update docs with review feedback.

* Handle onRender with null panel in ThresholdMapper
2020-08-03 09:50:36 -07:00
Diana Payton
0706ec5d00 Docs: Organize variables (#26738)
* Moved files to folder and updated links

* fixed links

* Update _index.md

* Update templates-and-variables.md
2020-08-03 09:10:27 -07:00
Ryan McKinley
0e3b4e8ccc Chore: update rxjs (#26749) 2020-08-03 09:02:02 -07:00
Ryan McKinley
a532f463c7 Heatmap: use the standard unit picker component (#26751) 2020-08-03 09:01:38 -07:00
Alexander Zobnin
df11cdad62 Generic OAuth: customize login and id_token attributes (#26577)
* OAuth: add login_attribute_path to generic oauth

* OAuth: remove default client_secret values (able to use empty client_secret)

* OAuth: allow to customize id_token attribute name

* Docs: describe how login_attribute_path and id_token_attribute_name params work

* Docs: review fixes

* Docs: review fixes

* Chore: fix go linter error

* Tests: fix test code style
2020-08-03 17:33:27 +03:00
Karine Valença
fa7c4d91aa Docs: Storybook - Spinner (#26754)
* add docs for spinner component

* fix lint

* Code review fixes
2020-08-03 16:34:09 +03:00
Sofia Papagiannaki
41f7bccb24 Cloud monitoring: do not create deep link if there are no timeseries (#26737) 2020-08-03 09:28:03 +03:00
Ryan McKinley
f9df580016 Inspector: hide invalid stats (#26750) 2020-08-01 08:35:54 -07:00
Simon Podlipsky
094254c0c6 Formats: Add raw format to formatRegistry (#26743) 2020-07-31 15:15:52 -07:00
Paul Sneddon
a0c1e53fd0 Flux: Increase series limit for Flux queries (#26746) 2020-07-31 15:14:58 -07:00
Paul Sneddon
ec756f3729 Flux: Ensure connections to InflxuDB are closed (#26735)
* Flux: Ensure connections to InflxuDB are closed
2020-07-31 23:11:51 +02:00
Arve Knudsen
7589b1b517 OAuth: Refactor user syncing (#26721)
* OAuth: Refactor user syncing

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Don't ignore error

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-31 20:29:27 +02:00
Diana Payton
5cf8759ac0 Update graph-panel.md (#26734) 2020-07-31 10:09:43 -07:00
Alex Khomenko
9b532a7834 Grafana-UI: Make TimeOfDayPicker value optional (#26703) 2020-07-31 17:10:20 +03:00
Marcus Olsson
fa4084f90a Docs: Add plugins guide on error handling (#26518) 2020-07-31 07:07:03 -07:00
Leonard Gram
c266f45858 LDAP: users without org mappings are marked as disabled (#26650)
* LDAP: users without org mappings are marked as disabled

* Update pkg/services/ldap/ldap.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* LDAP: verifies that unmapped users are tagged as isDisabled

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-31 14:41:31 +02:00
Arve Knudsen
35c67606ce Chore: Use errors.Is for comparing errors (#26719)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-31 10:16:49 +02:00
Arve Knudsen
16c185c3b9 Chore: Drop xerrors dependency (#26718)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-31 09:45:20 +02:00
Arve Knudsen
5a6afd9096 OAuth: Add some debug logs (#26716)
* OAuth: Add some debug logs

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-31 09:41:13 +02:00
Agnès Toulet
8dc75f79f7 API: Enrich endpoints with ID (#26691) 2020-07-31 08:22:09 +02:00
Diana Payton
5cc65df32b Update documentation-style-guide.md (#26706) 2020-07-30 11:31:49 -07:00
Ivana Huckova
bf835af74b Prometheus: Add backslash escaping for template variables (#26205)
* Run query on splitOpen action

* Escape \ in prometheusRegularEscape

* Revert "Run query on splitOpen action"

This reverts commit 3559b6c573.

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2020-07-30 18:07:22 +02:00
Ivana Huckova
bf5d52c5c7 Loki: Send current time range when fetching labels and values (#26622)
* Send current time range when fetching labels and values in Explore

* Pass range to Editors, in the same way as it was in Angular editors

* Remove unused imports

* Remove unused imports, props

* Update

* Update

* Update refresh condition

* Add comment
2020-07-30 18:04:20 +02:00
Arve Knudsen
d88864f376 Fix language in backend.md (#26701)
* Fix language in backend.md

* Update contribute/style-guides/backend.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-30 17:48:41 +02:00
Andreas Opferkuch
ed950842bd ThemeContext: Fix useStyles return type (#26696)
Still returned `any` because the type of memoizedStyleCreator wasn't declared properly.
2020-07-30 16:03:44 +02:00
Maksim Nabokikh
ba2524cd88 Provisioning: Add validation for missing organisations in datasource, dashboard, and notifier configurations (#26601)
* Provisioning: Check that org. from config exists

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

* Apply suggestions from code review

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix some code after applying suggestions

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

* Add negative test case

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-30 12:59:12 +03:00
Torkel Ödegaard
3f21283655 Annotations: Ignore cancelled annotation queries (#26681) 2020-07-30 10:23:39 +02:00
Torkel Ödegaard
eb0b9de044 Inspect: Fix link to error tab from panel header (#26682) 2020-07-29 13:34:08 -07:00
Torkel Ödegaard
3075b71848 TextPanel: Remove semicolon in markup (#26680) 2020-07-29 13:33:39 -07:00
Arve Knudsen
e08972d567 login/social: Simplify test (#26679)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-29 19:52:26 +02:00
Agnès Toulet
7a5464fe10 Chore: use Wrap for all admin API (#26673)
* Chore: use Wrap for all admin API

* API: fix admin tests
2020-07-29 18:00:14 +02:00
Emil Tullstedt
ec76d69b49 Chore: Update developer guide to reflect changes to go get (#26646) 2020-07-29 11:23:46 +02:00
waqark3389
642e904048 Show FileSystemId as a dimension key (#26662)
FileSystemId can be used to filter by filesystem ID if needed. Right now it just returns blank
2020-07-29 09:35:07 +03:00
Torkel Ödegaard
ef223d4143 Dashboard: Fixed disable draggable panels on correct breakpoint (#26636) 2020-07-29 08:27:49 +02:00
Alex Khomenko
0b8ad9176d Grafana-UI: Reverse TimeRangeInput range pickers (#26652)
* Grafana-UI: Reverse TimeRangeInput range pickers

* Grafana-UI: Add comment

* Grafana-UI: Update snapshots
2020-07-28 19:09:20 +03:00
Artem Kuchumov
2ba0083784 Docker: Don't upgrade packages when installing (#24132) (#26055) 2020-07-28 17:07:23 +02:00
Torkel Ödegaard
34c2f440db Templating: Fixed access to system variables like __dashboard, __user & __org during dashboard load & variable queries (#26637)
* Templating: Fixed access to system variables like __dashboard, __user & __org during dashboard load & variable queries

* Fixed tests
2020-07-28 16:05:29 +02:00
kay delaney
b28594477d Explore: Simplifies rich history drawer animation logic (#26633)
Changes the logic of the rich history drawer animation to use
CSS animations rather than a timer and react state
2020-07-28 14:17:20 +01:00
Massimiliano Ungheretti
977bf2eca4 Potential fix for missing newlines in jsonexplorer (#26590)
Relates to https://github.com/grafana/grafana/issues/26584
2020-07-28 10:14:51 +02:00
Levente Balogh
bdbea6d1f2 fix(Toolkit/Plugin): throw an Error instead of a string (#26618) 2020-07-28 08:41:32 +02:00
Torkel Ödegaard
17605033a2 Docs: Update changelog (#26638) 2020-07-28 08:25:31 +02:00
Mert Açıkportalı
6aef1f84cb Dashboard: Implement Duplicate DashboardLink Feature (#26600)
* Dashboard: Implement duplicate dashboard link feature

* Dashboard: Change duplicate and remove button types of DashboardLinks
2020-07-28 07:35:00 +02:00
Torkel Ödegaard
cbe1d7b08c StatPanel: Fix stat panel display name not showing when explicitly set (#26616)
* StatPanel: Fix stat panel display name now showing when explicitly set

* StatPanel: Updarted auto mode to also take panel title into consideration

* fixed test
2020-07-28 07:28:50 +02:00
Torkel Ödegaard
cfac143244 TemplateSrv: Refactoring out all formats to a formatRegistry (#26607) 2020-07-28 07:27:59 +02:00
Diana Payton
0d933b79b7 Docs: Update global-variables.md (#26627) 2020-07-27 13:09:42 -07:00
Torkel Ödegaard
6c49fdb57d TemplateSrv: Formatting options for ${__from} and ${__to}, unix seconds epoch, ISO 8601/RFC 3339 (#26466)
* TemplateSrv: WIP date formats

* Templating: formats with arguments

* WIP docs updates

* Docs: Updated docs

* fixed spelling

* Update docs/sources/variables/global-variables.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/variables/global-variables.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/variables/global-variables.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/variables/global-variables.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-27 20:47:59 +02:00
Torkel Ödegaard
e3ea725387 Dashbard: Fix refresh interval settings to allow setting it to equal min_refresh_intereval (#26615) 2020-07-27 20:47:14 +02:00
Torkel Ödegaard
ff6919173a Gauge: Fix display name showing for only single series (#26617) 2020-07-27 20:26:22 +02:00
Torkel Ödegaard
cc0a8464ff QueryOptions: Fix not being able to change cache timeout setting (#26614) 2020-07-27 20:25:49 +02:00
Diana Payton
76230215c5 Docs: Update notifications.md (#26624) 2020-07-27 08:42:25 -07:00
Richard Hartmann
9bbebdcac1 Change conduct contact email address (#26619)
Signed-off-by: Richard Hartmann <richih@richih.org>
2020-07-27 14:41:27 +02:00
Leonard Gram
d17ba95492 Docs: logging in the docker container (#26119)
* Docs: logging in the docker container

* Docs: wording

* Update docs/sources/installation/configure-docker.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-27 10:06:00 +02:00
Ryan McKinley
339138d61a Live: include a streaming event manager (#26537) 2020-07-27 00:26:16 -07:00
Torkel Ödegaard
3defb4441e Settings: Remove global variable (#26613) 2020-07-26 23:36:36 -07:00
Torkel Ödegaard
ae3c285312 TextPanel: Fix content overflow issue (#26612) 2020-07-27 08:00:57 +02:00
Diana Payton
f4ec92215b Docs: Delete migrating_to2.md (#26593)
* Delete migrating_to2.md

* Update upgrading.md
2020-07-26 16:55:01 +02:00
tofurky
9d68a1fa62 Units: Remove duplicate SI prefix from mSv and µSv (#26598) 2020-07-26 16:53:35 +02:00
Jake Utley
95ef0417cf TablePanel: Add support for basic gauge as a cell display mode (#26595) 2020-07-26 16:52:42 +02:00
Éamon Ryan
9ce7fdc130 Fix grammar in cloudwatch plugin page. (#26596)
"Your metrics", not "you metrics".
2020-07-25 11:58:10 +02:00
Diana Payton
000b6c3021 Docs: Added folder permission content (#26594) 2020-07-24 14:20:24 -07:00
Torkel Ödegaard
93a4b8e8e4 TimePicker: Fix position and responsive behavior (#26570)
* TimePicker: Fix position and responsive behavior

* Updated snapshots
2020-07-24 16:48:02 +02:00
Simon Podlipsky
96bc16c63e Chore: Bump caniuse lite (#26501) 2020-07-24 16:47:44 +02:00
Ivan Kopeykin
c654e2bfda Storybook: Use bare specifier @grafana/ui in public stories (#26563) 2020-07-24 16:41:44 +02:00
Leonard Gram
e6a027d905 update latest to 7.1.1 (#26588) 2020-07-24 16:21:44 +02:00
Leonard Gram
3ed1c14237 changelog 7.1.1 (#26586) 2020-07-24 16:17:31 +02:00
Arve Knudsen
349e7b2d70 Drone: Reduce parallelism of certain steps to conserve memory (#26582)
* Drone: Reduce parallelism of front-end tests to avoid OOM

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Reduce parallelism of various steps to avoid OOM

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-24 14:58:50 +02:00
Arve Knudsen
94d0934e90 CloudWatch: Fix a few API status codes (#26578)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-24 12:34:56 +02:00
Arve Knudsen
49b86e88ac Drone: Identify Drone runner for each pipeline (#26573)
* Drone: Identify Drone runner for each pipeline
2020-07-24 10:13:21 +02:00
Sofia Papagiannaki
5e73a92327 DashboardImport: Fix variable interpolation when property contains multiple variable expressions (#26574) 2020-07-24 11:12:44 +03:00
Oana Mangiurea
ca9418ea80 Update TextArea.mdx (#26225)
clarify form validation text

Co-authored-by: Clarity-89 <homes89@ukr.net>
2020-07-24 10:31:08 +03:00
Arve Knudsen
2446ee08f1 CloudWatch: Fix passing of namespace for getting custom metrics (#26515)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-24 08:37:24 +02:00
Sofia Papagiannaki
ad4f8b7091 Alerting: Change settings column type to mediumtext (#26549)
* Alerting: Change settings column type to mediumtext

* Remove unnecessary newline
2020-07-24 08:40:06 +03:00
Torkel Ödegaard
1df4f71197 Dashboard: Restore panel edit permission check, fixes 26555' (#26556) 2020-07-24 07:29:33 +02:00
Diana Payton
a94745af00 Docs: Add variable examples (#26565)
* Update repeat-panels-or-rows.md

* Update dashboard-links.md

* Create variable-examples.md

* Update menu.yaml

* Update variable-examples.md

* Update variable-value-tags.md

* Update variable-examples.md

* Update variable-value-tags.md
2020-07-23 16:27:22 -07:00
Ryan McKinley
ad5f1c953b Graph: support setting field units (#26529) 2020-07-23 11:00:19 -07:00
Patrik Karlström
43ef052d57 cloudwatch: Consolidate client logic (#25555)
* cloudwatch: Consolidate client logic

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-23 18:52:22 +02:00
Kim Nürnberger
80edbbe314 Docs: Add dependencies for debian buster to image rendering plugin (#26452) 2020-07-23 09:47:40 -07:00
Ivana Huckova
44f0200a58 Fix self cloosing bracket to display input (#26552) 2020-07-23 16:37:00 +02:00
Arve Knudsen
102448040d SQLite: Set 0640 permissions on SQLite database file (#26339)
* SQLite: Set 640 permissions on SQLite database file
2020-07-23 15:47:26 +02:00
Andrej Ocenas
37aa35ca45 Docs: Remove TODO from the CloudWatch docs (#26543) 2020-07-23 13:46:13 +02:00
Ruan Bekker
b972963934 Cloudwatch: Add af-south-1 region (#26513)
* Adds af-south-1 region to cloudwatch datasource

* Fix test

Co-authored-by: Sofia Papagiannaki <papagian@gmail.com>
2020-07-23 14:02:25 +03:00
Agnès Toulet
2e931a0ee1 LDAP: fix LDAP test with special chars in username (#26539) 2020-07-23 12:42:30 +02:00
Agnès Toulet
1ba95183f6 HTTPServer: add possibility to use additional middlewares (#26514) 2020-07-23 09:54:07 +02:00
Yuriy Vidineev
b12d08d9de change the year in email templates (#26507) 2020-07-23 10:25:39 +03:00
Arve Knudsen
415638cdda Chore: Use interfaces where possible (#26392)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-23 08:17:20 +02:00
Arve Knudsen
3a8854b1b9 API: Recognize dashboard errors when saving a folder (#26499)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-23 08:15:47 +02:00
Arve Knudsen
4c56eb3991 Chore: Enable goprintffuncname and nakedret linters (#26376)
* Chore: Enable goprintffuncname linter
* Chore: Enable nakedret linter

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-23 08:14:39 +02:00
Diana Payton
9b17fe436c Update documentation-style-guide.md (#26534) 2020-07-22 14:52:16 -07:00
Diana Payton
e30f6b4e40 Docs: Update export_import.md (#26141) 2020-07-22 09:59:19 -07:00
Zoltán Bedi
cd8049d8a3 Add errorIconColor prop to TraceSpanData (#26509) 2020-07-22 18:52:00 +02:00
Diana Payton
d0e15561c7 Docs: Put curl examples into separate topic (#26530) 2020-07-22 09:48:10 -07:00
Diana Payton
975e9d665e Docs: Update share_dashboard.md (#26140) 2020-07-22 09:09:23 -07:00
Alexander Zobnin
183f767e18 Docs: add report grid layout option description (#26520) 2020-07-22 19:02:40 +03:00
Josh Soref
7d08a8497a Chore: fix spelling of GitHub (#26182)
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-22 08:12:50 -07:00
Diana Payton
a13a9e2ef6 Docs: Add data source, interval, and ad hoc variable tasks (#26504)
* Create add-data-source-variable.md

* Update templates-and-variables.md

* Update menu.yaml

* Update add-interval-variable.md

* Update menu.yaml

* Update templates-and-variables.md

* Update add-interval-variable.md

* Update add-interval-variable.md

* ad hoc filters

* Update templates-and-variables.md

* Update templates-and-variables.md

* Update add-ad-hoc-filters.md
2020-07-22 08:11:52 -07:00
Zoltán Bedi
7b218b7198 Explore: parse queryType from explore url (#26349)
* Explore: parse queryType from explore url

* Modify explore.ts parse logic
2020-07-22 16:36:53 +02:00
Zoltán Bedi
ba50e96544 Jaeger: Add stack trace to span detail row (#26427)
* Add stack trace to span detail row

* Modify accordian text not to have a whitespace

* Modify stackTrace to stackTraces

* Modify AccordianText ti get text component as prop

* Fix typecheck and test failure

* Span details text area do not wrap line
2020-07-22 16:14:34 +02:00
waqark3389
fabd879cbe CloudWatch: Add FreeStorageCapacity (#26503)
* Add FreeStorageCapacity metric in AWS/FSx namespace
2020-07-22 16:11:53 +02:00
Torkel Ödegaard
7417ff015d Dashboard: Fix empty panels after scrolling on Safari/iOS (#26495) 2020-07-22 13:42:29 +02:00
kay delaney
8584c2d2d5 DataSourceSettings: Hide custom HTTP header options when access mode is browser (#26481)
Closes #26422
2020-07-22 12:40:52 +01:00
Ivana Huckova
85f3a999f3 Fix matrics comparison to know when to refresh (#26382) 2020-07-22 13:29:30 +02:00
Arve Knudsen
f9239a4d6c Chore: Upgrade build pipeline tool (#26510)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-22 13:00:18 +02:00
Diana Payton
358c2d7031 Docs: Add cURL examples to folder_dashboard_search.md (#26461)
* Update folder_dashboard_search.md

* Update docs/sources/http_api/folder_dashboard_search.md

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>

* Update docs/sources/http_api/folder_dashboard_search.md

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update docs/sources/http_api/folder_dashboard_search.md

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>

* Update docs/sources/http_api/folder_dashboard_search.md

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update folder_dashboard_search.md

* Update folder_dashboard_search.md

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-21 13:27:49 -07:00
Marcus Olsson
2613ed85a6 Docs: Fix inconsistencies in plugin guide for annotations (#26480) 2020-07-21 12:51:38 -07:00
Diana Payton
03d97788ab Docs: Update postgres.md (#26467)
* Update postgres.md

* Update docs/sources/features/datasources/postgres.md

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-21 08:33:23 -07:00
Diana Payton
bd7c26257d Docs: Add variable topics - custom, constant, text box (#26471)
* moved some content into other topics

* Update variable-value-tags.md

* Update variable-selection-options.md

* Update add-query-variable.md

* Update templates-and-variables.md

* Create add-custom-variable.md

* Update menu.yaml

* Update templates-and-variables.md

* Update templates-and-variables.md

* editing content

* Create add-text-box-variable.md

* added links

* content updates

* update-content

* Update templates-and-variables.md

* Update menu.yaml

* Update add-constant-variable.md

* Update add-constant-variable.md

* Update docs/sources/variables/add-query-variable.md

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update docs/sources/variables/variable-value-tags.md

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update docs/sources/variables/variable-value-tags.md

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update docs/sources/variables/variable-value-tags.md

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-21 08:33:10 -07:00
Kyle Brandt
fb5ff6a70f Azure: Insights metrics - do not sort if no data (#26486)
fixes #26473
2020-07-21 10:24:55 -04:00
gastonqiu
f427f90a45 Chore: Aggregate save dashboard error (#26443)
* Chore: Aggregate save dashboard error
* Use errors package for error detection

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2020-07-21 11:12:01 +02:00
kay delaney
3c72b2f988 Units: Allow re-scaling nanoseconds up to days (#26458)
Closes #26428
2020-07-21 09:06:59 +01:00
Ivana Huckova
8663f1b323 Docs: Time regions add info about UTC timezone (#26407)
* Add UTC info to docs

* Revert formaatting
2020-07-21 09:41:00 +02:00
stephffuller
bc3220cdc0 Docs: Update Azure instructions (#26337)
* Docs: Update Azure instructions

Update Azure instructions to match new Azure UI

* Update docs/sources/auth/azuread.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/auth/azuread.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/auth/azuread.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/auth/azuread.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update azuread.md

* Update azuread.md

* Apply suggestions from review

Co-authored-by: Kyle Brandt <kyle@kbrandt.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Kyle Brandt <kyle@kbrandt.com>
2020-07-20 12:39:23 -07:00
Ryan McKinley
5d09e4539c Azure: convert azure units to grafana units (#26429) 2020-07-20 12:29:13 -07:00
Arve Knudsen
c208c7cabe Remove repo trigger filter (#26465)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-20 20:51:13 +02:00
Daniel Lee
5a885ce26c docs: customMetricsNamespaces for Cloudwatch provisioning (#26457) 2020-07-20 16:58:20 +02:00
kay delaney
6ccba48ee6 Datasources list: Search now respects datasource type (#26456)
Closes #26399
2020-07-20 15:49:20 +01:00
Alex Khomenko
9c3f47aa23 Grafana-UI: Pass timeZone to TimePickerButtonLabel (#26454) 2020-07-20 16:57:14 +03:00
Zoltán Bedi
43033ddf74 Jaeger: upstream fix for hovering on log lines (#26426)
* Jaeger: upstream fix for hovering on log lines

* Modify active style to change border color only
2020-07-20 13:16:02 +02:00
Torkel Ödegaard
fba329f3ac BackendSrv: Fix error alert logic (#26453) 2020-07-20 11:31:51 +02:00
Arve Knudsen
9486f960d1 Docs: Fix documentation about dashboards.default_home_dashboard_path (#26445)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-20 10:05:48 +02:00
Maksim Nabokikh
a1f40195be Provisioning: Validate that datasource access field equals to direct or proxy (#26440)
* Validate that datasource access field equals to allowed value (direct or proxy)
2020-07-20 10:01:25 +02:00
Arve Knudsen
c298653623 Drone: Use base64 encoded GCP key (#26438)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-18 17:31:47 +02:00
Arve Knudsen
e4be332b78 Drone: Protect GCP_KEY (#26436)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-18 14:38:23 +02:00
Ben RUBSON
c65cef2327 Branding: Use AppTitle as document title (#26425)
* Branding: Use AppTitle as document title

* Missing Branding include
2020-07-17 22:07:42 +02:00
Marcus Efraimsson
44d4e63d6f Docs: Alert notification channel secure settings and provisioning (#26420)
* Docs: Alert notification channel secure settings and provisioning

* Update docs/sources/installation/upgrading.md

* Update docs/sources/installation/upgrading.md

* Update docs/sources/installation/upgrading.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-17 11:35:36 -07:00
Diana Payton
a85bbee6f6 Update whats-new-in-v5.md (#26297)
Fixec broken link
2020-07-17 19:11:28 +02:00
Dominik Prokop
718b78c4ce Bring back scripts evaluation in TextPanel (#26413) 2020-07-17 18:00:58 +02:00
Arve Knudsen
1d21f3aec5 Drone: Fix master builds (#26414)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-17 17:47:07 +02:00
Daniel Lee
21a02b557a docs: updates to whats new 7.1 (#26410)
* docs: updates to whats new 7.1

Added some missing features, fixed links and rewrote some sentences.

* Update docs/sources/guides/whats-new-in-v7-1.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/guides/whats-new-in-v7-1.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/guides/whats-new-in-v7-1.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/guides/whats-new-in-v7-1.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/guides/whats-new-in-v7-1.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-17 17:34:27 +02:00
Arve Knudsen
01afa76cce Drone: Fix master builds (#26409)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-17 17:20:25 +02:00
Torkel Ödegaard
3c1346d83a BackendSrv: Fix error alert logic (#26411) 2020-07-17 17:01:21 +02:00
Agnès Toulet
903c76415c Docs: Add how to replace home dashboard (#26237)
* Docs: how to replace home dashboard

* add overrides explanation

* change home dashboard v2

* Apply feedback for home dashboard doc

* home dashboard doc v3

* Apply feedback on home dashboard doc
2020-07-17 15:43:09 +02:00
Arve Knudsen
f003e3b009 Drone: Fix StoryBook build (#26408)
* Drone: Fix StoryBook build

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Fix StoryBook publishing

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-17 15:30:43 +02:00
Mitsuhiro Tanda
528a61b86b Alerting: Store sensitive settings encrypted for alertmanager notifier (#26318)
Ref #25967
2020-07-17 13:56:06 +02:00
Marcus Efraimsson
7969d6645a Provisioning: Support alert notification channel secure settings (#26168)
Closes #25968
2020-07-17 13:54:01 +02:00
Arve Knudsen
8746a77407 Drone: Enable master branch testing (#26367)
* Drone: Refactor

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Add master pipeline

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-17 13:52:09 +02:00
Arve Knudsen
a03177e960 Chore: Enable misspell linter (#26393)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-17 13:44:33 +02:00
Alex Khomenko
7b183971fd Grafana-UI: Enable empty time range (#26320)
* Grafana-UI: Enable empty time range

* Grafana-UI: Add clearable prop

* Grafana-UI: Update types

* Grafana-UI: Use InputTimeRange type

* Grafana-UI: Remove InputTimeRange type

* Grafana-UI: Fix clear icon hover color
2020-07-17 14:04:05 +03:00
kay delaney
f93c289fed Datasource/CloudWatch: Fix some react errors (#26236) 2020-07-17 11:10:32 +01:00
Besart Berisha
373e869652 Explore: show meta data when available (#25798)
* Return valid metadata even if data is empty

* Make sure fields is not accessed when there is no data

* Meta Info should depend only on meta data

* Refactor condition for better reading

* Change data to empty array for better condition handling

* Remove unecessary checks

* Add test for showing metaData even when data is empty
2020-07-17 10:30:27 +02:00
Anton Dollmaier
7a11ed91cb Docs: Fix markdown typos (#26386)
fixed some markdown code format in the debian install docs.
2020-07-16 15:55:50 -07:00
Kyle Brandt
5f0be93e47 docs: fix broken markdown link in 7.1 what is new (#26379) 2020-07-16 12:24:18 -04:00
Dan Cech
85f6addfd3 Update getting started link (#26374) 2020-07-16 11:27:08 -04:00
Dominik Prokop
e5b6e641ec Update latest.json to 7.1.0 2020-07-16 17:17:14 +02:00
Dominik Prokop
5eefbab59b Update CHANGELOG.md 2020-07-16 16:21:09 +02:00
Dominik Prokop
d0e6822a81 Update CHANGELOG.md 2020-07-16 16:21:09 +02:00
Dominik Prokop
06c14a10dc Update CHANGELOG.md 2020-07-16 16:21:09 +02:00
Dominik Prokop
523c651c63 Update CHANGELOG.md 2020-07-16 16:21:09 +02:00
Dominik Prokop
5d3ff8f00b Update changelog for 7.1.0 2020-07-16 16:21:09 +02:00
kay delaney
1124da56d6 Queries: Move explore state out of query targets (#26203)
* Datasource/CloudWatch: Interal vars no longer sent with query requests

Closes #26202
2020-07-16 14:00:28 +01:00
Arve Knudsen
d4e4cb4c71 Chore: Enable Go linter gocritic (#26224)
* Chore: Enable gocritic linter

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-16 14:39:01 +02:00
Jérome Perrin
317c7b269c Emails: use https for links and images (#25957)
* emails: use an https image for the logo

Some mail clients do not like http images.

* emails: use an https:// link for "getting started"

* email: doc.grafana.com for Getting Started link

review suggestions from https://github.com/grafana/grafana/pull/25957

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2020-07-16 12:06:39 +02:00
Mitsuhiro Tanda
92767f00e0 Alerting: Store sensitive settings encrypted for pagerduty notifier (#26319)
Store pagerduty integration key in secure setting.

Ref #25967
2020-07-16 10:53:35 +02:00
Marcus Efraimsson
b97d1f4170 Provisioning: Fix bug when provision app plugins using Enterprise edition (#26340)
In OSS provisioning service init after plugin registration, but in
Enterprise it's the opposite order and installed app plugin check
fails. This adjusts service registry init priority to make sure plugins
are registered before provisioning inits.

Which issue(s) this PR fixes:
Fixes #26336
2020-07-16 10:36:08 +02:00
Arve Knudsen
35f7f7b50a Drone: Rename publish-storybook to build-storybook (#26360)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-16 09:25:07 +02:00
Torkel Ödegaard
6619cc4b81 Loki: Fix error handling (#26291)
* Loki: Fix error handling

* Keep custom error processing for escaping

* Fix failing test

Co-authored-by: Ivana <ivana.huckova@gmail.com>
2020-07-16 07:45:26 +02:00
Kyle Brandt
cdec395fef Docs: Time series dimensions and labels (#26299)
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-15 16:29:00 -04:00
Kyle Brandt
c980f37509 Azure: Insights Analytics, fix possible panics and return error body (#26361)
missing return statements can result in panic
2020-07-15 15:55:10 -04:00
Ivana Huckova
21971a4df8 Update bg color based on theme (#26359) 2020-07-15 20:27:28 +02:00
Arve Knudsen
5fe27ee959 Fix back-end tests on Windows (#26355)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-15 20:09:03 +02:00
Zoltán Bedi
5046e54918 Suggestion: render documentation as markdown in suggestion's info (#25953)
* Panel: render documentation as markdown in TypeaheadInfo

* Modify TypeaheadInfo to sanitize markdown output
2020-07-15 19:05:51 +02:00
Sofia Papagiannaki
9d8ae39108 Cloud monitoring: Add query parameter (#26354) 2020-07-15 19:31:17 +03:00
Diana Payton
42dfdabdba Docs: Update license-expiration.md (#26344) 2020-07-15 07:47:02 -07:00
Kyle Brandt
590702c497 Azure: Handle real type nan/inf values in Log/Insights Analytics (#26342)
Before this, if the user were to divide by 0.0, "Infinity" would be returned in the result and the user would get an error: "unexpected type, expected json.Number but got string". Now these values are properly set as Inf values (and also made sure to handle NaN as well).
2020-07-15 09:39:41 -04:00
Ivana Huckova
3fd810417f Elasticsearch: Create Raw Doc metric to render raw JSON docs in columns in the new table panel (#26233)
* test

* WIP: Create v2 version

* Update tests, remove conosole logs, refactor

* Remove incorrect types

* Update type

* Rename legacy and new metrics

* Update

* Run request when Raw Data tto Raw Document switch

* Fix size updating

* Remove _source field from table results as we are showing each source field as column

* Remove _source just for metrics, not logs

* Revert "Remove _source just for metrics, not logs"

This reverts commit 611b6922f7.

* Revert "Remove _source field from table results as we are showing each source field as column"

This reverts commit 31a9d5f81b.

* Add vis preference for logs

* Update visualisation to logs

* Revert "Revert "Remove _source just for metrics""

This reverts commit a102ab2894.

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-07-15 15:20:39 +02:00
Ivana Huckova
5b2ff4498e Docs: Add derived field datasourceUid information (#26285)
* Add datasourceUid info

* Revert "Add datasourceUid info"

This reverts commit 84dce1dcfd.

* Add datasourceUid info

* Update docs/sources/features/datasources/loki.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update derived fields info

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-15 14:22:19 +02:00
Dominik Prokop
dd3fcab144 Update whats new article with info about time zone selection (#26341) 2020-07-15 11:54:03 +02:00
kay delaney
1de810b26a Docs: Add info about logs/metrics unification to What's New docs (#26325)
* Docs: Add info about logs/metrics unification to What's New docs

* Apply suggestions from code review

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-15 10:34:16 +02:00
Alex Khomenko
208f95a76c Admin: Update org list after delete (#26277) 2020-07-15 10:35:00 +03:00
Torkel Ödegaard
23e93175d1 DashboardLinks: do not over-query search endpoint (#26311)
* DashboardLinks: WIP fix for dashboard links issue

* Make the dashboard links update on change(hacky)

* Replace dashboard links with new array when updating/adding dash links

* Update snaps

* Deep clone dashboard links on save

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-07-15 09:18:35 +02:00
stephffuller
9c0536c2f7 Docs: Update debian.md (#26332) 2020-07-14 14:07:19 -07:00
Ryan McKinley
1f271d06e9 InfluxDB: flux query result can cause crash (#26329) 2020-07-14 11:06:27 -07:00
Andreas Opferkuch
72cd9a3222 ThemeContext: Fix useStyles memoization (#26200) 2020-07-14 17:16:14 +02:00
Emil Tullstedt
6b6e477846 Docs: License expiration for Vault (#26229) 2020-07-14 14:09:52 +02:00
Arve Knudsen
9360d96f13 Drone: Tighten grafana-enterprise access to token (#26321)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-14 13:31:26 +02:00
Dominik Prokop
187612ca8d SignIn button - use correct url (#26239)
* SignIn button - use correct url

* Fix SignIn test (#26266)

* Don't use absolute URL

* post review

* Fix snap

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2020-07-14 12:56:55 +02:00
kay delaney
54ad5b869e CloudWatch Logs: Fixes grouping of results by numeric field (#26298)
* CloudWatch Logs: Fixes grouping of results by numeric field
Closes #25721
2020-07-14 11:13:03 +01:00
Zoltán Bedi
7bbfb57dd1 PluginsListPage: More plugins button should open in new window (#26305)
Fixes #24622
2020-07-14 10:26:25 +02:00
Mitsuhiro Tanda
077aec465c Implicit import symbol-observable to avoid inconsistent symbol (#26288) 2020-07-14 09:25:17 +02:00
Arve Knudsen
c863fd3da9 CloudWatch: Clean up code (#26259)
* CloudWatch: Clean up code
2020-07-14 08:23:23 +02:00
Diana Payton
747bdaf2e7 Docs: Add chained variables (#26218)
* Create chained-variables.md

* Update chained-variables.md

* Update chained-variables.md

* Update chained-variables.md

* Update menu.yaml

* Update chained-variables.md

* Update templates-and-variables.md

* Update docs/sources/variables/chained-variables.md

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

* applied edits

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-07-13 14:07:59 -07:00
Ryan McKinley
07f8178995 InfluxDB: include sample response data for each test case (#26248) 2020-07-13 11:15:36 -07:00
Kyle Brandt
d28b62740b Docs: Flux support in influxdb data source in 7.1 (#25551)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-13 14:15:09 -04:00
Harrison Shoff
e63028e8c6 AdminUsers: reset page to zero on query change (#26293) 2020-07-13 20:01:48 +02:00
Kyle Brandt
d91e73713d Docs: Azure update kusto doc link (#26246)
as per, and fixes #25339
2020-07-13 13:35:46 -04:00
Diana Payton
9e8af660f5 Docs: Add a query variable topic (#25852)
* Update global-variables.md

* Create _index.md

* Create add-query-variable.md

* added variable task files

* Update templates-and-variables.md

* added content

* content edits

* Update formatting-multi-value-variables.md

* added content and updated menu

* Update add-query-variable.md

* applied edits

* Update docs/sources/variables/formatting-multi-value-variables.md

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

* Update docs/sources/variables/formatting-multi-value-variables.md

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

* Update docs/sources/variables/formatting-multi-value-variables.md

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

* applied edits

* Update docs/sources/variables/filter-variables-with-regex.md

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

* Update docs/sources/variables/formatting-multi-value-variables.md

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

* Update docs/sources/variables/formatting-multi-value-variables.md

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

* Update formatting-multi-value-variables.md

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-07-13 09:35:13 -07:00
Arve Knudsen
cabcbf6f8d Chore: Update latest.json (#26301)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-13 18:18:02 +02:00
Arve Knudsen
fc56c6ba04 Update changelog (#26296)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-13 17:14:41 +02:00
Dieter Plaetinck
5f78f49e67 Docs: Document jaeger tracing instrumentation (#21392)
Document jaeger tracing instrumentation.

Co-Authored-By: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-07-13 17:09:08 +02:00
Sofia Papagiannaki
20b603ee1a Alerting: New feature toggle for enabling standalone alerts (#25984)
* Add feature toggle for standalone alerts

* Add IsStandaloneAlertsEnabled exported func
2020-07-13 18:04:42 +03:00
Arve Knudsen
c5bdea5cec Chore: Upgrade build pipeline tool; refactor Drone config (#26292)
* Upgrade grabpl; refactor Drone config
2020-07-13 16:43:56 +02:00
Arve Knudsen
9b6b0cad21 CircleCI: Disable for PRs (#26290)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-13 15:24:16 +02:00
Peter Holmberg
7cdbae4ae6 Fix: Make the JSON in JSONCell Tooltip more visible (#26048)
* add white background to tooltip component

* remove faulty background

* new theme for tooltip

* correct colors, remove custom box-shadow

* rename theme and add documentation

* use useStyles for style memo
2020-07-13 13:52:28 +02:00
Arve Knudsen
bbe8cc4c84 Chore: Upgrade go-mssqldb (#26188)
* Chore: Upgrade go-mssqldb

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Apply feedback from reviews

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-13 13:19:40 +02:00
Zoltán Bedi
0dd2bc8953 Prometheus: Fix prom links in mixed mode (#26244)
* Prometheus: Fix prom links in mixed mode

* Modify PromLink with code style changes
2020-07-13 13:14:50 +02:00
Torkel Ödegaard
b1e48f429f BarGauge: Fixed width of unfilled region not being correct when value is close to 100% (#26193)
* BarGauge: Fixed width of unfilled region not being correct when value is close to 100%

* removed accidental change

* updated snapshot
2020-07-13 12:53:59 +02:00
Ivana Huckova
95bf064776 Chore: Fix failing master due to strictNullCheck error (#26283)
* Fix typecheck error on master

* Fix typecheck error on master
2020-07-13 12:20:18 +02:00
Ivana Huckova
73468e1481 Jaeger/Zipkin: URL-encode service names and trace ids for API calls (#26115)
* Encode services and id

* Encode URL for Zipkin API calls

* Add test coverage
2020-07-13 10:54:01 +02:00
Kamal Galrani
c136f7da39 removes erroneous $ (#26257) 2020-07-13 09:35:40 +03:00
Kamal Galrani
f4b6abb05e fixes footer inconsistency (#26255) 2020-07-11 11:50:25 +02:00
Kamal Galrani
6a0f530fdf fixes spelling error (#26253) 2020-07-11 08:56:02 +02:00
Ryan McKinley
5f8eb93db1 AppPlugin: give full control to page layout when navigation is missing (#26247) 2020-07-10 11:57:09 -07:00
Ryan McKinley
33acf4c056 Flux: use monaco query editor (#26179) 2020-07-10 10:07:36 -07:00
Kyle Brandt
c1ede4fc71 backend: use latest go plugin sdk (0.74.0) to sort wide frames (#26207)
This makes it so results are more stable between refreshes of data and fixes sorting issues with Azure Application Insights service as well as the two Azure Analytics services.

fixes #22937
2020-07-10 12:22:50 -04:00
Arve Knudsen
396ff9f478 Drone: Disable enterprise build for PRs (#26241)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-10 17:24:12 +02:00
Ivana Huckova
6d8545da63 Elastic: Fix error "e.buckets[Symbol.iterator] is not a function" when using filter (#26217)
* Add bucket to array if it is not in array

* Fix issue one level above

* Rename variable

* Move array check to processAggregationDocs
2020-07-10 17:04:05 +02:00
Arve Knudsen
d28d495235 Chore: Enable PR testing in Drone (#26189)
* Add Drone configuration

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add more steps

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add more steps

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Build front-end before testing it

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Upgrade grafana/build-container

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add packaging step

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Trigger on push

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove some steps

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Enable steps

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Install Dockerize

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use node image for test-frontend

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Increase number of test workers

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Make plugin installation depend on frontend tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Make integration tests depend on frontend tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use grafana/build-container also for front-end tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Upgrade dependencies in order to fix front-end tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Depend on es-check

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Dont' depend on tests before building front-end

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add more steps

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix packaging

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Simplify

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Try to build images

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix e2e tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove steps

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Install netcat

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Include golangci-lint with grafana/build-container

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Build storybook and docs website

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix e2e tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use build image with root user

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drop CircleCI dependencies

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix e2e tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix e2e under Drone

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Execute e2e server separately

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use own plugin for building Docker images

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use Starlark to configure Drone

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add enterprise steps to pipeline

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add more enterprise steps to pipeline

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Maintain Yarn cache

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Build enterprise Docker images

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Build Ubuntu Docker images

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Refactor

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add Postgres integration test

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add MySQL integration test

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix integration tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Parameterize integration test DB connections

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Categorize integration tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use grabpl integration-tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove unintended change

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Disable Ubuntu Docker images for PR pipeline

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Regenerate yarn.lock

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Upgrade grabpl

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Restore Yarn cache before installing in grafana-enterprise

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use separate pipelines for OSS and enterprise

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Let OSS builds depend on tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Restore Go cache before building back-end

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Reduce number of variants built for PRs

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix building of Docker images

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Simplify logic

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Use Starlark

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Fix syntax error

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Convert .drone.star to YAML

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Upgrade AWS Go SDK

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Drone: Fix Go linting

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Undo irrelevant changes

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Revert "Undo irrelevant changes"

This reverts commit 5152f65972.

* Undo irrelevant changes

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* e2e: Support Circle

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove unused script

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* TypeScript fixes

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* TypeScript fixes

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove unused script

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* More Drone support

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove unused script

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix build on Circle

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove TODO comment

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-10 16:09:21 +02:00
kay delaney
1391575853 Chore: Removes some unneeded console logging and changes logs to errors (#26235) 2020-07-10 15:07:04 +01:00
Alex Khomenko
718d6fb25d Grafana-UI: Add time range input (#26158)
* Grafana UI: Do not submit form on range change

* Grafana UI: Add TimeRangeInput

* Grafana UI: Style input

* Grafana UI: Customize content

* Grafana UI: Adjust caret style

* Grafana UI: Add mdx

* Grafana UI: Fix caret styles

* Grafana UI: Fix typo

* Grafana UI: Do not reload page on timerange change

* Grafana UI: Sync TimeRangeForm state with external value

* Grafana UI: Close overlay on apply

* Grafana UI: Remove unused props

* Grafana UI: Fix story

* Grafana-UI: Make time zone optional

* Grafana-UI: Update styles

* Grafana-UI: Extract button label props

* Grafana-UI: hideHistory => showHistory

* Grafana-UI: Fix caret styles
2020-07-10 14:45:49 +03:00
Torkel Ödegaard
8f78b0e7bc Chore: Fix all Typescript strict null errors (#26204)
* Chore: Fix typescript strict null errors

* Added new limit

* Fixed ts issue

* fixed tests

* trying to fix type inference

* Fixing more ts errors

* Revert tsconfig option

* Fix

* Fixed code

* More fixes

* fix tests

* Updated snapshot

* Chore: More ts strict null fixes

* More fixes in some really messed up azure config components

* More fixes, current count: 441

* 419

* More fixes

* Fixed invalid initial state in explore

* Fixing tests

* Fixed tests

* Explore fix

* More fixes

* Progress

* Sub 300

* Now at 218

* Progress

* Update

* Progress

* Updated tests

* at 159

* fixed tests

* Progress

* YAy blow 100! at 94

* 10,9,8,7,6,5,4,3,2,1... lift off

* Fixed tests

* Fixed more type errors

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2020-07-10 12:46:59 +02:00
Ryan McKinley
3d98641a45 DataLinks: add internal flag in comments (#26215) 2020-07-09 14:35:31 -07:00
Josh Soref
7752434d11 Docs: Use current spelling for macOS (#26181) 2020-07-09 08:06:04 -07:00
Tobias Skarhed
5a3eb413d9 Issue Template: @grafana/ui component request (#25981)
* Add first draft of issue template

* Remove feature request line

* Update PR feedback

* Minor tweaks

* Update .github/ISSUE_TEMPLATE/4-grafana_ui_component.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Fix punctuation

Co-authored-by: Clarity-89 <homes89@ukr.net>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-09 18:00:28 +03:00
Robby Milo
429c4c903b add plugin aliases (#26206) 2020-07-09 07:42:04 -07:00
Diana Payton
26cf3d9c66 Docs: Update debian.md (#26100)
* Update debian.md

* Revert "Update debian.md"

This reverts commit 063c1f09d9.

* Update debian.md

* Update debian.md

* Update debian.md

* Update docs/sources/installation/debian.md

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-09 07:25:10 -07:00
Andrej Ocenas
64bc85963b Explore: Unification of logs/metrics/traces user interface (#25890)
Removes "Metrics"/"Logs" mode switcher from Explore, allowing for both
metrics and logs queries at the same time.

Co-authored-by: kay delaney <kay@grafana.com>
2020-07-09 15:14:55 +01:00
Marcelo Nunes Alves
be961c5466 Elasticsearch: Fix using multiple bucket script aggregations when only grouping by terms (#24064)
* In the parser when it was configurate more bucket it put the formula in name column

* Tests

* Tests

* Tests

* Tests

* Tests

* Tests

* Process/Tests - backend (Go)

* Update pkg/tsdb/elasticsearch/response_parser.go

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

* reverse

* Update pkg/tsdb/elasticsearch/response_parser.go

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

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-07-09 15:21:19 +02:00
Torkel Ödegaard
49b5fc4b9a Chore: More typescript strict null fixes, going for sub 200 (#26134)
* Chore: Fix typescript strict null errors

* Added new limit

* Fixed ts issue

* fixed tests

* trying to fix type inference

* Fixing more ts errors

* Revert tsconfig option

* Fix

* Fixed code

* More fixes

* fix tests

* Updated snapshot

* Chore: More ts strict null fixes

* More fixes in some really messed up azure config components

* More fixes, current count: 441

* 419

* More fixes

* Fixed invalid initial state in explore

* Fixing tests

* Fixed tests

* Explore fix

* More fixes

* Progress

* Sub 300

* Now at 218

* Progress

* Update

* Progress

* Updated tests

* at 159

* fixed tests

* Fixed test
2020-07-09 15:16:35 +02:00
Arve Knudsen
9285595c50 tsdb/postgres: Support Unix socket for host (#25778)
* tsdb/postgres: Support Unix socket for host

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix host regex

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix host regex

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove panic

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix host parsing; add tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add test

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Use strings.HasPrefix to detect Unix socket host

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove debug logging

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Escape single quotes and backslashes

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Test generateConnectionString as requested in review

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Add test case for SSL mode

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-09 14:57:09 +02:00
Peter Holmberg
9948e9298f Fix: Redirect to correct url after creating a folder (#26160) 2020-07-09 14:38:47 +02:00
kay delaney
2ac1bfcc79 Datasource/CloudWatch: More robust handling of different query modes (#25691)
* Datasource/CloudWatch: More robust handling of different query modes
A small refactor which changes how the CloudWatch datasource handles
multiple queries with different query modes. Groundwork for future
Logs/Metrics unification work.
2020-07-09 13:11:13 +01:00
Torkel Ödegaard
ddcc0c3c80 Update latest.json 2020-07-09 13:47:51 +02:00
Arve Knudsen
e9e74040ea CircleCI: Upgrade grabpl (#26196)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-09 12:17:35 +02:00
Torkel Ödegaard
be7bc293a1 Release: Update changelog with 7.0.6 2020-07-09 12:00:16 +02:00
Andrej Ocenas
53eb856d20 Explore: Run query on splitOpen action (#26161) 2020-07-09 11:21:45 +02:00
Torkel Ödegaard
0428f27194 Templating: Fix recursive loop of template variable queries when changing ad-hoc-variable (#26191)
* Templating: Fix url sync issue with adhoc variables

* Update packages/grafana-ui/src/components/Segment/SegmentAsync.tsx

* Update packages/grafana-ui/src/components/Segment/SegmentAsync.tsx

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-07-09 10:14:28 +02:00
Ivana Huckova
d3dcb19a5b Loki: Improve error message for unescaped \ and add LogQL link to docs (#26136)
* Add custom escaping error message

* Include regex escape error message

* Update docs, add logql link

* Refactor
2020-07-09 10:13:41 +02:00
Sofia Papagiannaki
45cfb3451b Upgrade build pipeline tool (#26165)
* Upgrade build pipeline tool

* Update config.yml

* Remove edition parameter from deploy-to-kubernetes
2020-07-09 10:21:39 +03:00
Torkel Ödegaard
7b80e300d9 BarGauge: Fix space bug in single series mode (#26176) 2020-07-09 09:18:05 +02:00
Torkel Ödegaard
2191fe1285 DataSourceWithBackend: Switch to new Observable fetch api (#26043)
* BackendSrv: Observable all the way POC

* starting to unify code paths

* tests pass

* Unified error handling

* Single request path and error handling

* Fixed ts issue

* another ts issu

* Added back old requestId cancellation

* Slow progress trying to grasp the full picture of cancellation

* Updates

* refactoring

* Remove a bunch of stuff from backendSrv

* Removed another function

* Do not show error alerts for data queries

* Muu

* Updated comment

* DataSourceWithBackend: Switch to new Observable fetch api

* fixed ts issue

* unify request options type

* Made query inspector subscribe to backendSrv stream instead of legacy app events

* Add back support for err.isHandled to limit scope

* never show success alerts

* Updated tests

* use ovservable in test

* remove processResponse

* remove processResponse

* trying to get tests to pass :(

* no need for the extra tests

* Fixed processsing

* Fixed tests

* Updated tests to mock fetch call

* lint fixes

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2020-07-09 07:32:39 +02:00
Tim Schwenke
4df441f822 Docs: Update azuread.md to reflect Azure Portal Interface (#25420) 2020-07-08 16:30:15 -07:00
Kyle Brandt
c6a3afb4b8 Docs: Azure Monitor data source changes for 7.1 (#26096)
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-08 15:47:00 -04:00
Marcus Efraimsson
c91e5adfcc Alerting: Don't encrypt username for webhook notifier (#26170)
Can be hard for users to understand what user is configured
when encrypting the username field why this reverts to
store the username in cleartext.
Also, we don't encrypt username for data sources.

Ref #25967
2020-07-08 19:13:59 +02:00
Marcus Efraimsson
3223d4b419 Alerting: Store sensitive settings encrypted for webhook notifier (#26164)
Store sensitive settings (username and password) encrypted for webhook notifier.

Ref #25967
2020-07-08 17:46:34 +02:00
Jess
f242840275 Create ConfirmButton.mdx (#26113)
add docs to ConfirmButton element
2020-07-08 18:29:33 +03:00
Oana Mangiurea
ea33668014 Update TextArea.mdx (#26159)
Add additional information in docs to textarea component
2020-07-08 18:06:08 +03:00
Oana Mangiurea
84bf94709e Created Legend.mdx (#26146)
Add simple docs to legend component

Signed-off-by: Oana <oana.mangiurea@gmail.com>
2020-07-08 18:05:42 +03:00
Jess
14209c0ed1 Create Badge.mdx (#26114) 2020-07-08 18:05:18 +03:00
Jess
6d4f72cd04 Create Slider.mdx (#26149)
add simple documentation for slider component
2020-07-08 18:05:01 +03:00
kay delaney
fd29b952a6 Backend: use latest Go plugin SDK (#26162) 2020-07-08 15:26:49 +01:00
Torkel Ödegaard
cace879c96 Templating: Fixed recursive queries triggered when switching dashboard settings view (#26137)
* Templating: Fixed recursive queries triggered when going into dashboard settings

* Fixed unused import

* use locationUtil
2020-07-08 13:22:09 +02:00
Torkel Ödegaard
8ab5d2ddd9 Dashboard: Refresh intervals should not always add the server min refresh interval (#26150) 2020-07-08 13:21:12 +02:00
Marcus Andersson
17d87071e6 Transform: adding missing "table"-transform and "series to rows"-transform to Grafana v7-transforms. (#26042)
* Fixed so the merge for table values works as it did before.

* wip

* fixed tests.

* merge tests are green.

* removed unused code and simplify the seriesToRows.

* added time series to rows editor.

* using getFrameDisplayName for the metric value.

* updated description of transforms.

* updated docs.

* fixed according to feedback.

* changed from images to markdown tables for the examples.

* forgot to save :P
2020-07-08 12:40:05 +02:00
Torkel Ödegaard
fd44c01675 Chore: Fix typescript strict null fixes now at 298 (#26125)
* Chore: Fix typescript strict null errors

* Added new limit

* Fixed ts issue

* fixed tests

* trying to fix type inference

* Fixing more ts errors

* Revert tsconfig option

* Fix

* Fixed code

* More fixes

* fix tests

* Updated snapshot

* Chore: More ts strict null fixes

* More fixes in some really messed up azure config components

* More fixes, current count: 441

* 419

* More fixes

* Fixed invalid initial state in explore

* Fixing tests

* Fixed tests

* Explore fix

* More fixes

* Progress

* Sub 300

* Fixed incorrect type

* removed unused import
2020-07-08 11:05:20 +02:00
Torkel Ödegaard
89b56782c6 DataLinks: Fixed interpolation of repeated variables used in data links (#26147) 2020-07-08 11:04:23 +02:00
Mitsuhiro Tanda
292c985b76 Alerting: Support storing sensitive notifier settings securely/encrypted (#25114)
Support storing sensitive notification settings securely/encrypted.
Move slack notifier url and api token to secure settings.
Migrating slack notifier to store token and url encrypted is currently 
a manual process by saving an existing slack alert notification channel.
saving an existing slack alert notification channel will reset the stored 
non-secure url and token.

Closes #25113
Ref #25967

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-07-08 10:17:05 +02:00
Ryan McKinley
b26ef1db25 CSV: force UTF-8 encoding for download (#26145) 2020-07-07 23:53:03 -07:00
Dominik Prokop
30a682a4da Do not break dashboard settings UI when time intervals end with trailing comma (#26126) 2020-07-08 08:52:06 +02:00
Ryan McKinley
2b6833d0da DataSourceWithBackend: add internal comment for new method (#26139) 2020-07-07 22:29:36 -07:00
Diana Payton
b0fd9f03ca Docs: Add strategies topic (#26103)
* Create use.md

* Update timeseries.md

* changed file name and added content

* Update menu.yaml

* Update strategies.md
2020-07-07 12:40:36 -07:00
Torkel Ödegaard
81e955e6b5 BackendSrv: Cancellable requests & Observable all the way (#25746)
* BackendSrv: Observable all the way POC

* starting to unify code paths

* tests pass

* Unified error handling

* Single request path and error handling

* Fixed ts issue

* another ts issu

* Added back old requestId cancellation

* Slow progress trying to grasp the full picture of cancellation

* Updates

* refactoring

* Remove a bunch of stuff from backendSrv

* Removed another function

* Do not show error alerts for data queries

* Muu

* Updated comment

* fixed ts issue

* unify request options type

* Made query inspector subscribe to backendSrv stream instead of legacy app events

* Add back support for err.isHandled to limit scope

* never show success alerts

* Updated tests

* Fixing tests

* Minor weak

* Improved logic for the showErrorAlert and showSuccessAlert boolean flags, now they work more logically

* Fix issue
2020-07-07 21:22:47 +02:00
Arve Knudsen
ba4a8256a4 Chore: Rename plugin CI image as grafana/grafana-plugin-ci:latest-alpine (#26106)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-07 19:16:22 +02:00
Ivana Huckova
52f12d10c5 Explore/Loki: Escape \ in labels for show context queries (#26116)
* Hot fix, keep the file

* Add comment

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

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove script.go file

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-07 17:42:49 +02:00
Dominik Prokop
74b2c2acdc Fix lint (#26130) 2020-07-07 16:48:25 +02:00
Kyle Brandt
9164a35240 Azure: Restore Insights Metrics alias feature (#26098)
also fix case sensitivity for azure monitor metrics
2020-07-07 08:42:03 -04:00
Dominik Prokop
eb4391a228 grafana/ui: Do not rename export for InlineFormLabel (#26118) 2020-07-07 14:09:58 +02:00
Dominik Prokop
36e9d262c0 Add guide and tooling for local packages registry setup (#26110) 2020-07-07 14:07:00 +02:00
Arve Knudsen
e7e854ea33 Upgrade build pipeline tool (#26112)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-07 13:31:19 +02:00
Dominik Prokop
aa671c863e Chore: Bump rxjs to latest (#26084) 2020-07-07 10:45:15 +02:00
Arve Knudsen
953a80d76f CircleCI: Check errors from publishing master Docker images (#26107)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-07 10:16:22 +02:00
Torkel Ödegaard
c9f22b72e3 StatPanel: Fixes issue with name showing for single series / field results (#26070)
* StatPanel: Fix text mode auto logic

* Removed import
2020-07-07 10:16:06 +02:00
Arve Knudsen
586d26c729 Chore: Replace scopelint with exportloopref (#26075)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-07 10:01:39 +02:00
Sofia Papagiannaki
e8a8159085 Cloudwatch: Update AWS/MediaConnect metrics and dimensions (#26093)
* Cloudwatch: Update AWS/MediaConnect dimensions

* Cloudwatch: Update AWS/MetricConnect metrics
2020-07-07 10:16:20 +03:00
Peter Holmberg
8f1115c6ac Fix: Icon and Tooltip on Variables editor (#26086) 2020-07-07 08:45:37 +02:00
Eivind Gussiås Løkseth
6b0d753728 Docs: Fix list of sample providers (#26067)
* Fix list of sample providers

The sample providers on this page has changed, so the list at the top of the page is no longer correct. Also link to Octo and Azure AD pages from here, since they are also OAuth2 providers.

* Fix misspelled Okta

* Make bullet list of OAuth2 providers

* Sort list of OAuth2 providers alphabetically
2020-07-06 14:28:31 -07:00
Diana Payton
d72c25500a Docs: Update plugin-signature-verification.md (#26030)
minor edit
2020-07-06 13:08:32 -07:00
Diana Payton
3a57ba20cf Docs: Update _index.md (#26028) 2020-07-06 13:07:54 -07:00
Marcus Olsson
0f41ca620b Docs: Add guidelines for inclusive language (#25533)
* Docs: Add guidelines for inclusive language

* Fix review comments

* Fix review comments

* Update documentation-style-guide.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-06 12:59:34 -07:00
Torkel Ödegaard
7e8bd0c1b7 Chore: Fix typescript strict null errors from 674 -> 565 (#26057)
* Chore: Fix typescript strict null errors

* Added new limit

* Fixed ts issue

* fixed tests

* trying to fix type inference

* Fixing more ts errors

* Revert tsconfig option

* Fix

* Fixed code

* More fixes

* fix tests

* Updated snapshot
2020-07-06 21:16:27 +02:00
Torkel Ödegaard
4fc984f771 TestData: Pass scoped vars when interpolating alias (#26088) 2020-07-06 20:55:19 +02:00
Arve Knudsen
c711b792fe Plugin CI image: Pin Alpine version, don't use apk cache (#26095)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-06 20:44:54 +02:00
Arve Knudsen
41d432b5ae Chore: Enable whitespace linter (#25903)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-06 20:17:28 +02:00
Diana Payton
42295898b8 Docs: Update auth.md (#26034) 2020-07-06 07:56:26 -07:00
Labesse Kévin
8e7a88faff Imagestore: Fallback to application default credentials when no key file is specified for GCS (#25948)
The external image storage for GCS creates the JWT Token from a credentials file, 
but if your Grafana server runs under a GCE instance with a service account on it, 
you can use that instead (you don't have to manage/secure the credentials file).

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2020-07-06 15:02:58 +02:00
Sofia Papagiannaki
44dff6fdd0 Auth: Fix POST request failures with anonymous access (#26049)
Macaron context.QueryBool() seems to modify the request context
that causes the POST and PUT requests to fail with:
"http: proxy error: net/http: HTTP/1.x transport connection broken: http: ContentLength=333 with Body length 0"
2020-07-06 15:59:00 +03:00
Leonard Gram
632c54f91d Docs: monthly reports (#25964)
* Docs: monthly reports

* Docs: version available

* Docs: feedback from Diana and Agnes.
2020-07-06 13:49:35 +02:00
Andreas Opferkuch
390c80d7f5 ThemeContext: Make useStyles type-aware (#26056)
PLUS:
Make it more consise
Add unit test
2020-07-06 12:16:02 +02:00
annegies
a2737c0896 Remove break from ldap, get all groups from all the group base searches specified (#25825)
Signed-off-by: Annegies van 't Zand <ace.vtzand@gmail.com>
2020-07-06 12:02:39 +02:00
Eivind Gussiås Løkseth
338ce0cc10 Docs: Default configuration is defaults.ini (#26071)
Fixes #26068 
The `conf ` directory doesn't have any `grafana.ini`, but a `defaults.ini`, which contains the default configuration.
2020-07-06 11:00:03 +02:00
Torkel Ödegaard
6f13f2de7d Docs: Update enterprise docs landing (#26072)
Closes #26069
2020-07-06 10:59:06 +02:00
Arve Knudsen
5321360021 Chore: Upgrade golangci-lint (#26074)
* Chore: Upgrade golangci-lint
2020-07-06 09:43:26 +02:00
Ryan McKinley
af5dff8a1b panel Inspect: improve structure debugging (#26065) 2020-07-04 15:14:57 -07:00
Torkel Ödegaard
8be735a6ec TextPanel: Fixed issue with new react text panel (#26061) 2020-07-04 21:26:55 +02:00
Torkel Ödegaard
c5cd9c5648 E2E: Trying to fix flake e2e (#26063) 2020-07-04 17:30:41 +02:00
Torkel Ödegaard
d19d6128c9 Revert "Inspect: Hide minimap in json view"
This reverts commit 0dd5c4e69d.
2020-07-04 12:26:54 +02:00
Torkel Ödegaard
0dd5c4e69d Inspect: Hide minimap in json view 2020-07-04 12:23:58 +02:00
Ryan McKinley
c0762b6ddc Chore: reduce null check errors/warnigns (#25223)
* fix a few null errors

* more

* flip logic

* merge master

* more

* fewer changes

* processor

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2020-07-03 17:49:29 +02:00
Carl Bergquist
26852ca788 Instrument dashboard versions and annotation count (#26044) 2020-07-03 15:47:46 +02:00
David
081f954a2b Explore: Don't run queries on datasource change (#26033)
- more and more datasources are having long-running queries,
automatically triggering is becoming more of a burden than a help.
- some datasource queries might actually cost money, so running queries
should be explicit.
2020-07-03 15:04:57 +02:00
Torkel Ödegaard
66460ae740 InfluxDB: Fixed new group by dropdown now showing (#26031) 2020-07-03 14:58:29 +02:00
Ryan McKinley
3acc2a6ac2 Table: JSON Cell should try to convert strings to JSON (#26024) 2020-07-03 10:23:32 +02:00
Steven Vachon
634d8d60d6 @grafana/e2e: close options panel before interacting with the query form (#26036)
... it's logically better, but the real reason is to appease Cypress which was cause a consistent request error for a single plugin (datadog-datasource). An error which could not be reproduced manually.
2020-07-03 10:22:56 +02:00
Tobias Skarhed
b06d2cf30f AdminUsersTable: Fix width (#26019) 2020-07-03 09:24:36 +02:00
Josh Soref
dec76b4556 Graph panel: Move Stacking and null values before Hover tooltip options (#26037) 2020-07-03 09:14:44 +02:00
Ivana Huckova
8b46655361 Elastic: Fix displaying of correct log message (#26020)
* Fix default field, remove redundant line field check

* Add comments
2020-07-03 09:10:59 +02:00
Ryan McKinley
b7792de16d grafana/data: do not bundle rxjs (#26039) 2020-07-03 09:07:17 +02:00
Peter Holmberg
02a46a5d61 Migrate: Error page (404) (#26010)
* first things

* simple migration and remove angular part
2020-07-03 08:53:54 +02:00
ChrisDGH
45bbee2dea Update _index.md 2020-07-02 15:03:03 -04:00
Sofia Papagiannaki
b765b4130f Chore: updated testing in latest.json to 7.1.0-beta2 (#26018) 2020-07-02 17:49:42 +03:00
Maksim Nabokikh
3720c25638 grafana-cli: Add ability to read password from stdin to reset admin password (#26016)
* grafana-cli: Add ability to read password from stdin to reset admin password

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-02 16:29:10 +02:00
Sofia Papagiannaki
66a00ee5c9 Chore: added changelog for 7.1.0-beta2 (#26015)
* Chore: added changelog for 7.1.0-beta2

* Update Changelog.md
2020-07-02 16:48:30 +03:00
Marcus Efraimsson
e25c6db7e9 Docker: Make sure to create default plugin provisioning directory (#26017) 2020-07-02 15:43:12 +02:00
Dhananjay
3ef06a0c88 Cloudwatch: Add Support for external ID in assume role (#23685)
Co-authored by: Arve Knudsen
2020-07-02 15:24:36 +02:00
Sofia Papagiannaki
2d4bcbeff6 Small fix in provisioning docs (#26004)
* Small fix in provisioning docs

* Update docs/sources/administration/provisioning.md

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-02 14:29:37 +03:00
Alex Khomenko
c3d4e69a32 Grafana UI: Make FileUpload button size customizable (#26013) 2020-07-02 14:17:42 +03:00
Arve Knudsen
3e9e2db384 CircleCI: Upgrade build pipeline tool (#26006)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-02 11:28:37 +02:00
Ryan McKinley
085b2f3dbf Monaco: check suggestions against current word (#25992)
* trigger on current word

* proper index

* test suggestsions

* test suggestsions

* fix test
2020-07-02 10:42:44 +02:00
Alex Khomenko
9e47114c45 Forgot password: Fix styling (#26002) 2020-07-02 10:33:45 +03:00
Ivana Huckova
ab172f09b2 Docs: Add Query history search documentation (#25946)
* Update docs for search in query history

* Update

* Update docs/sources/features/explore/index.md

* Update docs/sources/features/explore/index.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/features/explore/index.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/features/explore/index.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/features/explore/index.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/features/explore/index.md

* Update docs/sources/features/explore/index.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-07-02 08:53:10 +02:00
Sofia Papagiannaki
e6ee3e1e7e Update whats-new-in-v7-1.md (#25979) 2020-07-02 09:07:52 +03:00
Torkel Ödegaard
9746e1f6af PanelEdit: Remove field label for single item categories (#25990)
* FieldConfig: Remove field label for single item categories

* Update public/app/features/dashboard/components/PanelEditor/FieldConfigEditor.tsx

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

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2020-07-02 07:59:18 +02:00
Ryan McKinley
90a5a85eb1 Panel Loading: spin clockwise, not counter clockwise (#25998)
* spin clockwise

* spin clockwise
2020-07-01 22:15:41 -07:00
Sebastian Widmer
5789f80e14 Loki: Allow aliasing Loki queries in dashboard (#25706)
* Loki: Add Legend field to query editor

* Loki: Basic test for legend field

* Loki: Mention legend is only for metric queries

* Loki: Fix absolute timerange never updating
2020-07-01 22:19:36 +02:00
Ryan McKinley
73e82af4df Value Mappings: remove unused operator property from interface (#25989) 2020-07-01 12:52:36 -07:00
Ivana Huckova
c9751707c5 Fix href to datasources for NoDataSourceCallToAction in Explore (#25991) 2020-07-01 21:04:06 +02:00
Dan Cech
b5ca2381bc provide license token directly via plugin environment (#25987)
* provide license token directly via plugin environment
2020-07-01 13:02:53 -04:00
Marcus Andersson
bbdcd59c50 Chore: updated testing in latest.json to 7.1.0-beta1. (#25988) 2020-07-01 18:49:55 +02:00
Diana Payton
b1b44d01da Docs: Update organization_roles.md (#25912)
* Update organization_roles.md

* Update docs/sources/permissions/organization_roles.md

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

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-07-01 09:08:46 -07:00
Mohit Nain
55406053dc Docs: Correction for repeat panels introduction (#25985) 2020-07-01 08:47:49 -07:00
Alexander Tymchuk
dda231009f docs: remove a section on PhantomJS debugging in e2e.md (#25951) 2020-07-01 17:28:06 +02:00
Sofia Papagiannaki
bcaa42fbb3 Fix build-in plugins failing to load in windows (#25982) 2020-07-01 18:23:18 +03:00
Marcus Andersson
039367336c Chore: added change log for 7.1.0-beta1. (#25978) 2020-07-01 15:02:01 +02:00
Andrej Ocenas
81095335c4 docs: 7.1 beta what's new draft (#25961)
* Add whats new draft article

* Update docs/sources/guides/whats-new-in-v7-1.md

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>

* Add elastic internal links

* Docs: more about vault in whats new

* docs: monthly reports

* Apply suggestions from code review

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>

* Remove unified explore mention

* updated what's new

* Update link

* Add search image link

* Add 7.1 article to the menu

* Fix typo

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2020-07-01 14:26:37 +02:00
Marcus Andersson
700ab8f3d8 Chore: bumped version to next minor. (#25971) 2020-07-01 13:26:36 +02:00
2942 changed files with 79468 additions and 67757 deletions

View File

@@ -2,29 +2,12 @@ version: 2.1
aliases:
# Workflow filters
# filter-all triggers for all branches and version tags
- &filter-all
tags:
only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
- &filter-only-release
branches:
only: chore/test-release-pipeline
tags:
only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
- &filter-not-release-or-master
tags:
ignore: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
branches:
ignore:
- master
- chore/test-release-pipeline
- &filter-only-master
branches:
only: master
- &filter-master-or-release
- &filter-release
branches:
only:
- master
- chore/test-release-pipeline
tags:
only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
@@ -39,9 +22,12 @@ executors:
go:
docker:
- image: cimg/go:1.14
e2e:
docker:
- image: srclosson/grafana-plugin-ci-e2e:latest
grafana-build:
docker:
- image: grafana/build-container:1.2.20
- image: grafana/build-container:1.2.27
grafana-publish:
docker:
- image: grafana/grafana-ci-deploy:1.2.5
@@ -56,7 +42,7 @@ commands:
- run:
name: "Install Grafana build pipeline tool"
command: |
VERSION=0.4.17
VERSION=0.5.16
curl -fLO https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v${VERSION}/grabpl
chmod +x grabpl
mv grabpl /tmp
@@ -94,10 +80,6 @@ jobs:
# We're testing the release pipeline
/tmp/grabpl build-backend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> \
--variants << parameters.variant >> v7.0.0-test
else
# A master or PR build
/tmp/grabpl build-backend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> \
--variants << parameters.variant >> --build-id $CIRCLE_WORKFLOW_ID
fi
- run:
name: Move artifacts
@@ -123,13 +105,6 @@ jobs:
resource_class: large
executor: grafana-build
steps:
- run:
name: Exit if enterprise and forked PR
command: |
if [[ "<< parameters.edition >>" == "enterprise" && -n "$CIRCLE_PR_NUMBER" ]]; then
echo "Nothing to do for forked PRs, so marking this step successful"
circleci step halt
fi
- checkout
- restore_cache:
keys:
@@ -162,9 +137,6 @@ jobs:
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
/tmp/grabpl build-frontend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> 7.0.0-test
else
# A master or PR build
/tmp/grabpl build-frontend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> --build-id $CIRCLE_WORKFLOW_ID
fi
- run:
name: Move artifacts
@@ -204,13 +176,8 @@ jobs:
- run:
name: Build internal Grafana plug-ins
command: |
if [[ -n "$CIRCLE_PR_NUMBER" ]]; then
# This is a forked PR, so don't sign as it requires an API secret
/tmp/grabpl build-plugins --jobs 2 --edition << parameters.edition >>
else
export GRAFANA_API_KEY=$GRAFANA_COM_API_KEY
/tmp/grabpl build-plugins --jobs 2 --edition << parameters.edition >> --sign --signing-admin
fi
export GRAFANA_API_KEY=$GRAFANA_COM_API_KEY
/tmp/grabpl build-plugins --jobs 2 --edition << parameters.edition >> --sign --signing-admin
- run:
name: Move artifacts
command: |
@@ -357,38 +324,6 @@ jobs:
command: "./scripts/ci-job-succeeded.sh"
when: on_success
release-next-packages:
executor: grafana-build
steps:
- run:
name: Exit if forked PR
command: |
if [[ -n "$CIRCLE_PR_NUMBER" ]]; then
echo "Nothing to do for forked PRs, so marking this step successful"
circleci step halt
fi
- checkout
- run:
name: CI job started
command: ./scripts/ci-job-started.sh
- run:
name: Bootstrap lerna
command: npx lerna bootstrap
- run:
name: npm - Prepare auth token
command: "echo //registry.npmjs.org/:_authToken=$NPM_TOKEN >> ~/.npmrc"
- run:
name: Release next packages
command: ./scripts/circle-release-next-packages.sh
- run:
name: CI job failed
command: ./scripts/ci-job-failed.sh
when: on_fail
- run:
name: CI job succeeded
command: ./scripts/ci-job-succeeded.sh
when: on_success
package-oss:
executor: grafana-build
steps:
@@ -405,11 +340,6 @@ jobs:
- run:
name: Package Grafana
command: |
if [[ -n "$CIRCLE_PR_NUMBER" ]]; then
echo Using test GPG key pair since building a forked PR
source scripts/build/gpg-test-vars.sh
fi
# Necessary for signing bundled plugins
export GRAFANA_API_KEY=$GRAFANA_COM_API_KEY
if [[ -n $CIRCLE_TAG ]]; then
@@ -418,17 +348,6 @@ jobs:
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition oss --sign v7.0.0-test
elif [[ $CIRCLE_BRANCH == "master" ]]; then
# A master build
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition oss --sign --build-id $CIRCLE_WORKFLOW_ID
elif [[ -n "$CIRCLE_PR_NUMBER" ]]; then
# A forked PR build, don't sign as it requires an API secret
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition oss --build-id $CIRCLE_WORKFLOW_ID --variants \
linux-x64,linux-x64-musl,osx64,win64
else
# A non-forked PR build
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition oss --sign --build-id $CIRCLE_WORKFLOW_ID --variants \
linux-x64,linux-x64-musl,osx64,win64
fi
- run:
name: Move artifacts
@@ -480,17 +399,6 @@ jobs:
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition enterprise --sign v7.0.0-test
elif [[ $CIRCLE_BRANCH == "master" ]]; then
# A master build
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition enterprise --sign --build-id $CIRCLE_WORKFLOW_ID
elif [[ -n "$CIRCLE_PR_NUMBER" ]]; then
# A forked PR build, don't sign as it requires an API secret
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition enterprise --build-id $CIRCLE_WORKFLOW_ID --variants \
linux-x64,linux-x64-musl,osx64,win64
else
# A PR build
/tmp/grabpl package --github-token "${GITHUB_GRAFANABOT_TOKEN}" --jobs 2 --edition enterprise --sign --build-id $CIRCLE_WORKFLOW_ID --variants \
linux-x64,linux-x64-musl,osx64,win64
fi
- run:
name: Move artifacts
@@ -566,18 +474,9 @@ jobs:
yarn install --frozen-lockfile --no-progress
yarn storybook:build
if [[ -n "$CIRCLE_PR_NUMBER" ]]; then
echo "Nothing to do for forked PRs, so marking this step successful"
circleci step halt
fi
if [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
echo Testing release
elif [[ $CIRCLE_BRANCH == "master" ]]; then
echo $GCP_GRAFANA_UPLOAD_KEY > /tmp/gcpkey.json
gcloud auth activate-service-account --key-file=/tmp/gcpkey.json
gsutil -m rsync -d -r ./packages/grafana-ui/dist/storybook gs://grafana-storybook/canary
elif [[ -n $CIRCLE_TAG ]]; then
echo $GCP_GRAFANA_UPLOAD_KEY > /tmp/gcpkey.json
gcloud auth activate-service-account --key-file=/tmp/gcpkey.json
@@ -641,7 +540,7 @@ jobs:
name: Build Docker images
command: |
source google-cloud-sdk/path.bash.inc
if [[ -n $CIRCLE_TAG || $CIRCLE_BRANCH == "chore/test-release-pipeline" || $CIRCLE_BRANCH == "master" ]]; then
if [[ -n $CIRCLE_TAG || $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# It's a full build
/tmp/grabpl build-docker --jobs 4 --edition << parameters.edition >> \
--ubuntu=<< parameters.ubuntu >>
@@ -653,7 +552,7 @@ jobs:
- run:
name: Exit if PR
command: |
if [[ -z $CIRCLE_TAG && $CIRCLE_BRANCH != "chore/test-release-pipeline" && $CIRCLE_BRANCH != "master" ]]; then
if [[ -z $CIRCLE_TAG && $CIRCLE_BRANCH != "chore/test-release-pipeline" ]]; then
echo "Nothing to do for PRs, so marking this step successful"
circleci step halt
fi
@@ -667,8 +566,7 @@ jobs:
# This is a release
/tmp/grabpl publish-docker --jobs 4 --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >>
else
# TODO: Don't ignore errors, temporary workaround until we fix #22955
/tmp/grabpl publish-docker --jobs 4 --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >> || echo Publishing failed!
/tmp/grabpl publish-docker --jobs 4 --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >>
fi
- run:
name: CI job failed
@@ -680,8 +578,7 @@ jobs:
when: on_success
end-to-end-tests:
docker:
- image: circleci/node:12-browsers
executor: e2e
steps:
- attach_workspace:
at: /tmp/workspace
@@ -813,9 +710,9 @@ jobs:
name: Install Go linters
command: |
pushd /tmp
VERSION=1.27.0
VERSION=1.28.0
curl -fLO https://github.com/golangci/golangci-lint/releases/download/v${VERSION}/golangci-lint-${VERSION}-linux-amd64.tar.gz
echo 8d345e4e88520e21c113d81978e89ad77fc5b13bfdf20e5bca86b83fc4261272 \
echo 179d34edf4baf6454a7081fbaaf74dc99397a3be8e1a535dee04d835a977bf76 \
golangci-lint-${VERSION}-linux-amd64.tar.gz | sha256sum --check --strict --status
tar -xf golangci-lint-${VERSION}-linux-amd64.tar.gz
sudo mv golangci-lint-${VERSION}-linux-amd64/golangci-lint /usr/local/bin/
@@ -826,8 +723,9 @@ jobs:
command: |
# To save memory, run in two batches
golangci-lint run -v -j 4 --config scripts/go/configs/ci/.golangci.toml -E deadcode -E depguard -E dogsled \
-E errcheck -E goconst -E golint -E gosec -E gosimple -E govet -E scopelint ./pkg/...
golangci-lint run -v -j 4 --config scripts/go/configs/ci/.golangci.toml -E ineffassign \
-E errcheck -E goconst -E golint -E gosec -E gosimple -E govet -E exportloopref -E whitespace \
-E goprintffuncname ./pkg/...
golangci-lint run -v -j 4 --config scripts/go/configs/ci/.golangci.toml -E ineffassign -E gocritic -E nakedret \
-E rowserrcheck -E staticcheck -E structcheck -E typecheck -E unconvert -E unused -E varcheck ./pkg/...
./scripts/go/bin/revive -formatter stylish -config ./scripts/go/configs/revive.toml ./pkg/...
./scripts/go/bin/revive -formatter stylish -config ./scripts/go/configs/revive-strict.toml \
@@ -838,8 +736,12 @@ jobs:
./pkg/services/provisioning/notifiers/... \
./pkg/services/provisioning/values/... \
./pkg/plugins/backendplugin/...
./scripts/tidy-check.sh
test-frontend:
parameters:
edition:
type: string
executor: node
steps:
- checkout
@@ -859,9 +761,17 @@ jobs:
key: v2-yarn-{{ checksum "yarn.lock" }}
paths:
- node_modules
- install-grabpl
- run:
name: frontend tests
command: "./scripts/circle-test-frontend.sh"
command: |
if [[ -n $CIRCLE_TAG ]]; then
# A release build
./scripts/circle-test-frontend.sh --edition << parameters.edition >> $CIRCLE_TAG
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
./scripts/circle-test-frontend.sh --edition << parameters.edition >> v7.0.0-test
fi
- store_test_results:
path: reports/junit
- run:
@@ -875,72 +785,39 @@ jobs:
test-backend:
executor: go
parameters:
edition:
type: string
steps:
- checkout
- run:
name: CI job started
command: "./scripts/ci-job-started.sh"
- run:
name: build backend and run go tests
command: "./scripts/circle-test-backend.sh"
- run:
name: CI job failed
command: "./scripts/ci-job-failed.sh"
when: on_fail
- run:
name: CI job succeeded
command: "./scripts/ci-job-succeeded.sh"
when: on_success
build-docs-website:
executor: base
steps:
- checkout
- setup_remote_docker
- run:
name: CI job started
command: "./scripts/ci-job-started.sh"
- run:
name: Build Grafana docs website
command: |
# Use latest revision here, since we want to catch if it breaks
IMAGE=grafana/docs-base:latest
# In order to copy sources into the remote container, we need to employ a trick of creating a container
# with a volume, that we copy the sources into. Then, we launch the build container, with the volume
# from the other container
docker create -v /hugo/content/docs/grafana --name docs alpine:3.11 /bin/true
docker cp ${PWD}/docs/sources docs:/hugo/content/docs/grafana/latest
docker run --volumes-from docs $IMAGE /bin/bash -c 'make prod'
- run:
name: CI job failed
command: "./scripts/ci-job-failed.sh"
when: on_fail
- run:
name: CI job succeeded
command: "./scripts/ci-job-succeeded.sh"
when: on_success
deploy-to-kubernetes:
description: "Deploy Grafana master Docker image to Kubernetes"
executor: base
steps:
- install-grabpl
- run:
name: Deploy to Kubernetes
name: back-end tests
command: |
/tmp/grabpl deploy-to-k8s $CIRCLE_WORKFLOW_ID
if [[ -n $CIRCLE_TAG ]]; then
# A release build
/tmp/grabpl test-backend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> \
$CIRCLE_TAG
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
/tmp/grabpl test-backend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> \
v7.0.0-test
fi
- run:
name: CI job failed
command: "./scripts/ci-job-failed.sh"
when: on_fail
- run:
name: CI job succeeded
command: "./scripts/ci-job-succeeded.sh"
when: on_success
release-packages:
executor: node
steps:
- run:
name: Exit if forked PR
command: |
if [[ -n "$CIRCLE_PR_NUMBER" ]]; then
echo "Nothing to do for forked PRs, so marking this step successful"
circleci step halt
fi
- checkout
- run:
name: CI job started
@@ -1014,179 +891,193 @@ workflows:
build-pipeline:
jobs:
- build-backend:
filters: *filter-master-or-release
filters: *filter-release
edition: oss
variant: armv6
name: build-oss-backend-armv6
requires:
- lint-go
- build-backend:
filters: *filter-master-or-release
filters: *filter-release
edition: oss
variant: armv7
name: build-oss-backend-armv7
requires:
- lint-go
- build-backend:
filters: *filter-master-or-release
filters: *filter-release
edition: oss
variant: armv7-musl
name: build-oss-backend-armv7-musl
requires:
- lint-go
- build-backend:
filters: *filter-master-or-release
filters: *filter-release
edition: oss
variant: arm64
name: build-oss-backend-arm64
requires:
- lint-go
- build-backend:
filters: *filter-master-or-release
filters: *filter-release
edition: oss
variant: arm64-musl
name: build-oss-backend-arm64-musl
requires:
- lint-go
- build-backend:
filters: *filter-all
filters: *filter-release
edition: oss
variant: osx64
name: build-oss-backend-osx64
requires:
- lint-go
- build-backend:
filters: *filter-all
filters: *filter-release
edition: oss
variant: win64
name: build-oss-backend-win64
requires:
- lint-go
- build-backend:
filters: *filter-all
filters: *filter-release
edition: oss
variant: linux-x64
name: build-oss-backend-linux-x64
requires:
- lint-go
- build-backend:
filters: *filter-all
filters: *filter-release
edition: oss
variant: linux-x64-musl
name: build-oss-backend-linux-x64-musl
requires:
- lint-go
- build-frontend:
filters: *filter-all
filters: *filter-release
name: build-oss-frontend
edition: oss
- build-plugins:
filters: *filter-all
filters: *filter-release
name: build-oss-plugins
edition: oss
requires:
- lint-go
- build-backend:
filters: *filter-master-or-release
filters: *filter-release
name: build-enterprise-backend-armv6
edition: enterprise
variant: armv6
requires:
- lint-go
- build-backend:
filters: *filter-master-or-release
filters: *filter-release
name: build-enterprise-backend-armv7
edition: enterprise
variant: armv7
requires:
- lint-go
- build-backend:
filters: *filter-master-or-release
filters: *filter-release
name: build-enterprise-backend-armv7-musl
edition: enterprise
variant: armv7-musl
requires:
- lint-go
- build-backend:
filters: *filter-master-or-release
filters: *filter-release
name: build-enterprise-backend-arm64
edition: enterprise
variant: arm64
requires:
- lint-go
- build-backend:
filters: *filter-master-or-release
filters: *filter-release
name: build-enterprise-backend-arm64-musl
edition: enterprise
variant: arm64-musl
requires:
- lint-go
- build-backend:
filters: *filter-all
filters: *filter-release
name: build-enterprise-backend-osx64
edition: enterprise
variant: osx64
requires:
- lint-go
- build-backend:
filters: *filter-all
filters: *filter-release
name: build-enterprise-backend-win64
edition: enterprise
variant: win64
requires:
- lint-go
- build-backend:
filters: *filter-all
filters: *filter-release
name: build-enterprise-backend-linux-x64
edition: enterprise
variant: linux-x64
requires:
- lint-go
- build-backend:
filters: *filter-all
filters: *filter-release
name: build-enterprise-backend-linux-x64-musl
edition: enterprise
variant: linux-x64-musl
requires:
- lint-go
- build-frontend:
filters: *filter-all
filters: *filter-release
name: build-enterprise-frontend
edition: enterprise
- build-plugins:
filters: *filter-all
filters: *filter-release
name: build-enterprise-plugins
edition: enterprise
requires:
- lint-go
- build-release-publisher:
filters: *filter-master-or-release
filters: *filter-release
- codespell:
filters: *filter-all
filters: *filter-release
- lint-go:
filters: *filter-all
filters: *filter-release
- shellcheck:
filters: *filter-all
filters: *filter-release
- test-backend:
filters: *filter-all
filters: *filter-release
name: test-oss-backend
edition: oss
requires:
- lint-go
- test-backend:
filters: *filter-release
name: test-enterprise-backend
edition: enterprise
requires:
- lint-go
- test-frontend:
filters: *filter-all
filters: *filter-release
name: test-oss-frontend
edition: oss
- test-frontend:
filters: *filter-release
name: test-enterprise-frontend
edition: enterprise
- mysql-integration-test:
filters: *filter-all
filters: *filter-release
requires:
- lint-go
- test-backend
- test-frontend
- test-oss-backend
- test-oss-frontend
- postgres-integration-test:
filters: *filter-all
filters: *filter-release
requires:
- lint-go
- test-backend
- test-frontend
- test-oss-backend
- test-oss-frontend
- package-oss:
filters: *filter-all
filters: *filter-release
requires:
- build-oss-backend-armv6
- build-oss-backend-armv7
@@ -1198,13 +1089,13 @@ workflows:
- build-oss-backend-linux-x64
- build-oss-backend-linux-x64-musl
- build-oss-frontend
- test-backend
- test-frontend
- test-oss-backend
- test-oss-frontend
- codespell
- shellcheck
- build-oss-plugins
- package-enterprise:
filters: *filter-all
filters: *filter-release
requires:
- build-enterprise-backend-armv6
- build-enterprise-backend-armv7
@@ -1216,31 +1107,27 @@ workflows:
- build-enterprise-backend-linux-x64
- build-enterprise-backend-linux-x64-musl
- build-enterprise-frontend
- test-backend
- test-frontend
- test-enterprise-backend
- test-enterprise-frontend
- codespell
- shellcheck
- build-enterprise-plugins
- build-oss-windows-installer:
filters: *filter-all
filters: *filter-release
requires:
- package-oss
- build-enterprise-windows-installer:
filters: *filter-all
filters: *filter-release
requires:
- package-enterprise
- release-next-packages:
filters: *filter-only-master
requires:
- end-to-end-tests
- release-packages:
filters: *filter-only-release
filters: *filter-release
requires:
- end-to-end-tests
- mysql-integration-test
- postgres-integration-test
- publish-packages:
filters: *filter-master-or-release
filters: *filter-release
name: publish-oss-packages
edition: oss
requires:
@@ -1251,7 +1138,7 @@ workflows:
- postgres-integration-test
- build-release-publisher
- publish-packages:
filters: *filter-master-or-release
filters: *filter-release
name: publish-enterprise-packages
edition: enterprise
requires:
@@ -1262,12 +1149,12 @@ workflows:
- postgres-integration-test
- build-release-publisher
- publish-storybook:
filters: *filter-all
filters: *filter-release
requires:
- test-backend
- test-frontend
- test-oss-backend
- test-oss-frontend
- build-docker-images:
filters: *filter-all
filters: *filter-release
name: build-oss-docker-images
edition: oss
ubuntu: false
@@ -1278,7 +1165,7 @@ workflows:
- package-oss
- build-oss-windows-installer
- build-docker-images:
filters: *filter-all
filters: *filter-release
name: build-oss-ubuntu-docker-images
edition: oss
ubuntu: true
@@ -1289,7 +1176,7 @@ workflows:
- package-oss
- build-oss-windows-installer
- build-docker-images:
filters: *filter-all
filters: *filter-release
name: build-enterprise-docker-images
edition: enterprise
ubuntu: false
@@ -1300,7 +1187,7 @@ workflows:
- package-enterprise
- build-enterprise-windows-installer
- build-docker-images:
filters: *filter-all
filters: *filter-release
name: build-enterprise-ubuntu-docker-images
edition: enterprise
ubuntu: true
@@ -1311,18 +1198,9 @@ workflows:
- package-enterprise
- build-enterprise-windows-installer
- end-to-end-tests:
filters: *filter-all
filters: *filter-release
requires:
- package-oss
- build-docs-website:
filters: *filter-not-release-or-master
requires:
- mysql-integration-test
- postgres-integration-test
- deploy-to-kubernetes:
filters: *filter-only-master
requires:
- build-enterprise-docker-images
nightly:
triggers:

8
.drone.star Normal file
View File

@@ -0,0 +1,8 @@
load('scripts/pr.star', 'pr_pipelines')
load('scripts/master.star', 'master_pipelines')
load('scripts/release.star', 'release_pipelines', 'test_release_pipelines')
def main(ctx):
edition = 'oss'
return pr_pipelines(edition=edition) + master_pipelines(edition=edition) + release_pipelines() + \
test_release_pipelines()

2249
.drone.yml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -25,3 +25,6 @@ trim_trailing_whitespace = false
[Makefile]
indent_style = tab
indent_size = 2
[*.star]
indent_size = 4

7
.eslintignore Normal file
View File

@@ -0,0 +1,7 @@
node_modules
compiled
build
vendor
devenv
data
dist

View File

@@ -1,4 +1,13 @@
{
"extends": ["@grafana/eslint-config"],
"root": true
"root": true,
"overrides": [
{
"files": ["packages/grafana-ui/**/*/!(*.story).{ts,tsx}", "public/app/**/*.{ts,tsx}"],
"rules": {
"react-hooks/rules-of-hooks": "off",
"react-hooks/exhaustive-deps": "off"
}
}
]
}

6
.github/CODEOWNERS vendored
View File

@@ -12,9 +12,9 @@
# This should make it easy to add new rules without breaking existing ones.
# Documentation owner: Diana Payton
/docs/ @oddlittlebird
/contribute/ @oddlittlebird @marcusolsson
/docs/ @oddlittlebird @achatterjee-grafana
/contribute/ @oddlittlebird @marcusolsson @achatterjee-grafana
/docs/sources/developers/plugins/ @marcusolsson
# Backend code
*.go @grafana/backend-platform

View File

@@ -9,9 +9,9 @@ Please use this template to create your bug report. By providing as much info as
PROTIP: record your screen and attach it as a gif to showcase the issue.
* Questions should be posted to: https://community.grafana.com
* Use query inspector to troubleshoot issues: https://bit.ly/2XNF6YS
* How to record and attach gif: https://bit.ly/2Mi8T6K
- Questions should be posted to: https://community.grafana.com
- Use query inspector to troubleshoot issues: https://bit.ly/2XNF6YS
- How to record and attach gif: https://bit.ly/2Mi8T6K
-->
**What happened**:

View File

@@ -0,0 +1,39 @@
---
name: '@grafana/ui component request'
about: Suggest a component for the @grafana/ui package
labels: 'area/grafana/ui'
---
<!--
By using this template you will make it easier for us to make sure that documentation and implementation stays up to date for every component in @grafana/ui
Thank you!
-->
**Why is this component needed**:
<!-- Explain your use case -->
___
- [ ] Is/could it be used in more than one place in Grafana?
**Where is/could it be used?**:
___
- [ ] Post screenshots possible.
- [ ] It has a single use case.
- [ ] It is/could be used in multiple places.
**Implementation** (Checklist meant for the person implementing the component)
- [ ] Component has a story in Storybook.
- [ ] Props and naming follows [our style guide](https://github.com/grafana/grafana/blob/master/contribute/style-guides/frontend.md).
- [ ] It is extendable (rest props are spread, styles with className work, and so on).
- [ ] Uses [theme for spacing, colors, and so on](https://github.com/grafana/grafana/blob/master/contribute/style-guides/themes.md).
- [ ] Works with both light and dark theme.
**Documentation**
- [ ] Properties are documented.
- [ ] Use cases are described.
- [ ] Code examples for the different use cases.
- [ ] Dos and don'ts.
- [ ] Styling guidelines, specific color usage (if applicable).

View File

@@ -22,7 +22,7 @@ Thank you for sending a pull request! Here are some tips:
<!--
* Automatically closes linked issue when the Pull Request is merged.
- Automatically closes linked issue when the Pull Request is merged.
Usage: "Fixes #<issue number>", or "Fixes (paste link of issue)"

View File

@@ -8,7 +8,7 @@ This can be especially useful for publishing static website, such as with
[GitHub Pages](https://pages.github.com/), from built files in other job
steps, such as [Doxygen](http://www.doxygen.nl/) generated HTML files.
**NOTE**: GitHub currently requires the use of a Personal Access Token for
> **Note:** GitHub currently requires the use of a Personal Access Token for
pushing to other repositories. Pushing to the current repository should work
with the always-available GitHub Token (available via
`{{ secrets.GITHUB_TOKEN }}`. If pushing to another repository, a Personal

27
.github/commands.json vendored Normal file
View File

@@ -0,0 +1,27 @@
[
{
"type": "label",
"name": "type/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/master/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type": "comment",
"name": "duplicate",
"allowUsers": [],
"action": "updateLabels",
"addLabel": "type/duplicate"
},
{
"type": "label",
"name": "type/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/master/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type": "label",
"name": "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/master/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
}
]

71
.github/workflows/codeql-analysis.yml vendored Normal file
View File

@@ -0,0 +1,71 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
name: "CodeQL"
on:
push:
branches: [master, v1.8.x, v2.0.x, v2.1.x, v2.6.x, v3.0.x, v3.1.x, v4.0.x, v4.1.x, v4.2.x, v4.3.x, v4.4.x, v4.5.x, v4.6.x, v4.7.x, v5.0.x, v5.1.x, v5.2.x, v5.3.x, v5.4.x, v6.0.x, v6.1.x, v6.2.x, v6.3.x, v6.4.x, v6.5.x, v6.6.x, v6.7.x, v7.0.x, v7.1.x, v7.2.x]
pull_request:
# The branches below must be a subset of the branches above
branches: [master]
schedule:
- cron: '0 4 * * 6'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# Override automatic language detection by changing the below list
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
language: ['javascript', 'go', 'python']
# Learn more...
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

25
.github/workflows/commands.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: Run commands when issues are labeled or comments added
on:
issues:
types: [labeled]
issue_comment:
types: [created]
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: Run Commands
uses: ./actions/commands
with:
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
config-path: commands

34
.github/workflows/metrics-collector.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
#
# When triggered by the cron job it will also collect metrics for:
# * number of issues without label
# * number of issues with "needs more info"
# * number of issues with "needs investigation"
# * number of issues with label type/bug
# * number of open issues in current milestone
#
# https://github.com/grafana/grafana-github-actions/blob/main/metrics-collector/index.ts
#
name: Github issue metrics collection
on:
schedule:
- cron: "*/10 * * * *"
issues:
types: [opened, closed]
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: Run metrics collector
uses: ./actions/metrics-collector
with:
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}

View File

@@ -6,6 +6,7 @@ on:
- master
paths:
- 'docs/sources/**'
- 'packages/grafana-*/**'
jobs:
build:
@@ -14,6 +15,13 @@ jobs:
steps:
- uses: actions/checkout@v1
- name: generate-packages-docs
uses: actions/setup-node@v1
id: generate-docs
with:
node-version: '12'
- run: yarn install --pure-lockfile --no-progress
- run: ./scripts/ci-reference-docs-build.sh
- name: publish-to-git
uses: ./.github/actions/gha-publish-to-git
id: publish

1
.gitignore vendored
View File

@@ -15,7 +15,6 @@ awsconfig
.yarnrc
.yarn/
vendor/
.eslintcache
# Enterprise emails
/emails/templates/enterprise_*

View File

@@ -6,4 +6,4 @@ node_modules
public/vendor/
vendor/
data/
e2e/tmp

View File

@@ -1,3 +1,369 @@
# 7.3.0-beta1 (2020-10-14)
### Breaking changes
- **CloudWatch**: The AWS CloudWatch data source's authentication scheme has changed. See the [upgrade notes](https://grafana.com/docs/grafana/latest/installation/upgrading/#upgrading-to-v73) for details and how this may affect you.
# 7.2.1 (2020-10-08)
### Features / Enhancements
* **Api**: Add /healthz endpoint for health checks. [#27536](https://github.com/grafana/grafana/pull/27536), [@bergquist](https://github.com/bergquist)
* **Api**: Healthchecks should not be rejected due to domain enforcement checks. [#27981](https://github.com/grafana/grafana/pull/27981), [@bergquist](https://github.com/bergquist)
* **Instrumentation**: Removes invalid chars from label names. [#27921](https://github.com/grafana/grafana/pull/27921), [@bergquist](https://github.com/bergquist)
* **Orgs**: Remove organisations deprecation notice from backend. [#27788](https://github.com/grafana/grafana/pull/27788), [@wbrowne](https://github.com/wbrowne)
* **Toolkit**: Add --coverage flag to plugin build command. [#27743](https://github.com/grafana/grafana/pull/27743), [@gassiss](https://github.com/gassiss)
### Bug Fixes
* **BarGauge**: Fixed scrollbar showing for bar gauge in Firefox. [#27784](https://github.com/grafana/grafana/pull/27784), [@torkelo](https://github.com/torkelo)
* **Dashboard**: Honour root_url for Explore link. [#27654](https://github.com/grafana/grafana/pull/27654), [@tiagomotasantos](https://github.com/tiagomotasantos)
* **DashboardLinks**: values in links are updated when variables change. [#27926](https://github.com/grafana/grafana/pull/27926), [@hugohaggmark](https://github.com/hugohaggmark)
* **Elasticsearch**: Add query's refId to each series returned by a query. [#27614](https://github.com/grafana/grafana/pull/27614), [@Elfo404](https://github.com/Elfo404)
* **Elasticsearch**: Fix ad-hoc filter support for Raw Data query and new table panel. [#28064](https://github.com/grafana/grafana/pull/28064), [@Elfo404](https://github.com/Elfo404)
* **Graph**: Fixed histogram bucket calculations to avoid missing buckets. [#27883](https://github.com/grafana/grafana/pull/27883), [@torkelo](https://github.com/torkelo)
* **Loki**: Run instant query only in Explore. [#27974](https://github.com/grafana/grafana/pull/27974), [@ivanahuckova](https://github.com/ivanahuckova)
* **Units**: bps & Bps default scale remains decimal (backwards-compatibility). [#27838](https://github.com/grafana/grafana/pull/27838), [@Berbe](https://github.com/Berbe)
* **ValueMappings**: Fix issue with value mappings in override applying to all columns. [#27718](https://github.com/grafana/grafana/pull/27718), [@torkelo](https://github.com/torkelo)
# 7.2.0 (2020-09-23)
### Features / Enhancements
- **Alerting**: Ensuring notifications displayed correctly in mobile device with Google Chat. [#27578](https://github.com/grafana/grafana/pull/27578), [@alvarolmedo](https://github.com/alvarolmedo)
- **TraceView**: Show full traceID and better discern multiple stackTraces in span details. [#27710](https://github.com/grafana/grafana/pull/27710), [@aocenas](https://github.com/aocenas)
### Bug Fixes
- **DataLinks**: Fixes issue with data links not interpolating values with correct field config. [#27622](https://github.com/grafana/grafana/pull/27622), [@torkelo](https://github.com/torkelo)
- **DataProxy**: Ignore empty URL's in plugin routes. [#27653](https://github.com/grafana/grafana/pull/27653), [@domasx2](https://github.com/domasx2)
- **Field config**: Respect config paths when rendering default value of field config property. [#27652](https://github.com/grafana/grafana/pull/27652), [@dprokop](https://github.com/dprokop)
- **Field config**: Fix mismatch in field config editor types. [#27657](https://github.com/grafana/grafana/pull/27657), [@dprokop](https://github.com/dprokop)
- **Panel editor**: Prevents adding transformations in panels with alerts. [#27706](https://github.com/grafana/grafana/pull/27706), [@hugohaggmark](https://github.com/hugohaggmark)
- **Stat panel**: Fix problem where string values where always green. [#27656](https://github.com/grafana/grafana/pull/27656), [@peterholmberg](https://github.com/peterholmberg)
# 7.2.0-beta2 (2020-09-17)
### Features / Enhancements
- **API**: Enrich add user to org endpoints with user ID in the response. [#27551](https://github.com/grafana/grafana/pull/27551), [@AgnesToulet](https://github.com/AgnesToulet)
- **API**: Enrich responses and improve error handling for alerting API endpoints. [#27550](https://github.com/grafana/grafana/pull/27550), [@AgnesToulet](https://github.com/AgnesToulet)
- **Auth**: Replace maximum inactive/lifetime settings of days to duration. [#27150](https://github.com/grafana/grafana/pull/27150), [@Hansuuuuuuuuuu](https://github.com/Hansuuuuuuuuuu)
- **Dashboard**: Support configuring default timezone via config file. [#27404](https://github.com/grafana/grafana/pull/27404), [@woutersmeenk](https://github.com/woutersmeenk)
- **Elasticsearch**: Add support for date_nanos type. [#27538](https://github.com/grafana/grafana/pull/27538), [@Elfo404](https://github.com/Elfo404)
- **Elasticsearch**: Allow fields starting with underscore. [#27520](https://github.com/grafana/grafana/pull/27520), [@Elfo404](https://github.com/Elfo404)
- **Elasticsearch**: Increase maximum geohash aggregation precision to 12. [#27539](https://github.com/grafana/grafana/pull/27539), [@Elfo404](https://github.com/Elfo404)
- **Field config**: Add support for paths in default field config setup. [#27570](https://github.com/grafana/grafana/pull/27570), [@dprokop](https://github.com/dprokop)
- **Postgres**: Support request cancellation properly (Uses new backendSrv.fetch Observable request API). [#27478](https://github.com/grafana/grafana/pull/27478), [@hugohaggmark](https://github.com/hugohaggmark)
- **Provisioning**: Remove provisioned dashboards without parental reader. [#26143](https://github.com/grafana/grafana/pull/26143), [@nabokihms](https://github.com/nabokihms)
- **Variables**: Limit rendering of options in dropdown to improve search performance. [#27525](https://github.com/grafana/grafana/pull/27525), [@guoqn](https://github.com/guoqn)
- **Units**: Binary-prefixed data rates. [#27022](https://github.com/grafana/grafana/pull/27022), [@Berbe](https://github.com/Berbe)
### Bug Fixes
- **Admin**: Fixes close('X') button layout issue in API keys page. [#27625](https://github.com/grafana/grafana/pull/27625), [@nikasvan](https://github.com/nikasvan)
- **Alerting**: Fix integration key so it's stored encrypted for Pagerduty notifier. [#27484](https://github.com/grafana/grafana/pull/27484), [@marefr](https://github.com/marefr)
- **Annotations**: Fixes issue with showing error notice for cancelled annotation queries. [#27557](https://github.com/grafana/grafana/pull/27557), [@torkelo](https://github.com/torkelo)
- **Azure/Insights**: Fix handling of legacy dimension values. [#27513](https://github.com/grafana/grafana/pull/27513), [@marefr](https://github.com/marefr)
- **DataLinks**: Respects display name and adds field quoting. [#27616](https://github.com/grafana/grafana/pull/27616), [@hugohaggmark](https://github.com/hugohaggmark)
- **ImageRendering**: Fix rendering panel using shared query in png, PDF reports and embedded scenarios. [#27628](https://github.com/grafana/grafana/pull/27628), [@torkelo](https://github.com/torkelo)
- **InputControl**: Fixed using InputControl in unit tests from plugins. [#27615](https://github.com/grafana/grafana/pull/27615), [@torkelo](https://github.com/torkelo)
- **NewsPanel**: Fixed XSS issue when rendering rss links. [#27612](https://github.com/grafana/grafana/pull/27612), [@torkelo](https://github.com/torkelo)
- **Transforms**: Fix for issue in labels to fields transform where the new option value field name did not work properly. [#27501](https://github.com/grafana/grafana/pull/27501), [@torkelo](https://github.com/torkelo)
# 7.2.0-beta1 (2020-09-09)
### Breaking changes
- **Units**: The date time units `YYYY-MM-DD HH:mm:ss` and `MM/DD/YYYY h:mm:ss a` have been renamed to `Datetime ISO`
and `Datetime US` respectively. This is no breaking change just a visual name change (the unit id is unchanged). The
unit behavior is different however, it no longer hides the date part if the date is today. If you want this old
behavior you need to change unit to `Datetime ISO (No date if today)` or `Datetime US (No date if today)`.
### Features / Enhancements
- **API**: Return ID of the deleted resource for dashboard, datasource and folder DELETE endpoints. [#26691](https://github.com/grafana/grafana/pull/26691), [@AgnesToulet](https://github.com/AgnesToulet)
- **API**: Support paging in the admin orgs list API. [#26932](https://github.com/grafana/grafana/pull/26932), [@benjaminjb](https://github.com/benjaminjb)
- **API**: return resource ID for auth key creation, folder permissions update and user invite complete endpoints. [#27419](https://github.com/grafana/grafana/pull/27419), [@AgnesToulet](https://github.com/AgnesToulet)
- **Alerting**: Add toggle to disable alert threshold visibility in graph panel. [#25705](https://github.com/grafana/grafana/pull/25705), [@jpalpant](https://github.com/jpalpant)
- **Alerting**: Adds support for overriding 'dedup_key' via alert tags when using the Pagerduty notifier. [#27356](https://github.com/grafana/grafana/pull/27356), [@alavrovinfb](https://github.com/alavrovinfb)
- **Alerting**: Change alert rule link in alert notifications to open panel in view mode. [#27378](https://github.com/grafana/grafana/pull/27378), [@robertlestak](https://github.com/robertlestak)
- **Alerting**: Support storing sensitive notifier settings securely/encrypted. [#25114](https://github.com/grafana/grafana/pull/25114), [@mtanda](https://github.com/mtanda)
- **Annotation**: Add clean up job for old annotations. [#26156](https://github.com/grafana/grafana/pull/26156), [@bergquist](https://github.com/bergquist)
- **AzureMonitor**: select plugin route from cloudname. [#27273](https://github.com/grafana/grafana/pull/27273), [@kylebrandt](https://github.com/kylebrandt)
- **BackendSrv**: Uses credentials, deprecates withCredentials & defaults to same-origin. [#27385](https://github.com/grafana/grafana/pull/27385), [@hugohaggmark](https://github.com/hugohaggmark)
- **Chore**: Upgrade to Go 1.15.1. [#27326](https://github.com/grafana/grafana/pull/27326), [@aknuds1](https://github.com/aknuds1)
- **CloudWatch**: Update list of AmazonMQ metrics and dimensions. [#27332](https://github.com/grafana/grafana/pull/27332), [@szymonpk](https://github.com/szymonpk)
- **Cloudwatch**: Add Support for external ID in assume role. [#23685](https://github.com/grafana/grafana/pull/23685), [@gdhananjay](https://github.com/gdhananjay)
- **Cloudwatch**: Add af-south-1 region. [#26513](https://github.com/grafana/grafana/pull/26513), [@ruanbekker](https://github.com/ruanbekker)
- **Dashboard**: Add Duplicate dashboard links button to links list. [#26600](https://github.com/grafana/grafana/pull/26600), [@Hmerac](https://github.com/Hmerac)
- **Dashboard**: Adds folder name and link to the dashboard overview on the homepage. [#27214](https://github.com/grafana/grafana/pull/27214), [@michelengelen](https://github.com/michelengelen)
- **Database**: Set 0640 permissions on SQLite database file. [#26339](https://github.com/grafana/grafana/pull/26339), [@aknuds1](https://github.com/aknuds1)
- **DateFormats**: Default ISO & US formats never omit date part even if date is today (breaking change). [#27300](https://github.com/grafana/grafana/pull/27300), [@torkelo](https://github.com/torkelo)
- **Explore/Loki**: POC for toggling parsed fields in the list view. [#26178](https://github.com/grafana/grafana/pull/26178), [@fredr](https://github.com/fredr)
- **Explore**: Sort order of log results. [#26669](https://github.com/grafana/grafana/pull/26669), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore**: Transform prometheus query to elasticsearch query. [#23670](https://github.com/grafana/grafana/pull/23670), [@melchiormoulin](https://github.com/melchiormoulin)
- **Field overrides**: Overrides UI improvements. [#27073](https://github.com/grafana/grafana/pull/27073), [@dprokop](https://github.com/dprokop)
- **Heatmap**: Reduce the aggressiveness of hiding ticks/labels when panel is small. [#27016](https://github.com/grafana/grafana/pull/27016), [@lrstanley](https://github.com/lrstanley)
- **Image Store**: Add support for using signed URLs when uploading images to GCS. [#26840](https://github.com/grafana/grafana/pull/26840), [@marcosrmendezthd](https://github.com/marcosrmendezthd)
- **Image Store**: Fallback to application default credentials when no key file is specified for GCS. [#25948](https://github.com/grafana/grafana/pull/25948), [@Eraac](https://github.com/Eraac)
- **InfluxDB/Flux**: Increase series limit for Flux datasource. [#26746](https://github.com/grafana/grafana/pull/26746), [@sneddrs](https://github.com/sneddrs)
- **InfluxDB**: exclude result and table column from Flux table results. [#27081](https://github.com/grafana/grafana/pull/27081), [@ryantxu](https://github.com/ryantxu)
- **InfluxDB**: return a table rather than an error when timeseries is missing time. [#27320](https://github.com/grafana/grafana/pull/27320), [@ryantxu](https://github.com/ryantxu)
- **Instrumentation**: Adds instrumentation for outgoing datasource requests. [#27427](https://github.com/grafana/grafana/pull/27427), [@bergquist](https://github.com/bergquist)
- **Loki**: Add scopedVars support in legend formatting for repeated variables. [#27046](https://github.com/grafana/grafana/pull/27046), [@ivanahuckova](https://github.com/ivanahuckova)
- **Loki**: Re-introduce running of instant queries. [#27213](https://github.com/grafana/grafana/pull/27213), [@ivanahuckova](https://github.com/ivanahuckova)
- **Loki**: Support request cancellation properly (Uses new backendSrv.fetch Observable request API). [#27265](https://github.com/grafana/grafana/pull/27265), [@hugohaggmark](https://github.com/hugohaggmark)
- **MixedDatasource**: Shows retrieved data even if a data source fails. [#27024](https://github.com/grafana/grafana/pull/27024), [@hugohaggmark](https://github.com/hugohaggmark)
- **OAuth**: Handle DEFLATE compressed payloads in JWT for Generic OAuth. [#26969](https://github.com/grafana/grafana/pull/26969), [@billoley](https://github.com/billoley)
- **OAuth**: Increase state cookie max age. [#27258](https://github.com/grafana/grafana/pull/27258), [@bergquist](https://github.com/bergquist)
- **Orgs**: Remove org deprecation notice as we have decided to preserve multi-org support. [#26853](https://github.com/grafana/grafana/pull/26853), [@torkelo](https://github.com/torkelo)
- **PanelInspector**: Adds a Raw display mode but defaults to Formatted display mode. [#27306](https://github.com/grafana/grafana/pull/27306), [@hugohaggmark](https://github.com/hugohaggmark)
- **Postgres**: Support Unix socket for host. [#25778](https://github.com/grafana/grafana/pull/25778), [@aknuds1](https://github.com/aknuds1)
- **Prometheus**: Add scopedVars support in legend formatting for repeated variables. [#27047](https://github.com/grafana/grafana/pull/27047), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus**: Support request cancellation properly (Uses new backendSrv.fetch Observable request API). [#27090](https://github.com/grafana/grafana/pull/27090), [@hugohaggmark](https://github.com/hugohaggmark)
- **Prometheus**: add $__rate_interval variable. [#26937](https://github.com/grafana/grafana/pull/26937), [@zoltanbedi](https://github.com/zoltanbedi)
- **Provisioning**: Validate that datasource access field equals to direct or proxy. [#26440](https://github.com/grafana/grafana/pull/26440), [@nabokihms](https://github.com/nabokihms)
- **RangeUtils**: migrate logic from kbn to grafana/data. [#27347](https://github.com/grafana/grafana/pull/27347), [@ryantxu](https://github.com/ryantxu)
- **Table**: Adds column filtering. [#27225](https://github.com/grafana/grafana/pull/27225), [@hugohaggmark](https://github.com/hugohaggmark)
- **Table**: Support showing numbers in strings with full original value. [#27097](https://github.com/grafana/grafana/pull/27097), [@torkelo](https://github.com/torkelo)
- **TablePanel**: Add support for basic gauge as a cell display mode. [#26595](https://github.com/grafana/grafana/pull/26595), [@jutley](https://github.com/jutley)
- **Transformations**: Group by and aggregate on multiple fields. [#25498](https://github.com/grafana/grafana/pull/25498), [@Totalus](https://github.com/Totalus)
- **Transformations**: enable transformations reorder. [#27197](https://github.com/grafana/grafana/pull/27197), [@dprokop](https://github.com/dprokop)
- **Units**: Allow re-scaling nanoseconds up to days. [#26458](https://github.com/grafana/grafana/pull/26458), [@kaydelaney](https://github.com/kaydelaney)
- **grafana-cli**: Add ability to read password from stdin to reset admin password. [#26016](https://github.com/grafana/grafana/pull/26016), [@nabokihms](https://github.com/nabokihms)
- **Reporting**: add branding options. (Enterprise)
- **Reporting**: allow setting custom timerange. (Enterprise)
### Bug Fixes
- **Auth**: Fix signup workflow and UI when verify email is enabled. [#26263](https://github.com/grafana/grafana/pull/26263), [@KamalGalrani](https://github.com/KamalGalrani)
- **AzureMonitor**: Change filterDimensions property to match what is stored. [#27459](https://github.com/grafana/grafana/pull/27459), [@kylebrandt](https://github.com/kylebrandt)
- **Cloud Monitoring**: Fix missing title and text from cloud monitoring annotations. [#27187](https://github.com/grafana/grafana/pull/27187), [@atotto](https://github.com/atotto)
- **CloudWatch**: Fix error message returned from tag:GetResources. [#27205](https://github.com/grafana/grafana/pull/27205), [@kichik](https://github.com/kichik)
- **Cloudwatch**: Update AWS/MediaConnect metrics and dimensions. [#26093](https://github.com/grafana/grafana/pull/26093), [@papagian](https://github.com/papagian)
- **DashboardSettings**: Fixes auto refresh crash with space in interval. [#27438](https://github.com/grafana/grafana/pull/27438), [@hugohaggmark](https://github.com/hugohaggmark)
- **Elasticsearch**: Fix localized dates in index pattern. [#27351](https://github.com/grafana/grafana/pull/27351), [@domasx2](https://github.com/domasx2)
- **Elasticsearch**: Fix using multiple bucket script aggregations when only grouping by terms. [#24064](https://github.com/grafana/grafana/pull/24064), [@MarceloNunesAlves](https://github.com/MarceloNunesAlves)
- **Explore**: Expand template variables when redirecting from dashboard panel. [#27354](https://github.com/grafana/grafana/pull/27354), [@Elfo404](https://github.com/Elfo404)
- **FolderPicker**: Fixes not being able to create new folder. [#27092](https://github.com/grafana/grafana/pull/27092), [@hugohaggmark](https://github.com/hugohaggmark)
- **Graphite**: Show and hide query editor function popup on click. [#26923](https://github.com/grafana/grafana/pull/26923), [@ivanahuckova](https://github.com/ivanahuckova)
- **InfluxDB/Flux**: Fix for Alerts on InfluxDB Flux datasources only use the first series. [#27463](https://github.com/grafana/grafana/pull/27463), [@ryantxu](https://github.com/ryantxu)
- **Loki**: Send current time range when fetching labels and values. [#26622](https://github.com/grafana/grafana/pull/26622), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus**: Add backslash escaping for template variables. [#26205](https://github.com/grafana/grafana/pull/26205), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus**: Correctly format multi values variables in queries. [#26896](https://github.com/grafana/grafana/pull/26896), [@ivanahuckova](https://github.com/ivanahuckova)
- **Provisioning**: Add validation for missing organisations in datasource, dashboard, and notifier configurations. [#26601](https://github.com/grafana/grafana/pull/26601), [@nabokihms](https://github.com/nabokihms)
- **Rendering**: Fixed issue rendering text panel to image via image renderer plugin. [#27083](https://github.com/grafana/grafana/pull/27083), [@torkelo](https://github.com/torkelo)
- **Stats**: Use more efficient SQL and add timeouts. [#27390](https://github.com/grafana/grafana/pull/27390), [@sakjur](https://github.com/sakjur)
- **Table**: Support date unit formats on string values. [#26879](https://github.com/grafana/grafana/pull/26879), [@torkelo](https://github.com/torkelo)
- **Thresholds**: Fixed issue with thresholds in overrides not working after save and reload. [#27297](https://github.com/grafana/grafana/pull/27297), [@torkelo](https://github.com/torkelo)
- **Transformations**: Fixes outer join transformation when frames are missing field to join by. [#27453](https://github.com/grafana/grafana/pull/27453), [@hugohaggmark](https://github.com/hugohaggmark)
- **Transformations**: merge will properly handle empty frames and frames with multiple rows where values are overlapping. [#27362](https://github.com/grafana/grafana/pull/27362), [@mckn](https://github.com/mckn)
- **grafana-cli**: Fix installing of plugins missing directory entries in zip. [#26945](https://github.com/grafana/grafana/pull/26945), [@adrianlzt](https://github.com/adrianlzt)
# 7.1.5 (2020-08-25)
### Features / Enhancements
- **Stats**: Stop counting the same user multiple times. [#26777](https://github.com/grafana/grafana/pull/26777), [@sakjur](https://github.com/sakjur)
### Bug Fixes
- **Alerting**: remove LongToWide call in alerting. [#27140](https://github.com/grafana/grafana/pull/27140), [@kylebrandt](https://github.com/kylebrandt)
- **AzureMonitor**: fix panic introduced in 7.1.4 when unit was unspecified and alias was used. [#27113](https://github.com/grafana/grafana/pull/27113), [@kylebrandt](https://github.com/kylebrandt)
- **Variables**: Fixes issue with All variable not being resolved. [#27151](https://github.com/grafana/grafana/pull/27151), [@hugohaggmark](https://github.com/hugohaggmark)
# 7.1.4 (2020-08-20)
### Features / Enhancements
- **Azure App Insights Alert error - tsdb.HandleRequest() failed to convert dataframe "" to tsdb.TimeSeriesSlice**. [#26897](https://github.com/grafana/grafana/issues/26897)
- **AzureMonitor**: map more units. [#26990](https://github.com/grafana/grafana/pull/26990), [@kylebrandt](https://github.com/kylebrandt)
- **Azuremonitor**: do not set unit if literal "Unspecified". [#26839](https://github.com/grafana/grafana/pull/26839), [@kylebrandt](https://github.com/kylebrandt)
- **Dataframe/Alerting**: to tsdb.TimeSeriesSlice - accept "empty" time series. [#26903](https://github.com/grafana/grafana/pull/26903), [@kylebrandt](https://github.com/kylebrandt)
- **Field overrides**: Filter by field name using regex. [#27070](https://github.com/grafana/grafana/pull/27070), [@dprokop](https://github.com/dprokop)
- **Overrides**: expose byType matcher UI. [#27056](https://github.com/grafana/grafana/pull/27056), [@ryantxu](https://github.com/ryantxu)
### Bug Fixes
- **CloudWatch**: Add FreeStorageCapacity metric. [#26503](https://github.com/grafana/grafana/pull/26503), [@waqark3389](https://github.com/waqark3389)
- **CloudWatch**: Fix sorting of metrics results. [#26835](https://github.com/grafana/grafana/pull/26835), [@aknuds1](https://github.com/aknuds1)
- **Cloudwatch**: Add FileSystemId as a dimension key for the AWS/FSx namespace. [#26662](https://github.com/grafana/grafana/pull/26662), [@waqark3389](https://github.com/waqark3389)
- **InfluxDB**: Update Flux placeholder URL with respect to latest Go client. [#27086](https://github.com/grafana/grafana/pull/27086), [@aknuds1](https://github.com/aknuds1)
- **InfluxDB**: Upgrade Go client, use data source HTTP client. [#27012](https://github.com/grafana/grafana/pull/27012), [@aknuds1](https://github.com/aknuds1)
- **Proxy**: Fix updating refresh token in OAuth pass-thru. [#26885](https://github.com/grafana/grafana/pull/26885), [@seanlaff](https://github.com/seanlaff)
- **Templating**: Fixes so texts show in picker not the values. [#27002](https://github.com/grafana/grafana/pull/27002), [@hugohaggmark](https://github.com/hugohaggmark)
# 7.1.3 (2020-08-06)
### Bug Fixes
- **Templating**: Templating: Fix undefined result when using raw interpolation format [#26818](https://github.com/grafana/grafana/pull/26818)
# 7.1.2 (2020-08-05)
### Features / Enhancements
- **Explore**: Don't run queries on datasource change. [#26033](https://github.com/grafana/grafana/pull/26033), [@davkal](https://github.com/davkal)
- **TemplateSrv**: Formatting options for ${__from} and ${__to}, unix seconds epoch, ISO 8601/RFC 3339. [#26466](https://github.com/grafana/grafana/pull/26466), [@torkelo](https://github.com/torkelo)
- **Toolkit/Plugin**: throw an Error instead of a string. [#26618](https://github.com/grafana/grafana/pull/26618), [@leventebalogh](https://github.com/leventebalogh)
### Bug Fixes
- **Dashbard**: Fix refresh interval settings to allow setting it to equal min_refresh_interval. [#26615](https://github.com/grafana/grafana/pull/26615), [@torkelo](https://github.com/torkelo)
- **Flux**: Ensure connections to InfluxDB are closed. [#26735](https://github.com/grafana/grafana/pull/26735), [@sneddrs](https://github.com/sneddrs)
- **Query history**: Fix search filtering if null value. [#26768](https://github.com/grafana/grafana/pull/26768), [@ivanahuckova](https://github.com/ivanahuckova)
- **QueryOptions**: Fix not being able to change cache timeout setting. [#26614](https://github.com/grafana/grafana/pull/26614), [@torkelo](https://github.com/torkelo)
- **StatPanel**: Fix stat panel display name not showing when explicitly set. [#26616](https://github.com/grafana/grafana/pull/26616), [@torkelo](https://github.com/torkelo)
- **Templating**: Fixed access to system variables like __dashboard, __user & __org during dashboard load & variable queries. [#26637](https://github.com/grafana/grafana/pull/26637), [@torkelo](https://github.com/torkelo)
- **TextPanel**: Fix content overflowing panel boundaries. [#26612](https://github.com/grafana/grafana/pull/26612), [@torkelo](https://github.com/torkelo)
- **TimePicker**: Fix position and responsive behavior. [#26570](https://github.com/grafana/grafana/pull/26570), [@torkelo](https://github.com/torkelo)
- **TimePicker**: Fixes app crash when changing custom range to nothing. [#26775](https://github.com/grafana/grafana/pull/26775), [@hugohaggmark](https://github.com/hugohaggmark)
- **Units**: Remove duplicate SI prefix from mSv and µSv. [#26598](https://github.com/grafana/grafana/pull/26598), [@tofurky](https://github.com/tofurky)
# 7.1.1 (2020-07-24)
### Features / Enhancements
- **Graph**: Support setting field unit & override data source (automatic) unit. [#26529](https://github.com/grafana/grafana/pull/26529), [@ryantxu](https://github.com/ryantxu)
- **Tracing**: Add errorIconColor prop to TraceSpanData. [#26509](https://github.com/grafana/grafana/pull/26509), [@zoltanbedi](https://github.com/zoltanbedi)
### Bug Fixes
- **Branding**: Fix login app title. [#26425](https://github.com/grafana/grafana/pull/26425), [@benrubson](https://github.com/benrubson)
- **Bring back scripts evaluation in TextPanel**. [#26413](https://github.com/grafana/grafana/pull/26413), [@dprokop](https://github.com/dprokop)
- **Dashboard**: Fix empty panels after scrolling on Safari/iOS. [#26495](https://github.com/grafana/grafana/pull/26495), [@torkelo](https://github.com/torkelo)
- **Dashboard**: Fix for viewer can enter panel edit mode by modifying url (but cannot not save anything). [#26556](https://github.com/grafana/grafana/pull/26556), [@torkelo](https://github.com/torkelo)
- **Elasticsearch**: Fix displaying of bucket script input. [#26552](https://github.com/grafana/grafana/pull/26552), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore**: parse queryType from explore url. [#26349](https://github.com/grafana/grafana/pull/26349), [@zoltanbedi](https://github.com/zoltanbedi)
- **Tracing**: upstream fix for hovering on log lines. [#26426](https://github.com/grafana/grafana/pull/26426), [@zoltanbedi](https://github.com/zoltanbedi)
# 7.1.0 (2020-07-16)
### Features / Enhancements
- **Backend**: Use latest go plugin sdk (0.74.0) to sort wide frames. [#26207](https://github.com/grafana/grafana/pull/26207), [@kylebrandt](https://github.com/kylebrandt)
- **Elasticsearch**: Create Raw Doc metric to render raw JSON docs in columns in the new table panel. [#26233](https://github.com/grafana/grafana/pull/26233), [@ivanahuckova](https://github.com/ivanahuckova)
- **PluginsListPage**: More plugins button should open in new window. [#26305](https://github.com/grafana/grafana/pull/26305), [@zoltanbedi](https://github.com/zoltanbedi)
### Bug Fixes
- **AdminUsers**: Reset page to zero on query change. [#26293](https://github.com/grafana/grafana/pull/26293), [@hshoff](https://github.com/hshoff)
- **CloudWatch Logs**: Fixes grouping of results by numeric field. [#26298](https://github.com/grafana/grafana/pull/26298), [@kaydelaney](https://github.com/kaydelaney)
- **DashboardLinks**: Do not over-query search endpoint. [#26311](https://github.com/grafana/grafana/pull/26311), [@torkelo](https://github.com/torkelo)
- **Docker**: Make sure to create default plugin provisioning directory. [#26017](https://github.com/grafana/grafana/pull/26017), [@marefr](https://github.com/marefr)
- **Elastic**: Fix error "e.buckets[Symbol.iterator] is not a function" when using filter. [#26217](https://github.com/grafana/grafana/pull/26217), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore/Loki**: Escape \ in labels for show context queries. [#26116](https://github.com/grafana/grafana/pull/26116), [@ivanahuckova](https://github.com/ivanahuckova)
- **Jaeger/Zipkin**: URL-encode service names and trace ids for API calls. [#26115](https://github.com/grafana/grafana/pull/26115), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus**: Fix prom links in mixed mode. [#26244](https://github.com/grafana/grafana/pull/26244), [@zoltanbedi](https://github.com/zoltanbedi)
- **Provisioning**: Fix bug when provision app plugins using Enterprise edition. [#26340](https://github.com/grafana/grafana/pull/26340), [@marefr](https://github.com/marefr)
- **Sign In** Use correct url for the Sign In button. [#26239](https://github.com/grafana/grafana/pull/26239), [@dprokop](https://github.com/dprokop)
# 7.1.0-beta3 (2020-07-13)
### Features / Enhancements
- **Explore**: Unification of logs/metrics/traces user interface. [#25890](https://github.com/grafana/grafana/pull/25890), [@aocenas](https://github.com/aocenas)
- **Graph panel**: Move Stacking and null values before Hover tooltip options (#26035). [#26037](https://github.com/grafana/grafana/pull/26037), [@jsoref](https://github.com/jsoref)
- **LDAP**: Get all groups for all group base search DNs. [#25825](https://github.com/grafana/grafana/pull/25825), [@Annegies](https://github.com/Annegies)
- **Table**: JSON Cell should try to convert strings to JSON. [#26024](https://github.com/grafana/grafana/pull/26024), [@ryantxu](https://github.com/ryantxu)
- **Transform**: adding missing "table"-transform and "series to rows"-transform to Grafana v7-transforms. [#26042](https://github.com/grafana/grafana/pull/26042), [@mckn](https://github.com/mckn)
### Bug Fixes
- **AdminUsersTable**: Fix width issues. [#26019](https://github.com/grafana/grafana/pull/26019), [@tskarhed](https://github.com/tskarhed)
- **BarGauge**: Fix space bug in single series mode. [#26176](https://github.com/grafana/grafana/pull/26176), [@torkelo](https://github.com/torkelo)
- **Dashboard**: Allow removing min refresh interval from refresh options (5s or other). [#26150](https://github.com/grafana/grafana/pull/26150), [@torkelo](https://github.com/torkelo)
- **DataLinks**: Fixed interpolation of repeated variables used in Graph data links. [#26147](https://github.com/grafana/grafana/pull/26147), [@torkelo](https://github.com/torkelo)
- **Do not break dashboard settings UI when time intervals end with trailing comma**. [#26126](https://github.com/grafana/grafana/pull/26126), [@dprokop](https://github.com/dprokop)
- **Elastic**: Display correct log message based on selected log field. [#26020](https://github.com/grafana/grafana/pull/26020), [@ivanahuckova](https://github.com/ivanahuckova)
- **InfluxDB**: Fixed new group by dropdown now showing after first use. [#26031](https://github.com/grafana/grafana/pull/26031), [@torkelo](https://github.com/torkelo)
- **StatPanel**: Fixes issue with name showing for single series / field results. [#26070](https://github.com/grafana/grafana/pull/26070), [@torkelo](https://github.com/torkelo)
- **Templating**: Fix recursive loop of template variable queries when changing ad-hoc-variable. [#26191](https://github.com/grafana/grafana/pull/26191), [@torkelo](https://github.com/torkelo)
# 7.0.6 (2020-07-09)
### Bug fixes
- **Templating**: Fixed recursive queries triggered when switching dashboard settings view [#26137](https://github.com/grafana/grafana/pull/26137)
- **Templating**: Fix recursive loop of template variable queries when changing ad-hoc-variable [#26191](https://github.com/grafana/grafana/pull/26191)
- **Auth**: Add support for forcing authentication in anonymous mode and modify SignIn to use it instead of redirect [#25567](https://github.com/grafana/grafana/pull/25567)
- **Auth**: Fix POST request failures with anonymous access [#26049](https://github.com/grafana/grafana/pull/26049)
# 7.1.0-beta 2 (2020-07-02)
### Features / Enhancements
- **Loki**: Allow aliasing Loki queries in dashboard. [#25706](https://github.com/grafana/grafana/pull/25706), [@bastjan](https://github.com/bastjan)
### Bug Fixes
- **Explore**: Fix href when jumping from Explore to Add data source. [#25991](https://github.com/grafana/grafana/pull/25991), [@ivanahuckova](https://github.com/ivanahuckova)
- **Fix**: Build-in plugins failed to load in windows. [#25982](https://github.com/grafana/grafana/pull/25982), [@papagian](https://github.com/papagian)
# 7.1.0-beta 1 (2020-07-01)
### Features / Enhancements
- **Alerting**: Adds support for multiple URLs in Alertmanager notifier. [#24196](https://github.com/grafana/grafana/pull/24196), [@alistarle](https://github.com/alistarle)
- **Alerting**: updating the victorops alerter to handle the no_data alert type. [#23761](https://github.com/grafana/grafana/pull/23761), [@rrusso1982](https://github.com/rrusso1982)
- **Azure**: Application Insights metrics to Frame and support multiple query dimensions. [#25849](https://github.com/grafana/grafana/pull/25849), [@kylebrandt](https://github.com/kylebrandt)
- **Azure**: Multiple dimension support for Azure Monitor Service. [#25947](https://github.com/grafana/grafana/pull/25947), [@kylebrandt](https://github.com/kylebrandt)
- **Azure**: Split Insights into two services. [#25410](https://github.com/grafana/grafana/pull/25410), [@kylebrandt](https://github.com/kylebrandt)
- **Backend plugins**: Refactor to allow shared contract between core and external backend plugins. [#25472](https://github.com/grafana/grafana/pull/25472), [@marefr](https://github.com/marefr)
- **Branding**: Use AppTitle as document title. [#25271](https://github.com/grafana/grafana/pull/25271), [@benrubson](https://github.com/benrubson)
- **Chore**: upgrade to typescript 3.9.3. [#25154](https://github.com/grafana/grafana/pull/25154), [@ryantxu](https://github.com/ryantxu)
- **CloudWatch**: Add Route53 DNSQueries metric and dimension. [#25125](https://github.com/grafana/grafana/pull/25125), [@erkolson](https://github.com/erkolson)
- **CloudWatch**: Added AWS DataSync metrics and dimensions. [#25054](https://github.com/grafana/grafana/pull/25054), [@ilyastoli](https://github.com/ilyastoli)
- **CloudWatch**: Added AWS MediaStore metrics and dimensions. [#25492](https://github.com/grafana/grafana/pull/25492), [@ilyastoli](https://github.com/ilyastoli)
- **CloudWatch**: Added AWS RoboMaker metrics and dimensions. [#25090](https://github.com/grafana/grafana/pull/25090), [@ilyastoli](https://github.com/ilyastoli)
- **CloudWatch**: Added AWS SDKMetrics metrics and dimensions. [#25150](https://github.com/grafana/grafana/pull/25150), [@ilyastoli](https://github.com/ilyastoli)
- **CloudWatch**: Added AWS ServiceCatalog metrics and dimensions. [#25812](https://github.com/grafana/grafana/pull/25812), [@ilyastoli](https://github.com/ilyastoli)
- **CloudWatch**: Added AWS WAFV2 metrics. [#24048](https://github.com/grafana/grafana/pull/24048), [@mikkokupsu](https://github.com/mikkokupsu)
- **Dashboards**: Make path to default dashboard configurable. [#25595](https://github.com/grafana/grafana/pull/25595), [@bergquist](https://github.com/bergquist)
- **Elastic**: Internal data links. [#25942](https://github.com/grafana/grafana/pull/25942), [@aocenas](https://github.com/aocenas)
- **Elasticsearch**: Add support for template variable in date histogram min_doc_count. [#21064](https://github.com/grafana/grafana/pull/21064), [@faxm0dem](https://github.com/faxm0dem)
- **Elasticsearch**: Adds cumulative sum aggregation support. [#24820](https://github.com/grafana/grafana/pull/24820), [@retzkek](https://github.com/retzkek)
- **Elasticsearch**: Support using a variable for histogram and terms min doc count. [#25392](https://github.com/grafana/grafana/pull/25392), [@marefr](https://github.com/marefr)
- **Explore/Loki**: Show results of instant queries only in table and time series only in graph. [#25845](https://github.com/grafana/grafana/pull/25845), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore**: Remove legend formatting when switching from panel to Explore. [#25848](https://github.com/grafana/grafana/pull/25848), [@ivanahuckova](https://github.com/ivanahuckova)
- **Footer**: Add back footer to login page. [#25656](https://github.com/grafana/grafana/pull/25656), [@torkelo](https://github.com/torkelo)
- **ForgottenPassword**: Move view to login screen. [#25366](https://github.com/grafana/grafana/pull/25366), [@tskarhed](https://github.com/tskarhed)
- **Gauge**: Hide orientation option in panel options. [#25511](https://github.com/grafana/grafana/pull/25511), [@torkelo](https://github.com/torkelo)
- **Grafana-UI**: Add FileUpload. [#25835](https://github.com/grafana/grafana/pull/25835), [@Clarity-89](https://github.com/Clarity-89)
- **GraphPanel**: Make legend values clickable series toggles. [#25581](https://github.com/grafana/grafana/pull/25581), [@hshoff](https://github.com/hshoff)
- **Influx**: Support flux in the influx datasource. [#25308](https://github.com/grafana/grafana/pull/25308), [@ryantxu](https://github.com/ryantxu)
- **Migration**: Select org. [#24739](https://github.com/grafana/grafana/pull/24739), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Settings forms. [#24741](https://github.com/grafana/grafana/pull/24741), [@tskarhed](https://github.com/tskarhed)
- **Panel Inspect**: use Monaco editor for json display. [#25251](https://github.com/grafana/grafana/pull/25251), [@ryantxu](https://github.com/ryantxu)
- **Panel edit**: Clicking twice on a visualization closes the VizPicker. [#25739](https://github.com/grafana/grafana/pull/25739), [@peterholmberg](https://github.com/peterholmberg)
- **PanelInspect**: Update UI for Data display options. [#25478](https://github.com/grafana/grafana/pull/25478), [@tskarhed](https://github.com/tskarhed)
- **Plugins**: move jaeger trace type to grafana data. [#25403](https://github.com/grafana/grafana/pull/25403), [@zoltanbedi](https://github.com/zoltanbedi)
- **Provisioning**: Adds support for enabling app plugins. [#25649](https://github.com/grafana/grafana/pull/25649), [@marefr](https://github.com/marefr)
- **Provisioning**: Use folders structure from the file system to create desired folders in dashboard provisioning. [#23117](https://github.com/grafana/grafana/pull/23117), [@nabokihms](https://github.com/nabokihms)
- **Query history**: Add keyboard shortcut support for commenting. [#24736](https://github.com/grafana/grafana/pull/24736), [@ivanahuckova](https://github.com/ivanahuckova)
- **Query history**: Add search for query history and starred queries. [#25747](https://github.com/grafana/grafana/pull/25747), [@ivanahuckova](https://github.com/ivanahuckova)
- **Rich history**: Updates for default settings and starred queries deletion. [#25732](https://github.com/grafana/grafana/pull/25732), [@ivanahuckova](https://github.com/ivanahuckova)
- **Search**: support URL query params. [#25541](https://github.com/grafana/grafana/pull/25541), [@Clarity-89](https://github.com/Clarity-89)
- **Stackdriver**: Deep linking from Grafana panels to the Metrics Explorer. [#25858](https://github.com/grafana/grafana/pull/25858), [@papagian](https://github.com/papagian)
- **Stackdriver**: Rename Stackdriver to Google Cloud Monitoring. [#25807](https://github.com/grafana/grafana/pull/25807), [@papagian](https://github.com/papagian)
- **StatPanel**: Option showing name instead of value and more. [#25676](https://github.com/grafana/grafana/pull/25676), [@torkelo](https://github.com/torkelo)
- **Switch**: Deprecate checked prop in favor of value. [#25862](https://github.com/grafana/grafana/pull/25862), [@tskarhed](https://github.com/tskarhed)
- **Tab**: Make active tab clickable and add hyperlink functionality. [#25546](https://github.com/grafana/grafana/pull/25546), [@tskarhed](https://github.com/tskarhed)
- **Table**: Adds adhoc filtering. [#25467](https://github.com/grafana/grafana/pull/25467), [@hugohaggmark](https://github.com/hugohaggmark)
- **Teams**: Add index for permission check. [#25736](https://github.com/grafana/grafana/pull/25736), [@sakjur](https://github.com/sakjur)
- **Template variable filters**: Hide overflowing text. [#25801](https://github.com/grafana/grafana/pull/25801), [@tskarhed](https://github.com/tskarhed)
- **Templating**: Add bult in __user {name, id, login, email} variable to templating system. [#23378](https://github.com/grafana/grafana/pull/23378), [@aidanmountford](https://github.com/aidanmountford)
- **Templating**: removes old Angular variable system and featureToggle. [#24779](https://github.com/grafana/grafana/pull/24779), [@hugohaggmark](https://github.com/hugohaggmark)
- **TextPanel**: Adds proper editor for markdown and html. [#25618](https://github.com/grafana/grafana/pull/25618), [@hugohaggmark](https://github.com/hugohaggmark)
- **TextPanel**: Removes Angular Text Panel. [#25504](https://github.com/grafana/grafana/pull/25504), [@hugohaggmark](https://github.com/hugohaggmark)
- **TextPanel**: Removes text mode. [#25589](https://github.com/grafana/grafana/pull/25589), [@hugohaggmark](https://github.com/hugohaggmark)
- **TimeZone**: unify the time zone pickers to one that can rule them all. [#24803](https://github.com/grafana/grafana/pull/24803), [@mckn](https://github.com/mckn)
- **Transform**: added merge transform that will merge multiple series/tables into one table. [#25490](https://github.com/grafana/grafana/pull/25490), [@mckn](https://github.com/mckn)
- **Units**: add base-pascals and rotational speed units. [#22879](https://github.com/grafana/grafana/pull/22879), [@sakjur](https://github.com/sakjur)
- **Units**: add new unit for duration, it is optimized for displaying days, hours, minutes and seconds. [#24175](https://github.com/grafana/grafana/pull/24175), [@pabigot](https://github.com/pabigot)
- **Variables**: enables cancel for slow query variables queries. [#24430](https://github.com/grafana/grafana/pull/24430), [@hugohaggmark](https://github.com/hugohaggmark)
- **switches default value for security settings**. [#25175](https://github.com/grafana/grafana/pull/25175), [@bergquist](https://github.com/bergquist)
- **Reporting:** add monthly schedule option. (Enterprise)
### Bug Fixes
- **DatatLinks**: Fix open in new tab state mismatch. [#25826](https://github.com/grafana/grafana/pull/25826), [@tskarhed](https://github.com/tskarhed)
- **Explore/Loki**: Fix field type in table for instant queries. [#25907](https://github.com/grafana/grafana/pull/25907), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore/Loki**: Fix scrolling of context when leaving context window. [#25838](https://github.com/grafana/grafana/pull/25838), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore/SQL data sources**: Show correctly interpolated queries. [#25110](https://github.com/grafana/grafana/pull/25110), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore/Tooltip**: Fix label value in tooltip. [#25940](https://github.com/grafana/grafana/pull/25940), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore**: Fix query editors on mobile. [#25148](https://github.com/grafana/grafana/pull/25148), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore**: adds an ability to exit log row context with ESC key. [#24205](https://github.com/grafana/grafana/pull/24205), [@Estrax](https://github.com/Estrax)
- **Fix**: Value mappings match against string values. [#25929](https://github.com/grafana/grafana/pull/25929), [@peterholmberg](https://github.com/peterholmberg)
- **GraphPanel**: Fix annotations overflowing panels. [#25606](https://github.com/grafana/grafana/pull/25606), [@hshoff](https://github.com/hshoff)
- **Instrumentation**: Fix setting Jaeger tracing address through Grafana config. [#25768](https://github.com/grafana/grafana/pull/25768), [@marefr](https://github.com/marefr)
- **Prometheus**: Fix performance issue in processing of histogram labels. [#25813](https://github.com/grafana/grafana/pull/25813), [@bsherrod](https://github.com/bsherrod)
- **Provisioning**: Makes file the default dashboard provisioner type. [#24856](https://github.com/grafana/grafana/pull/24856), [@bergquist](https://github.com/bergquist)
- **Templating**: fixes variables not being interpolated after dashboard refresh. [#25698](https://github.com/grafana/grafana/pull/25698), [@hugohaggmark](https://github.com/hugohaggmark)
- **Units**: Custom unit suffix and docs for custom units. [#25710](https://github.com/grafana/grafana/pull/25710), [@torkelo](https://github.com/torkelo)
- **ValueFormats**: Fix byte-format data rates. [#25424](https://github.com/grafana/grafana/pull/25424), [@mueslo](https://github.com/mueslo)
- **Variables**: Fixes maximum call stack bug for empty value. [#25503](https://github.com/grafana/grafana/pull/25503), [@hugohaggmark](https://github.com/hugohaggmark)
### Security fixes
- **Graph**: Fix XSS vulnerability with series overrides [#25401](https://github.com/grafana/grafana/pull/25401). Thanks to Rotem Reiss for reporting this.
# 7.0.5 (2020-06-30)
### Bug Fixes
@@ -184,7 +550,7 @@ We have also extended the time zone options so you can select any of the standar
- **Dashboard**: Fix for strange "dashboard not found" errors when opening links in dashboard settings. [#24416](https://github.com/grafana/grafana/pull/24416), [@torkelo](https://github.com/torkelo)
- **Dashboard**: Fix so default data source is selected when data source can't be found in panel editor. [#24526](https://github.com/grafana/grafana/pull/24526), [@mckn](https://github.com/mckn)
- **Dashboard**: Fixed issue changing a panel from transparent back to normal in panel editor. [#24483](https://github.com/grafana/grafana/pull/24483), [@torkelo](https://github.com/torkelo)
- **Dashboard**: Make header names reflect the field name when exporting to CSV file from the the panel inspector. [#24624](https://github.com/grafana/grafana/pull/24624), [@peterholmberg](https://github.com/peterholmberg)
- **Dashboard**: Make header names reflect the field name when exporting to CSV file from the panel inspector. [#24624](https://github.com/grafana/grafana/pull/24624), [@peterholmberg](https://github.com/peterholmberg)
- **Dashboard**: Make sure side pane is displayed with tabs by default in panel editor. [#24636](https://github.com/grafana/grafana/pull/24636), [@dprokop](https://github.com/dprokop)
- **Data source**: Fix query/annotation help content formatting. [#24687](https://github.com/grafana/grafana/pull/24687), [@AgnesToulet](https://github.com/AgnesToulet)
- **Data source**: Fixes async mount errors. [#24579](https://github.com/grafana/grafana/pull/24579), [@Estrax](https://github.com/Estrax)
@@ -1895,7 +2261,7 @@ See [security announcement](https://community.grafana.com/t/grafana-5-3-3-and-4-
- **Docker**: Make it possible to set a specific plugin url [#12861](https://github.com/grafana/grafana/pull/12861), thx [ClementGautier](https://github.com/ClementGautier)
- **GrafanaCli**: Fixed issue with grafana-cli install plugin resulting in corrupt http response from source error. Fixes [#13079](https://github.com/grafana/grafana/issues/13079)
- **Provisioning**: Should allow one default data source per organization [#12229](https://github.com/grafana/grafana/issues/12229)
- **Github OAuth**: Allow changes of user info at Github to be synched to Grafana when signing in [#11818](https://github.com/grafana/grafana/issues/11818), thx [@rwaweber](https://github.com/rwaweber)
- **GitHub OAuth**: Allow changes of user info at GitHub to be synched to Grafana when signing in [#11818](https://github.com/grafana/grafana/issues/11818), thx [@rwaweber](https://github.com/rwaweber)
- **OAuth**: Fix overriding tls_skip_verify_insecure using environment variable [#12747](https://github.com/grafana/grafana/issues/12747), thx [@jangaraj](https://github.com/jangaraj)
- **Prometheus**: Fix graph panel bar width issue in aligned prometheus queries [#12379](https://github.com/grafana/grafana/issues/12379)
- **Prometheus**: Heatmap - fix unhandled error when some points are missing [#12484](https://github.com/grafana/grafana/issues/12484)
@@ -2210,7 +2576,7 @@ See [security announcement](https://community.grafana.com/t/grafana-5-2-3-and-4-
### Fixes
- **oauth** Fix Github OAuth not working with private Organizations [#11028](https://github.com/grafana/grafana/pull/11028) [@lostick](https://github.com/lostick)
- **oauth** Fix GitHub OAuth not working with private Organizations [#11028](https://github.com/grafana/grafana/pull/11028) [@lostick](https://github.com/lostick)
- **kiosk** white area over bottom panels in kiosk mode [#11010](https://github.com/grafana/grafana/issues/11010)
- **alerting** Fix OK state doesn't show up in Microsoft Teams [#11032](https://github.com/grafana/grafana/pull/11032), thx [@manacker](https://github.com/manacker)
@@ -2222,7 +2588,7 @@ See [security announcement](https://community.grafana.com/t/grafana-5-2-3-and-4-
- **Folders** Make it easier/explicit to access/modify folders using the API [#10630](https://github.com/grafana/grafana/issues/10630)
- **Dashboard** Scrollbar works incorrectly in Grafana 5.0 Beta4 in some cases [#10982](https://github.com/grafana/grafana/issues/10982)
- **ElasticSearch** Custom aggregation sizes no longer allowed for Elasticsearch [#10124](https://github.com/grafana/grafana/issues/10124)
- **oauth** Github OAuth with allowed organizations fails to login [#10964](https://github.com/grafana/grafana/issues/10964)
- **oauth** GitHub OAuth with allowed organizations fails to login [#10964](https://github.com/grafana/grafana/issues/10964)
- **heatmap** Heatmap panel has partially hidden legend [#10793](https://github.com/grafana/grafana/issues/10793)
- **snapshots** Expired snapshots not being cleaned up [#10996](https://github.com/grafana/grafana/pull/10996)
@@ -2255,7 +2621,7 @@ See [security announcement](https://community.grafana.com/t/grafana-5-2-3-and-4-
- **Light theme** Fixed problem with light theme in safari, [#10869](https://github.com/grafana/grafana/issues/10869)
- **Provisioning** Now handles deletes when dashboard json files removed from disk [#10865](https://github.com/grafana/grafana/issues/10865)
- **MySQL** Fixed issue with schema migration on old mysql (index too long) [#10779](https://github.com/grafana/grafana/issues/10779)
- **Github OAuth** Fixed fetching github orgs from private github org [#10823](https://github.com/grafana/grafana/issues/10823)
- **GitHub OAuth** Fixed fetching github orgs from private github org [#10823](https://github.com/grafana/grafana/issues/10823)
- **Embedding** Fixed issues embedding panel [#10787](https://github.com/grafana/grafana/issues/10787)
# 5.0.0-beta1 (2018-02-05)
@@ -2314,7 +2680,7 @@ Dashboard panels and rows are positioned using a gridPos object `{x: 0, y: 0, w:
- **Dashboard**: Make it possible to start dashboards from search and dashboard list panel [#1871](https://github.com/grafana/grafana/issues/1871)
- **Annotations**: Posting annotations now return the id of the annotation [#9798](https://github.com/grafana/grafana/issues/9798)
- **Systemd**: Use systemd notification ready flag [#10024](https://github.com/grafana/grafana/issues/10024), thx [@jgrassler](https://github.com/jgrassler)
- **Github**: Use organizations_url provided from github to verify user belongs in org. [#10111](https://github.com/grafana/grafana/issues/10111), thx
- **GitHub**: Use organizations_url provided from github to verify user belongs in org. [#10111](https://github.com/grafana/grafana/issues/10111), thx
[@adiletmaratov](https://github.com/adiletmaratov)
- **Backend**: Fixed bug where Grafana exited before all sub routines where finished [#10131](https://github.com/grafana/grafana/issues/10131)
- **Azure**: Adds support for Azure blob storage as external image stor [#8955](https://github.com/grafana/grafana/issues/8955), thx [@saada](https://github.com/saada)
@@ -2494,7 +2860,7 @@ See [security announcement](https://community.grafana.com/t/grafana-5-2-3-and-4-
- **Graphite**: Calls to Graphite api /metrics/find now include panel or dashboard time range (from & until) in most cases, [#8055](https://github.com/grafana/grafana/issues/8055)
- **Graphite**: Added new graphite 1.0 functions, available if you set version to 1.0.x in data source settings. New Functions: mapSeries, reduceSeries, isNonNull, groupByNodes, offsetToZero, grep, weightedAverage, removeEmptySeries, aggregateLine, averageOutsidePercentile, delay, exponentialMovingAverage, fallbackSeries, integralByInterval, interpolate, invert, linearRegression, movingMin, movingMax, movingSum, multiplySeriesWithWildcards, pow, powSeries, removeBetweenPercentile, squareRoot, timeSlice, closes [#8261](https://github.com/grafana/grafana/issues/8261)
* **Elasticsearch**: Ad-hoc filters now use query phrase match filters instead of term filters, works on non keyword/raw fields [#9095](https://github.com/grafana/grafana/issues/9095).
- **Elasticsearch**: Ad-hoc filters now use query phrase match filters instead of term filters, works on non keyword/raw fields [#9095](https://github.com/grafana/grafana/issues/9095).
### Breaking change
@@ -3321,8 +3687,8 @@ Grunt & Watch tasks:
- [Issue #2218](https://github.com/grafana/grafana/issues/2218). Auth: You can now authenticate against api with username / password using basic auth
- [Issue #2095](https://github.com/grafana/grafana/issues/2095). Search: Search now supports filtering by multiple dashboard tags
- [Issue #1905](https://github.com/grafana/grafana/issues/1905). Github OAuth: You can now configure a Github team membership requirement, thx @dewski
- [Issue #2052](https://github.com/grafana/grafana/issues/2052). Github OAuth: You can now configure a Github organization requirement, thx @indrekj
- [Issue #1905](https://github.com/grafana/grafana/issues/1905). GitHub OAuth: You can now configure a GitHub team membership requirement, thx @dewski
- [Issue #2052](https://github.com/grafana/grafana/issues/2052). GitHub OAuth: You can now configure a GitHub organization requirement, thx @indrekj
- [Issue #1891](https://github.com/grafana/grafana/issues/1891). Security: New config option to disable the use of gravatar for profile images
- [Issue #1921](https://github.com/grafana/grafana/issues/1921). Auth: Support for user authentication via reverse proxy header (like X-Authenticated-User, or X-WEBAUTH-USER)
- [Issue #960](https://github.com/grafana/grafana/issues/960). Search: Backend can now index a folder with json files, will be available in search (saving back to folder is not supported, this feature is meant for static generated json dashboards)
@@ -3364,7 +3730,7 @@ Grunt & Watch tasks:
- [Issue #1749](https://github.com/grafana/grafana/issues/1749). Graph Panel: Table legends are now visible when rendered to PNG
- [Issue #1786](https://github.com/grafana/grafana/issues/1786). Graph Panel: Legend in table mode now aligns, graph area is reduced depending on how many series
- [Issue #1734](https://github.com/grafana/grafana/issues/1734). Support for unicode / international characters in dashboard title (improved slugify)
- [Issue #1782](https://github.com/grafana/grafana/issues/1782). Github OAuth: Now works with Github for Enterprise, thanks @williamjoy
- [Issue #1782](https://github.com/grafana/grafana/issues/1782). GitHub OAuth: Now works with GitHub for Enterprise, thanks @williamjoy
- [Issue #1780](https://github.com/grafana/grafana/issues/1780). Dashboard snapshot: Should not require login to view snapshot, Fixes #1780
# 2.0.0-Beta3 (2015-04-12)

View File

@@ -8,19 +8,19 @@ In the interest of fostering an open and welcoming environment, we as contributo
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
@@ -34,7 +34,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at contact@grafana.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at conduct@grafana.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

View File

@@ -65,3 +65,4 @@ Before we can accept your pull request, you need to [sign our CLA](https://grafa
- Set up your [development environment](contribute/developer-guide.md).
- Learn how to [contribute documentation](contribute/documentation.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/master/contribute) folder.

View File

@@ -1,4 +1,4 @@
FROM node:12.18.1-alpine3.12 as js-builder
FROM node:12.19.0-alpine3.12 as js-builder
WORKDIR /usr/src/app/
@@ -16,7 +16,7 @@ COPY emails emails
ENV NODE_ENV production
RUN ./node_modules/.bin/grunt build
FROM golang:1.14.4-alpine3.12 as go-builder
FROM golang:1.15.1-alpine3.12 as go-builder
RUN apk add --no-cache gcc g++
@@ -50,7 +50,7 @@ ENV PATH="/usr/share/grafana/bin:$PATH" \
WORKDIR $GF_PATHS_HOME
RUN apk add --no-cache ca-certificates bash tzdata && \
apk add --no-cache --upgrade openssl musl-utils
apk add --no-cache openssl musl-utils
COPY conf ./conf

View File

@@ -1,4 +1,4 @@
FROM node:12.16.3-slim AS js-builder
FROM node:12.19.0-slim AS js-builder
WORKDIR /usr/src/app/
@@ -16,7 +16,7 @@ COPY emails emails
ENV NODE_ENV production
RUN ./node_modules/.bin/grunt build
FROM golang:1.14.2 AS go-builder
FROM golang:1.15.1 AS go-builder
WORKDIR /src/grafana
@@ -50,7 +50,7 @@ WORKDIR $GF_PATHS_HOME
COPY conf conf
# curl should be part of the image
RUN apt-get update && apt-get upgrade -y && apt-get install -y ca-certificates curl
RUN apt-get update && apt-get install -y ca-certificates curl
RUN mkdir -p "$GF_PATHS_HOME/.aws" && \
addgroup --system --gid $GF_GID grafana && \
@@ -66,7 +66,6 @@ RUN mkdir -p "$GF_PATHS_HOME/.aws" && \
chown -R grafana:grafana "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" && \
chmod -R 777 "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING"
COPY --from=go-builder /src/grafana/bin/linux-amd64/grafana-server /src/grafana/bin/linux-amd64/grafana-cli bin/
COPY --from=js-builder /usr/src/app/public public
COPY --from=js-builder /usr/src/app/tools tools

View File

@@ -66,6 +66,7 @@ In case a member leaves, the [offboarding](#offboarding) procedure is applied.
The current team members are:
- Alexander Zobnin ([Grafana Labs](https://grafana.com/))
- Alex Khomenko ([Grafana Labs](https://grafana.com/))
- Andrej Ocenas ([Grafana Labs](https://grafana.com/))
- Arve Knudsen ([Grafana Labs](https://grafana.com/))
- Brian Gann ([Grafana Labs](https://grafana.com/))
@@ -77,6 +78,7 @@ The current team members are:
- Diana Sarlinska ([Grafana Labs](https://grafana.com/))
- Dominik Prokop ([Grafana Labs](https://grafana.com/))
- Emil Tullstedt ([Grafana Labs](https://grafana.com/))
- Fredrik Enestad ([Soundtrack Your Brand](https://www.soundtrackyourbrand.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/))

View File

@@ -1,5 +1,5 @@
'use strict';
module.exports = function (grunt) {
module.exports = function(grunt) {
var os = require('os');
var config = {
pkg: grunt.file.readJSON('package.json'),
@@ -47,18 +47,20 @@ module.exports = function (grunt) {
// Utility function to load plugin settings into config
function loadConfig(config, path) {
require('glob').sync('*', {cwd: path}).forEach(function(option) {
var key = option.replace(/\.js$/,'');
// If key already exists, extend it. It is your responsibility to avoid naming collisions
config[key] = config[key] || {};
grunt.util._.extend(config[key], require(path + option)(config,grunt));
});
require('glob')
.sync('*', { cwd: path })
.forEach(function(option) {
var key = option.replace(/\.js$/, '');
// If key already exists, extend it. It is your responsibility to avoid naming collisions
config[key] = config[key] || {};
grunt.util._.extend(config[key], require(path + option)(config, grunt));
});
// technically not required
return config;
}
// Merge that object with what with whatever we have here
loadConfig(config,'./scripts/grunt/options/');
loadConfig(config, './scripts/grunt/options/');
// pass the config to grunt
grunt.initConfig(config);
};

View File

@@ -2,16 +2,16 @@
The main goal of issue triage is to categorize all incoming Grafana issues and make sure each issue has all basic information needed for anyone else to understand and be able to start working on it.
**Note:** This information is for Grafana project Maintainers, Owners, and Admins. If you are a Contributor, then you will not be able to perform most of the tasks in this topic.
> **Note:** This information is for Grafana project Maintainers, Owners, and Admins. If you are a Contributor, then you will not be able to perform most of the tasks in this topic.
The core maintainers of the Grafana project are responsible for categorizing all incoming issues and delegating any critical or important issue to other maintainers. Currently one maintainer each week is responsible. Besides that part, triage provides an important way to contribute to an open source project.
Triage helps ensure issues resolve quickly by:
* Ensuring the issue's intent and purpose is conveyed precisely. This is necessary because it can be difficult for an issue to explain how an end user experiences a problem and what actions they took.
* Giving a contributor the information they need before they commit to resolving an issue.
* Lowering the issue count by preventing duplicate issues.
* Streamlining the development process by preventing duplicate discussions.
- Ensuring the issue's intent and purpose is conveyed precisely. This is necessary because it can be difficult for an issue to explain how an end user experiences a problem and what actions they took.
- Giving a contributor the information they need before they commit to resolving an issue.
- Lowering the issue count by preventing duplicate issues.
- Streamlining the development process by preventing duplicate discussions.
If you don't have the knowledge or time to code, consider helping with triage. The community will thank you for saving them time by spending some of yours.
@@ -32,7 +32,7 @@ If you don't have the knowledge or time to code, consider helping with triage. T
| | |
+------+-------+-------------+ +------------+---------+ +----------------------------+
| | | | | |
| label: needs more details | | Needs investigation? +--YES---+ label: needs investigation |
| label: needs more info | | Needs investigation? +--YES---+ label: needs investigation |
| | | | | |
+----------------------------+ +----------------+-----+ +--------------+-------------+
NO | |
@@ -82,7 +82,7 @@ Before triaging an issue very far, make sure that the issue's author provided th
Given a certain [issue template]([template](https://github.com/grafana/grafana/issues/new/choose)) have been used by the issue author or depending how the issue is perceived by the issue triage responsible, the following should help you understand what standard issue information that must be included.
#### Bug report?
#### Bug reports
Should explain what happened, what was expected and how to reproduce it together with any additional information that may help giving a complete picture of what happened such as screenshots, [query inspector](https://community.grafana.com/t/using-grafanas-query-inspector-to-troubleshoot-issues/2630) output and any environment related information that's applicable and/or maybe related to the reported problem:
- Grafana version
@@ -96,15 +96,15 @@ Should explain what happened, what was expected and how to reproduce it together
- Non-default configuration settings
- Development environment like Go and Node versions, if applicable
#### Enhancement request?
#### Enhancement requests
Should explain what enhancement or feature that the author wants to be added and why that is needed.
#### Accessibility issue?
#### Accessibility issues
This is a mix between a bug report and enhancement request but focused on accessibility issues to help make Grafana improve keyboard navigation, screen-reader support and being accessible to everyone. The report should include relevant WCAG criteria, if applicable.
#### Support request?
#### Support requests
In general, if the issue description and title is perceived as a question no more information is needed.
@@ -112,11 +112,11 @@ In general, if the issue description and title is perceived as a question no mor
To make it easier for everyone to understand and find issues they're searching for it's suggested as a general rule of thumbs to:
* Make sure that issue titles are named to explain the subject of the issue, has a correct spelling and doesn't include irrelevant information and/or sensitive information.
* Make sure that issue descriptions doesn't include irrelevant information, information from template that haven't been filled out and/or sensitive information.
* Do your best effort to change title and description or request suggested changes by adding a comment.
- Make sure that issue titles are named to explain the subject of the issue, has a correct spelling and doesn't include irrelevant information and/or sensitive information.
- Make sure that issue descriptions doesn't include irrelevant information, information from template that haven't been filled out and/or sensitive information.
- Do your best effort to change title and description or request suggested changes by adding a comment.
Note: Above rules is applicable to both new and existing issues of the Grafana project.
> **Note:** Above rules is applicable to both new and existing issues of the Grafana project.
### Do you have all the information needed to categorize an issue?
@@ -137,29 +137,28 @@ An issue can have multiple of the following labels. Typically, a properly catego
- One label identifying its type (`type/*`).
- One or multiple labels identifying the functional areas of interest or component (`area/*`) and/or data source (`datasource/*`), if applicable.
Label | Description
------- | --------
`type/bug` | A feature isn't working as expected given design or documentation.
`type/feature-request` | Request for a new feature or enhancement.
`type/docs` | Documentation problem or enhancement.
`type/accessibility` | Accessibility problem or enhancement.
`type/question` | Issue is a question or is perceived as such.
`type/duplicate` | An existing issue of the same subject/request have already been reported.
`type/works-as-intended` | A reported bug works as intended/by design.
`type/build-packaging` | Build or packaging problem or enhancement.
`area/*` | Subject is related to a functional area of interest or component.
`datasource/*` | Subject is related to a core data source plugin.
| Label | Description |
| ------------------------ | ------------------------------------------------------------------------- |
| `type/bug` | A feature isn't working as expected given design or documentation. |
| `type/feature-request` | Request for a new feature or enhancement. |
| `type/docs` | Documentation problem or enhancement. |
| `type/accessibility` | Accessibility problem or enhancement. |
| `type/question` | Issue is a question or is perceived as such. |
| `type/duplicate` | An existing issue of the same subject/request have already been reported. |
| `type/works-as-intended` | A reported bug works as intended/by design. |
| `type/build-packaging` | Build or packaging problem or enhancement. |
| `area/*` | Subject is related to a functional area of interest or component. |
| `datasource/*` | Subject is related to a core data source plugin. |
### Duplicate issue?
### Duplicate issues
Make sure it's not a duplicate by searching existing issues using related terms from the issue title and description. If you think you know there is an existing issue, but can't find it, please reach out to one of the maintainers and ask for help. If you identify that the issue is a duplicate of an existing issue:
1. Add a comment `Duplicate of #<issue number>`. GitHub will recognize this and add some additional context to the issue activity.
2. Close the issue and label it with `type/duplicate`.
1. Add a comment `/duplicate of #<issue number>`. GitHub will recognize this and add some additional context to the issue activity.
2. The Grafana bot will do the rest, adding the correct label and closing comment
3. Optionally add any related `area/*` or `datasource/*` labels.
4. If applicable, add a comment with additional information.
### Bug report?
### Bug reports
If it's not perfectly clear that it's an actual bug, quickly try to reproduce it.
@@ -204,11 +203,11 @@ There's a minor typo/error/lack of information that adds a lot of confusion for
1. Label the issue with `help wanted` and `beginner friendly`, if applicable, to signal that we find this important to fix and we would appreciate any help we can get from the community.
2. Move on to [prioritizing the issue](#4-prioritization-of-issues).
### Accessibility issue?
### Accessibility issues
1. Label the issue `type/accessibility` and at least one `area/*` or `datasource/*` label.
### Support request?
### Support requests
1. Kindly and politely direct the issue author to the [community site](https://community.grafana.com/) and explain that GitHub is mainly used for tracking bugs and feature requests. If possible, it's usually a good idea to add some pointers to the issue author's question.
2. Close the issue and label it with `type/question`.
@@ -223,17 +222,17 @@ The key here is asking for help and discuss issues to understand how more experi
In case there is an uncertainty around the prioritization of an issue, please ask the maintainers for help.
Label | Description
------- | --------
`priority/critical` | Highest priority. Must be actively worked on as someone's top priority right now.
`priority/support-subscription` | This is important for one or several customers having a paid Grafana support subscription.
`priority/important-soon` | Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
`priority/important-longterm` | Important over the long term, but may not be staffed and/or may need multiple releases to complete.
`priority/nice-to-have` | It's a good idea, but not scheduled for any release.
`priority/awaiting-more-evidence` | Lowest priority. Possibly useful, but not yet enough interest in it.
`priority/unscheduled` | Something to look into before and to be discussed during the planning of the next (upcoming) major/minor stable release.
| Label | Description |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `priority/critical` | Highest priority. Must be actively worked on as someone's top priority right now. |
| `priority/support-subscription` | This is important for one or several customers having a paid Grafana support subscription. |
| `priority/important-soon` | Must be staffed and worked on either currently, or very soon, ideally in time for the next release. |
| `priority/important-longterm` | Important over the long term, but may not be staffed and/or may need multiple releases to complete. |
| `priority/nice-to-have` | It's a good idea, but not scheduled for any release. |
| `priority/awaiting-more-evidence` | Lowest priority. Possibly useful, but not yet enough interest in it. |
| `priority/unscheduled` | Something to look into before and to be discussed during the planning of the next (upcoming) major/minor stable release. |
**Critical bug?**
**Critical bugs**
1. If a bug has been categorized and any of the following criteria apply, the bug should be labeled as critical and must be actively worked on as someone's top priority right now.
@@ -248,7 +247,7 @@ Label | Description
5. Escalate the problem to the maintainers.
6. Assign or ask a maintainer for help assigning someone to make this issue their top priority right now.
**Important short-term?**
**Important short-term**
1. Label the issue `priority/important-soon`.
2. If applicable, label the issue `priority/support-subscription`.
@@ -256,12 +255,12 @@ Label | Description
4. Make sure to add the issue to a suitable backlog of a GitHub project and prioritize it or assign someone to work on it now or very soon.
5. Consider requesting [help from the community](#5-requesting-help-from-the-community), even though it may be problematic given a short amount of time until it should be released.
**Important long-term?**
**Important long-term**
1. Label the issue `priority/important-longterm`.
2. Consider requesting [help from the community](#5-requesting-help-from-the-community).
**Nice to have?**
**Nice to have**
1. Label the issue `priority/nice-to-have`.
2. Consider requesting [help from the community](#5-requesting-help-from-the-community).
@@ -284,7 +283,7 @@ In many cases the issue author or community as a whole is more suitable to contr
- Alert notifiers
1. Kindly and politely add a comment to signal to users subscribed to updates of the issue.
- Explain that the issue would be nice to get resolved, but it isn't prioritized to work on by maintainers for an unforseen future.
- Explain that the issue would be nice to get resolved, but it isn't prioritized to work on by maintainers for an unforeseen future.
- If possible or applicable, try to help contributors getting starting by adding pointers and references to what code/files need to be changed and/or ideas of a good way to solve/implement the issue.
2. Label the issue with `help wanted`.
3. If applicable, label the issue with `beginner friendly` to denote that the issue is suitable for a beginner to work on.
@@ -300,6 +299,13 @@ For some other combinations it may not be possible at all for a maintainer to se
Even if you don't have the time or knowledge to investigate an issue we highly recommend that you [upvote](https://help.github.com/en/articles/about-conversations-on-github#reacting-to-ideas-in-comments) the issue if you happen to have the same problem. If you have further details that may help investigating the issue please provide as much information as possible.
## Automation
We have some automation that triggers on comments or labels being added to issues. Many of these automated behaviors are defined in [commands.json](https://github.com/grafana/grafana/blob/master/.github/commands.json). Or in other [GitHub Actions](https://github.com/grafana/grafana/tree/master/.github/workflows)
* Add /duplicate `#<issue number>` to have Grafana label & close issue with an appropriate message.
* Add `type/question` and the bot will close it with an appropriate message.
## External PRs
Part of issue triage should also be triaging of external PRs. Main goal should be to make sure PRs from external contributors have an owner/reviewer and are not forgotten.
@@ -327,14 +333,14 @@ This will give you a structure of labels in the sidebar similar to the following
```
- Inbox
...
- Github (mine)
- GitHub (mine)
- activity
- assigned
- mentions
- Github (other)
- GitHub (other)
- Grafana
```
* All notifications youll need to read/take action on show up as unread in Github (mine) and its sub-labels.
* All other notifications you dont need to take action on show up as unread in Github (other) and its sub-labels
* This is convenient for issue triage and to follow the activity in the Grafana project.
- All notifications youll need to read/take action on show up as unread in GitHub (mine) and its sub-labels.
- All other notifications you dont need to take action on show up as unread in GitHub (other) and its sub-labels
- This is convenient for issue triage and to follow the activity in the Grafana project.

View File

@@ -1,8 +1,8 @@
@torkelo is the main/default maintainer, some parts of the codebase have other maintainers:
* Backend:
* @bergquist
* Plugins:
* @ryantxu
* UX/UI:
* @davkal
- Backend:
- @bergquist
- Plugins:
- @ryantxu
- UX/UI:
- @davkal

View File

@@ -4,7 +4,7 @@
-include local/Makefile
.PHONY: all deps-go deps-js deps build-go build-server build-cli build-js build build-docker-dev build-docker-full lint-go revive golangci-lint test-go test-js test run run-frontend clean devenv devenv-down revive-strict protobuf help
.PHONY: all deps-go deps-js deps build-go build-server build-cli build-js build build-docker-dev build-docker-full lint-go revive golangci-lint tidy-check test-go test-js test run run-frontend clean devenv devenv-down revive-strict protobuf help
GO = GO111MODULE=on go
GO_FILES ?= ./pkg/...
@@ -83,16 +83,7 @@ revive: scripts/go/bin/revive
revive-strict: scripts/go/bin/revive
@echo "lint via revive (strict)"
@scripts/go/bin/revive \
-formatter stylish \
-config ./scripts/go/configs/revive-strict.toml \
-exclude ./pkg/plugins/backendplugin/pluginextensionv2/... \
./pkg/services/alerting/... \
./pkg/services/provisioning/datasources/... \
./pkg/services/provisioning/dashboards/... \
./pkg/services/provisioning/notifiers/... \
./pkg/services/provisioning/values/... \
./pkg/plugins/backendplugin/...
@scripts/revive-strict scripts/go/bin/revive
scripts/go/bin/golangci-lint: scripts/go/go.mod
@cd scripts/go; \
@@ -104,7 +95,11 @@ golangci-lint: scripts/go/bin/golangci-lint
--config ./scripts/go/configs/.golangci.toml \
$(GO_FILES)
lint-go: golangci-lint revive revive-strict # Run all code checks for backend.
tidy-check:
@echo "check whether go.mod and go.sum are consistent"
@scripts/tidy-check.sh
lint-go: golangci-lint revive revive-strict tidy-check # Run all code checks for backend.
# with disabled SC1071 we are ignored some TCL,Expect `/usr/bin/env expect` scripts
shellcheck: $(SH_FILES) ## Run checks for shell scripts.

View File

@@ -20,7 +20,7 @@ Upgrading Go or Node.js requires making changes in many different files. See bel
The Grafana project uses [Go modules](https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more) to manage dependencies on external packages. This requires a working Go environment with version 1.11 or greater installed.
_Note:_ Since most developers of Grafana still use the `GOPATH` we need to specify `GO111MODULE=on` to make `go mod` and `got get` work as intended. If you have setup Grafana outside of the `GOPATH` on your machine you can skip `GO111MODULE=on` when running the commands below.
> **Note:** Since most developers of Grafana still use the `GOPATH` we need to specify `GO111MODULE=on` to make `go mod` and `got get` work as intended. If you have setup Grafana outside of the `GOPATH` on your machine you can skip `GO111MODULE=on` when running the commands below.
To add or update a new dependency, use the `go get` command:

View File

@@ -13,10 +13,10 @@ Team members and their access to repositories is maintained through [GitHub team
## Proposing changes
Examples of proposed changes are overarching architecture, component design, and specific code or graphical elements. Proposed changes SHOULD cover the big picture and intention, but individual parts SHOULD be split into the smallest possible changes. Changes SHOULD be based on and target the master branch. Depending on size of the proposed change, each change SHOULD be discussed, in increasing order of change size and complexity:
* Directly in a RR (Pull Request) - this MAY be done, but SHOULD not be the common case.
* Issue
* Developer mailing list
* Design document, shared via Google Docs, accessible to at least all team members.
- Directly in a RR (Pull Request) - this MAY be done, but SHOULD not be the common case.
- Issue
- Developer mailing list
- Design document, shared via Google Docs, accessible to at least all team members.
Significant changes MUST be discussed and agreed upon with the relevant subsystem maintainers.
@@ -24,17 +24,17 @@ Significant changes MUST be discussed and agreed upon with the relevant subsyste
Depending on the size and complexity of a PR, different requirements MUST be applied. Any team member contributing substantially to a PR MUST NOT count against review requirements.
Commits MUST be merged into master using PRs. They MUST NOT be merged into master directly.
* Every merge MUST be approved by at least one team member.
* Non-trivial changes MUST be approved by at least
* two team members, or
* one subsystem maintainer.
* Significant changes MUST be approved by at least
* two team members, AND
* the relevant subsystem maintainer.
- Every merge MUST be approved by at least one team member.
- Non-trivial changes MUST be approved by at least
- two team members, or
- one subsystem maintainer.
- Significant changes MUST be approved by at least
- two team members, AND
- the relevant subsystem maintainer.
PRs MUST be [reviewed](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests) and [approved](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/approving-a-pull-request-with-required-reviews) via GitHubs review system.
* Reviewers MAY write comments if approving
* Reviewers MUST write comments if rejecting a PR or if requesting changes.
- Reviewers MAY write comments if approving
- Reviewers MUST write comments if rejecting a PR or if requesting changes.
Once a PR is approved as per above, any team member MAY merge the PR.
@@ -45,28 +45,28 @@ Once a PR is approved as per above, any team member MAY merge the PR.
Grafana uses trunk-based development.
In particular, we found that the following principles match how we work:
* Master and release branches MUST always build without failure.
* Branches SHOULD be merged often. Larger changes SHOULD be activated with feature flags until they are ready. Long-lived development branches SHOULD be avoided.
* Changes MAY be enabled by default once they are in a complete state
* Changes which span multiple PRs MUST be described in an overarching issue or Google Doc.
- Master and release branches MUST always build without failure.
- Branches SHOULD be merged often. Larger changes SHOULD be activated with feature flags until they are ready. Long-lived development branches SHOULD be avoided.
- Changes MAY be enabled by default once they are in a complete state
- Changes which span multiple PRs MUST be described in an overarching issue or Google Doc.
## Releases
Releases MUST follow [Semantic Versioning](https://semver.org/) in naming and SHOULD follow Semantic Versioning as closely as reasonably possible for non-library software.
Release branches MUST be split from the following branches.
* MAJOR release branches MUST be based on master.
* MINOR release branches MUST be based on master.
* PATCH release branches MUST be split from the relevant MINOR release branchs most current PATCH
- MAJOR release branches MUST be based on master.
- MINOR release branches MUST be based on master.
- PATCH release branches MUST be split from the relevant MINOR release branchs most current PATCH
Security releases follow the same process but MUST be prepared in secret. Security releases MUST NOT include changes which are not related to the security fix. Normal release processes MUST accommodate the security release process. SECURITY.md MUST be followed.
PRs intended for inclusion in the next PATCH release MUST be labeled with `cherry-pick-needed` so they can be picked up by automated release tooling.
Releases follow the following cadence
* MAJOR: Yearly
* MINOR: Every 4-6 weeks
* PATCH: As needed
- MAJOR: Yearly
- MINOR: Every 4-6 weeks
- PATCH: As needed
Releases SHOULD NOT be delayed by pending changes.

View File

@@ -130,7 +130,25 @@ logging = false
# This setting also applies to core backend HTTP data sources where query requests use an HTTP client with timeout set.
timeout = 30
# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false.
# How many seconds the data proxy waits before sending a keepalive request.
keep_alive_seconds = 30
# How many seconds the data proxy waits for a successful TLS Handshake before timing out.
tls_handshake_timeout_seconds = 10
# How many seconds the data proxy will wait for a server's first response headers after
# fully writing the request headers if the request has an "Expect: 100-continue"
# header. A value of 0 will result in the body being sent immediately, without
# waiting for the server to approve.
expect_continue_timeout_seconds = 1
# The maximum number of idle connections that Grafana will keep alive.
max_idle_connections = 100
# How many seconds the data proxy keeps an idle connection open before timing out.
idle_conn_timeout_seconds = 90
# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request.
send_user_header = false
#################################### Analytics ###########################
@@ -275,15 +293,18 @@ viewers_can_edit = false
# Editors can administrate dashboard, folders and teams they create
editors_can_admin = false
# The duration in time a user invitation remains valid before expiring. This setting should be expressed as a duration. Examples: 6h (hours), 2d (days), 1w (week). Default is 24h (24 hours). The minimum supported duration is 15m (15 minutes).
user_invite_max_lifetime_duration = 24h
[auth]
# Login cookie name
login_cookie_name = grafana_session
# The lifetime (days) an authenticated user can be inactive before being required to login at next visit. Default is 7 days.
login_maximum_inactive_lifetime_days = 7
# The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation (token_rotation_interval_minutes).
login_maximum_inactive_lifetime_duration =
# The maximum lifetime (days) an authenticated user can be logged in since login time before being required to login. Default is 30 days.
login_maximum_lifetime_days = 30
# The maximum lifetime (duration) an authenticated user can be logged in since login time before being required to login. Default is 30 days (30d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month).
login_maximum_lifetime_duration =
# How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
token_rotation_interval_minutes = 10
@@ -301,12 +322,15 @@ signout_redirect_url =
# This setting is ignored if multiple OAuth providers are configured.
oauth_auto_login = false
# OAuth state max age cookie duration. Defaults to 60 seconds.
oauth_state_cookie_max_age = 60
# OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
oauth_state_cookie_max_age = 600
# limit of api_key seconds to live before expiration
api_key_max_seconds_to_live = -1
# Set to true to enable SigV4 authentication option for HTTP-based datasources
sigv4_auth_enabled = false
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -321,12 +345,12 @@ org_role = Viewer
# mask the Grafana version number for unauthenticated users
hide_version = false
#################################### Github Auth #########################
#################################### GitHub Auth #########################
[auth.github]
enabled = false
allow_sign_up = true
client_id = some_id
client_secret = some_secret
client_secret =
scopes = user:email,read:org
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
@@ -340,7 +364,7 @@ allowed_organizations =
enabled = false
allow_sign_up = true
client_id = some_id
client_secret = some_secret
client_secret =
scopes = api
auth_url = https://gitlab.com/oauth/authorize
token_url = https://gitlab.com/oauth/token
@@ -353,7 +377,7 @@ allowed_groups =
enabled = false
allow_sign_up = true
client_id = some_client_id
client_secret = some_client_secret
client_secret =
scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
auth_url = https://accounts.google.com/o/oauth2/auth
token_url = https://accounts.google.com/o/oauth2/token
@@ -367,7 +391,7 @@ hosted_domain =
enabled = false
allow_sign_up = true
client_id = some_id
client_secret = some_secret
client_secret =
scopes = user:email
allowed_organizations =
@@ -375,7 +399,7 @@ allowed_organizations =
enabled = false
allow_sign_up = true
client_id = some_id
client_secret = some_secret
client_secret =
scopes = user:email
allowed_organizations =
@@ -385,7 +409,7 @@ name = Azure AD
enabled = false
allow_sign_up = true
client_id = some_client_id
client_secret = some_client_secret
client_secret =
scopes = openid email profile
auth_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
@@ -398,7 +422,7 @@ name = Okta
enabled = false
allow_sign_up = true
client_id = some_id
client_secret = some_secret
client_secret =
scopes = openid profile email groups
auth_url = https://<tenant-id>.okta.com/oauth2/v1/authorize
token_url = https://<tenant-id>.okta.com/oauth2/v1/token
@@ -413,11 +437,13 @@ name = OAuth
enabled = false
allow_sign_up = true
client_id = some_id
client_secret = some_secret
client_secret =
scopes = user:email
email_attribute_name = email:primary
email_attribute_path =
login_attribute_path =
role_attribute_path =
id_token_attribute_name =
auth_url =
token_url =
api_url =
@@ -597,6 +623,36 @@ max_attempts = 3
# Makes it possible to enforce a minimal interval between evaluations, to reduce load on the backend
min_interval_seconds = 1
# Configures for how long alert annotations are stored. Default is 0, which keeps them forever.
# This setting should be expressed as an duration. Ex 6h (hours), 10d (days), 2w (weeks), 1M (month).
max_annotation_age =
# Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
max_annotations_to_keep =
#################################### Annotations #########################
[annotations.dashboard]
# Dashboard annotations means that annotations are associated with the dashboard they are created on.
# Configures how long dashboard annotations are stored. Default is 0, which keeps them forever.
# This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
max_age =
# Configures max number of dashboard annotations that Grafana stores. Default value is 0, which keeps all dashboard annotations.
max_annotations_to_keep =
[annotations.api]
# API annotations means that the annotations have been created using the API without any
# association with a dashboard.
# Configures how long Grafana stores API annotations. Default is 0, which keeps them forever.
# This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
max_age =
# Configures max number of API annotations that Grafana keeps. Default value is 0, which keeps all API annotations.
max_annotations_to_keep =
#################################### Explore #############################
[explore]
# Enable the Explore section
@@ -675,6 +731,8 @@ public_url =
key_file =
bucket =
path =
enable_signed_urls = false
signed_url_expiration =
[external_image_storage.azure_blob]
account_name =
@@ -771,3 +829,23 @@ license_path =
[feature_toggles]
# enable features, separated by spaces
enable =
[date_formats]
# For information on what formatting patterns that are supported https://momentjs.com/docs/#/displaying/
# Default system date format used in time range picker and other places where full time is displayed
full_date = YYYY-MM-DD HH:mm:ss
# Used by graph and other places where we only show small intervals
interval_second = HH:mm:ss
interval_minute = HH:mm
interval_hour = MM/DD HH:mm
interval_day = MM/DD
interval_month = YYYY-MM
interval_year = YYYY
# Experimental feature
use_browser_locale = false
# Default timezone for user preferences. Options are 'browser' for the browser local timezone or a timezone name from IANA Time Zone database, e.g. 'UTC' or 'Europe/Amsterdam' etc.
default_timezone = browser

View File

@@ -131,6 +131,24 @@
# This setting also applies to core backend HTTP data sources where query requests use an HTTP client with timeout set.
;timeout = 30
# How many seconds the data proxy waits before sending a keepalive probe request.
;keep_alive_seconds = 30
# How many seconds the data proxy waits for a successful TLS Handshake before timing out.
;tls_handshake_timeout_seconds = 10
# How many seconds the data proxy will wait for a server's first response headers after
# fully writing the request headers if the request has an "Expect: 100-continue"
# header. A value of 0 will result in the body being sent immediately, without
# waiting for the server to approve.
;expect_continue_timeout_seconds = 1
# The maximum number of idle connections that Grafana will keep alive.
;max_idle_connections = 100
# How many seconds the data proxy keeps an idle connection open before timing out.
;idle_conn_timeout_seconds = 90
# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false.
;send_user_header = false
@@ -274,15 +292,18 @@
# Editors can administrate dashboard, folders and teams they create
;editors_can_admin = false
# The duration in time a user invitation remains valid before expiring. This setting should be expressed as a duration. Examples: 6h (hours), 2d (days), 1w (week). Default is 24h (24 hours). The minimum supported duration is 15m (15 minutes).
;user_invite_max_lifetime_duration = 24h
[auth]
# Login cookie name
;login_cookie_name = grafana_session
# The lifetime (days) an authenticated user can be inactive before being required to login at next visit. Default is 7 days,
;login_maximum_inactive_lifetime_days = 7
# The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation.
;login_maximum_inactive_lifetime_duration =
# The maximum lifetime (days) an authenticated user can be logged in since login time before being required to login. Default is 30 days.
;login_maximum_lifetime_days = 30
# The maximum lifetime (duration) an authenticated user can be logged in since login time before being required to login. Default is 30 days (30d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month).
;login_maximum_lifetime_duration =
# How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
;token_rotation_interval_minutes = 10
@@ -300,12 +321,15 @@
# This setting is ignored if multiple OAuth providers are configured.
;oauth_auto_login = false
# OAuth state max age cookie duration. Defaults to 60 seconds.
;oauth_state_cookie_max_age = 60
# OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
;oauth_state_cookie_max_age = 600
# limit of api_key seconds to live before expiration
;api_key_max_seconds_to_live = -1
# Set to true to enable SigV4 authentication option for HTTP-based datasources.
;sigv4_auth_enabled = false
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -320,7 +344,7 @@
# mask the Grafana version number for unauthenticated users
;hide_version = false
#################################### Github Auth ##########################
#################################### GitHub Auth ##########################
[auth.github]
;enabled = false
;allow_sign_up = true
@@ -407,6 +431,8 @@
;scopes = user:email,read:org
;email_attribute_name = email:primary
;email_attribute_path =
;login_attribute_path =
;id_token_attribute_name =
;auth_url = https://foo.bar/login/oauth/authorize
;token_url = https://foo.bar/login/oauth/access_token
;api_url = https://foo.bar/user
@@ -589,6 +615,36 @@
# Makes it possible to enforce a minimal interval between evaluations, to reduce load on the backend
;min_interval_seconds = 1
# Configures for how long alert annotations are stored. Default is 0, which keeps them forever.
# This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
;max_annotation_age =
# Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
;max_annotations_to_keep =
#################################### Annotations #########################
[annotations.dashboard]
# Dashboard annotations means that annotations are associated with the dashboard they are created on.
# Configures how long dashboard annotations are stored. Default is 0, which keeps them forever.
# This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
;max_age =
# Configures max number of dashboard annotations that Grafana stores. Default value is 0, which keeps all dashboard annotations.
;max_annotations_to_keep =
[annotations.api]
# API annotations means that the annotations have been created using the API without any
# association with a dashboard.
# Configures how long Grafana stores API annotations. Default is 0, which keeps them forever.
# This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
;max_age =
# Configures max number of API annotations that Grafana keeps. Default value is 0, which keeps all API annotations.
;max_annotations_to_keep =
#################################### Explore #############################
[explore]
# Enable the Explore section
@@ -762,3 +818,23 @@
[feature_toggles]
# enable features, separated by spaces
;enable =
[date_formats]
# For information on what formatting patterns that are supported https://momentjs.com/docs/#/displaying/
# Default system date format used in time range picker and other places where full time is displayed
;full_date = YYYY-MM-DD HH:mm:ss
# Used by graph and other places where we only show small intervals
;interval_second = HH:mm:ss
;interval_minute = HH:mm
;interval_hour = MM/DD HH:mm
;interval_day = MM/DD
;interval_month = YYYY-MM
;interval_year = YYYY
# Experimental feature
;use_browser_locale = false
# Default timezone for user preferences. Options are 'browser' for the browser local timezone or a timezone name from IANA Time Zone database, e.g. 'UTC' or 'Europe/Amsterdam' etc.
;default_timezone = browser

View File

@@ -66,7 +66,7 @@ if err := s.bus.Dispatch(cmd); err != nil {
}
```
**Note:** `Dispatch` will return an error if no handler is registered for that command.
> **Note:** `Dispatch` will return an error if no handler is registered for that command.
**Tip:** Browse the available commands in the `models` package.
@@ -87,7 +87,7 @@ func (s *MyService) SendStickers(cmd *models.SendStickersCommand) error {
}
```
**Note:** The handler method may return an error if unable to complete the command.
> **Note:** The handler method may return an error if unable to complete the command.
## Queries

View File

@@ -40,7 +40,7 @@ func init() {
}
```
`init` functions are only run whenever a package is imported, so we also need to import the package in the application. In the `server.go` file under `pkg/cmd/grafana-server`, import the package we just created:
`init` functions are only run whenever a package is imported, so we also need to import the package in the application. In the `server.go` file under `pkg/server`, import the package we just created:
```go
import _ "github.com/grafana/grafana/pkg/services/mysvc"
@@ -66,4 +66,4 @@ type MyService struct {
}
```
**Note:** Any injected dependency needs to be an exported field. Any unexported fields result in a runtime error.
> **Note:** Any injected dependency needs to be an exported field. Any unexported fields result in a runtime error.

View File

@@ -27,11 +27,14 @@ npm install -g yarn
## Download Grafana
We recommend using Go to download the source code for the Grafana project:
We recommend using the Git command-line interface to download the source code for the Grafana project:
1. Add `export GOPATH=$HOME/go/` to the bottom of your `$HOME/.bash_profile`.
1. Open a terminal and run `go get github.com/grafana/grafana` in your terminal. This command downloads, and installs Grafana to your `$GOPATH`.
1. Open `$GOPATH/src/github.com/grafana/grafana` in your favorite code editor.
1. Open a terminal and run `git clone https://github.com/grafana/grafana.git`. This command downloads Grafana to a new `grafana` directory in your current directory.
1. Open the `grafana` directory in your favorite code editor.
For alternative ways of cloning the Grafana repository, please refer to [GitHub's cloning a repository](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository) documentation.
**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.
## Build Grafana
@@ -125,7 +128,7 @@ yarn e2e:dev
## Configure Grafana for development
The default configuration, `grafana.ini`, is located in the `conf` directory.
The default configuration, `defaults.ini`, is located in the `conf` directory.
To override the default configuration, create a `custom.ini` file in the `conf` directory. You only need to add the options you wish to override.
@@ -171,7 +174,7 @@ make build-docker-full
The resulting image will be tagged as grafana/grafana:dev.
**Note:** If you've already set up a local development environment, and you're running a `linux/amd64` machine, you can speed up building the Docker image:
> **Note:** If you've already set up a local development environment, and you're running a `linux/amd64` machine, you can speed up building the Docker image:
1. Build the frontend: `go run build.go build-frontend`.
1. Build the Docker image: `make build-docker-dev`.
@@ -184,7 +187,7 @@ Are you having issues with setting up your environment? Here are some tips that
### Too many open files when running `make run`
Depending on your environment, you may have to increase the maximum number of open files allowed. For the rest of this section, we will assume you are on a Unix like OS (e.g. Linux/MacOS), where you can control the maximum number of open files through the [ulimit](https://ss64.com/bash/ulimit.html) shell command.
Depending on your environment, you may have to increase the maximum number of open files allowed. For the rest of this section, we will assume you are on a Unix like OS (e.g. Linux/macOS), where you can control the maximum number of open files through the [ulimit](https://ss64.com/bash/ulimit.html) shell command.
To see how many open files are allowed, run:
@@ -208,8 +211,8 @@ Another alternative is to limit the files being watched. The directories that ar
To retain your `ulimit` configuration, i.e. so it will be remembered for future sessions, you need to commit it to your command line shell initialization file. Which file this will be depends on the shell you are using, here are some examples:
* zsh -> ~/.zshrc
* bash -> ~/.bashrc
- zsh -> ~/.zshrc
- bash -> ~/.bashrc
Commit your ulimit configuration to your shell initialization file as follows ($LIMIT being your chosen limit and $INIT_FILE being the initialization file for your shell):

View File

@@ -1,6 +1,6 @@
# Backend style guide
Grafanas backend has been developed for a long time with a mix of code styles. This guide explains how we want to write Go code in the future.
Grafana's backend has been developed for a long time with a mix of code styles. This guide explains how we want to write Go code in the future.
Unless stated otherwise, use the guidelines listed in the following articles:

View File

@@ -1,46 +1,41 @@
# Markdown style guide
This guide for Markdown style helps keep contributions consistent across all documentation
created for Grafana products. Refer to the guide and update its sections as needed when a
Subject Matter Expert answers a question on Markdown style, or a decision is made about
how to apply Markdown.
This guide for Markdown style helps keep contributions consistent across all documentation created for Grafana products. Refer to the guide and update its sections as needed when a Subject Matter Expert answers a question on Markdown style, or a decision is made about how to apply Markdown.
## Headers
In Markdown, the number of "#" symbols creates different heading levels, similar to
HTML heading levels:
In Markdown, the number of "#" symbols creates different heading levels, similar to HTML heading levels:
**Example**
* \# is \<h1>.
* \#\# is \<h2>.
* \#\#\# is \<h3>.
- \# is \<h1>.
- \#\# is \<h2>.
- \#\#\# is \<h3>.
Start your document with a single ``#`` for the title of the page. Add the sub-headings with two ``##``.
## Bold and emphasis
* Make text **bold** using two asterisks.
- Make text **bold** using two asterisks.
**Example:** It is ``**important**`` to use Github Flavored Markdown emoji consistently.
**Example:** It is ``**important**`` to use GitHub-flavored Markdown emoji consistently.
* Make text ``*emphasized*`` using single `` _underscores_`` or a single asterisk.
- Make text ``_emphasized_`` using single `` _underscores_``. Do not use the single asterisk, it can be easily confused with bold.
**Example:** Github Flavored Markdown emoji should _only_ appear in specific cases.
**Example:** GitHub-flavored markdown emoji should _only_ appear in specific cases.
## Links and references
Create links to other website by wrapping the display text in square brackets, and
the web URL in curved brackets.
Create links to other website by wrapping the display text in square brackets, and the web URL in curved brackets.
\[text to display](www.website.com)
**Example:** For more information on including emoji in Github flavored Markdown, refer to the [webfx page on emoji](https://www.webfx.com/tools/emoji-cheat-sheet/) for a list of emoji.
**Example:** For more information on including emoji in GitHub-flavored markdown, refer to the [webfx page on emoji](https://www.webfx.com/tools/emoji-cheat-sheet/) for a list of emoji.
## Block quotes
Include Block quotes inside text using right-facing arrows:
Include block quotes inside text using right-facing arrows:
**Example**
@@ -50,8 +45,7 @@ Include Block quotes inside text using right-facing arrows:
## Code blocks
Code blocks written with markdown can show off syntax highlighting specific
to different languages. Use three back tics to create a code block:
Code blocks written with markdown can show off syntax highlighting specific to different languages. Use three back tics to create a code block:
```
function testNum(a) {
@@ -63,8 +57,7 @@ function testNum(a) {
}
```
Write the name of the language after the first set of back tics, no spaces,
to show specific syntax highlighting. For example; "\```javascript" produces the following:
Write the name of the language after the first set of back tics, no spaces, to show specific syntax highlighting. For example; "\```javascript" produces the following:
```javascript
function testNum(a) {
@@ -77,10 +70,7 @@ function testNum(a) {
```
## Tables
Construct a table by typing the table headings, and separating them with
a "|" character. Then, add a second line of dashes ("-") separated by
another "|" character. When constructing the table cells, separate each cell data with another
"|".
Construct a table by typing the table headings, and separating them with a "|" character. Then, add a second line of dashes ("-") separated by another "|" character. When constructing the table cells, separate each cell data with another "|".
**Example**
@@ -116,14 +106,13 @@ The list above will always display as:
### Unordered lists
Build a list of points - an unordered or unnumbered list - by
using "\*" characters.
Build a list of points - an unordered or unnumbered list - by using "\-" (hyphen) characters.
**Example**
* First
* Another item
* The last list item
- First
- Another item
- The last list item
## Images
@@ -135,10 +124,8 @@ This follows the format of "!", alt text wrapped in "[]" and the link URL wrappe
## Comments
You can include comments that will not appear in published markdown using the
following syntax:
You can include comments that will not appear in published markdown using the following syntax:
\[comment]: <> (Comment text to display)
The word "comment" wrapped in "[]" followed by a ":", a space, "<>", and then
the comment itself wrapped in "()".
The word "comment" wrapped in "[]" followed by a ":", a space, "<>", and then the comment itself wrapped in "()".

View File

@@ -4,7 +4,7 @@ This style guide applies to all documentation created for Grafana products.
For information about how to write technical documentation, we suggest reviewing the content of the [Google Technical Writing courses](https://developers.google.com/tech-writing).
The [Divio documentation system](https://documentation.divio.com/) site is also a good resource.
The [Divio documentation system](https://documentation.divio.com/) site and the [Vue writing principles](https://v3.vuejs.org/guide/contributing/writing-guide.html#principles) are also good resources.
## Contributing
@@ -18,22 +18,51 @@ For all items not covered in this guide, refer to the [Microsoft Style Guide](ht
The [codespell](https://github.com/codespell-project/codespell) tool is run for every change to catch common misspellings.
## Inclusive language
This section provides guidelines on how to avoid using charged language in documentation.
### Allowing and blocking
Don't use "whitelist" or "blacklist" when referring to allowing or blocking content or traffic.
- When used as a noun, use "allowlist" or "blocklist".
- When used as a verb, use "allow" or "block"
Example: _To **allow** outgoing traffic, add the IP to the **allowlist**._
### Leader and follower
Don't use "master" or "slave" to describe relationships between nodes or processes.
- Use "leader", "main" or "primary," instead of "master."
- Use "follower" or "secondary," instead of "slave."
### Exceptions
When referring to a configuration or settings used by third-party libraries och technologies outside the Grafana project, prefer the original name to avoid confusion.
For example, use "master" when referring to the default Git branch.
## Grafana-specific style
The following sections provide general guidelines on topics specific to Grafana documentation. Note that for the most part, these are *guidelines*, not rigid rules. If you have questions, ask in the #docs channel of Grafana Slack.
### General
* Use active voice. Avoid passive voice.
- Use active voice. Avoid passive voice.
- Passive: The heatmap visualization is displayed.
- Active: Grafana displays the heatmap visualization.
* Write in the imperative second person. Examples: You can write a query. Click the panel. Close the window.
* Write in present tense.
- Write in the imperative second person. Examples: You can write a query. Click the panel. Close the window.
- Write in present tense.
- Not: The panel will open.
- Use: The panel opens. Grafana opens the panel.
* Do not use an ampersand (&) as an abbreviation for "and."
- Do not use an ampersand (&) as an abbreviation for "and."
- **Exceptions:** If an ampersand is used in the Grafana UI, then match the UI.
* Avoid using internal slang and jargon in technical documentation.
- Avoid using internal slang and jargon in technical documentation.
- Do not use two spaces after a period. Only add one space after each sentence. Do not add a space at the end of the paragraph.
- Sentence length should be 25 words or less. If your thought is longer than 25 words, consider breaking up the sentence or changing the format to a list.
- Paragraphs should be three sentences or fewer. Break up long paragraphs.
### File naming conventions
@@ -43,39 +72,39 @@ The following sections provide general guidelines on topics specific to Grafana
### Headings
* Write headings in sentence case, not title case.
- Write headings in sentence case, not title case.
- This is sentence case
- This Is Title Case
* Task topic headings start with a verb.
- Task topic headings start with a verb.
- Write a query. Create a dashboard.
* Concept and reference topic headings should be nouns or gerunds. Examples: Contributing to docs, Visualizations, Style guide
* Avoid following one heading with another heading.
* Avoid skipping heading levels. For example, an h1 should be followed by an h2 rather than an h3.
* Avoid having just one lower-level heading. For example, h1, h2, h2, h3, h3, h2 is a good order. Do no go h1, h2, h3, h2, h3, h2.
* Don't include parenthetical words like (Important!) in headings.
- Concept and reference topic headings should be nouns or gerunds. Examples: Contributing to docs, Visualizations, Style guide
- Avoid following one heading with another heading.
- Avoid skipping heading levels. For example, an h1 should be followed by an h2 rather than an h3.
- Avoid having just one lower-level heading. For example, h1, h2, h2, h3, h3, h2 is a good order. Do not go h1, h2, h3, h2, h3, h2.
- Don't include parenthetical words like (Important!) in headings.
### Images
* Preferred format is .png
* File extension should be all lowercase.
* Preferred DPI is 72.
* 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.
- Preferred format is .png
- File extension should be all lowercase.
- Preferred DPI is 72.
- 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.
### Capitalization
* Grafana, Loki, and Prometheus are always capitalized unless part of a code block.
* API names are always Title Case, followed by "API"—for example, "Dashboard Permissions API"
* Git is always capitalized, unless part of a code block.
* Abbreviations are always capitalized (such as API, HTTP, ID, JSON, SQL, or URL) unless they are part of a code block.
* Menu and submenu titles always use sentence case: capitalize the first word, and lowercase the rest.
- Grafana, Loki, and Prometheus are always capitalized unless part of a code block.
- API names are always Title Case, followed by "API"—for example, "Dashboard Permissions API"
- Git is always capitalized, unless part of a code block.
- Abbreviations are always capitalized (such as API, HTTP, ID, JSON, SQL, or URL) unless they are part of a code block.
- Menu and submenu titles always use sentence case: capitalize the first word, and lowercase the rest.
- "Dashboards" when referring to the submenu title.
- "Keyboard shortcuts" when referring to the submenu topic.
* Generic and plural versions are always lowercase.
- Generic and plural versions are always lowercase.
- Lowercase "dashboard" when referring to a dashboard generally.
- Lowercase "dashboards" when referring to multiple dashboards.
* **Exceptions:** If a term is lowercased in the Grafana UI, then match the UI.
- **Exceptions:** If a term is lowercased in the Grafana UI, then match the UI.
### Links and references
@@ -88,16 +117,46 @@ When possible, use the exact title of the page or section you are linking to as
**Example**
Refer to the [Documentation style guide](documentation-style-guide.md) for information about word usage and capitalization guidelines.
### Notes, tips, cautions, and warnings
Grafana documentation uses notes, tips, cautions, and warnings. Notes are the most common. The format for all of them is indented, bold, sentence case:
```
> **Note:**
```
#### Notes
Notes provide additional information that the user should be extra aware of. For example:
> **Note:** This page describes a feature for Grafana 7.0 beta.
#### Tips
Tips describe alternate or more efficient ways of doing things. Rarely used.
#### Cautions
Cautions warn the user that they should proceed with caution. Use cautions to emphasize the potential downside of a course of action.
> **Caution:** If you turn off authentication requirements, then anyone can access your Grafana instance. This poses a considerable security risk.
#### Warnings
Warnings tell the user not to do something. For example:
> **Warning:** Grafana does not back up your dashboards. If you delete a dashboard, then you might not be able to recover it.
### Command line examples
* Do not assume everyone is using Linux. Make sure instructions include enough information for Windows and Mac users to successfully complete procedures.
- Do not assume everyone is using Linux. Make sure instructions include enough information for Windows and Mac users to successfully complete procedures.
* Do not add `$` before commands. Make it easy for users to copy and paste commands.
- Do not add `$` before commands. Make it easy for users to copy and paste commands.
* **Wrong:** `$ sudo yum install grafana`
* **Right:** `sudo yum install grafana`
- **Wrong:** `$ sudo yum install grafana`
- **Right:** `sudo yum install grafana`
* Include `sudo` before commands that require `sudo` to work.
- Include `sudo` before commands that require `sudo` to work.
For terminal examples and Grafana configuration, use a `bash` code block:
```bash
@@ -121,26 +180,26 @@ Two words if used as a verb, one word if used as a noun.
**Examples**
* Check out these new features!
* Proceed to checkout.
- Check out these new features!
- Proceed to checkout.
#### data source
Two words, not one
**Exceptions:**
* "datasource" used as an identifier
* "datasource" in a URL
* Use "data source" instead of "datasource" unless used as an identifier, in code, or as part of a URL.
* Spell out "repository" and avoid the shorter "repo."
* Use "Unix" as the preferred spelling (as opposed to "UNIX", or "unix") when referring to the family of operating systems.
- "datasource" used as an identifier
- "datasource" in a URL
- Use "data source" instead of "datasource" unless used as an identifier, in code, or as part of a URL.
- Spell out "repository" and avoid the shorter "repo."
- Use "Unix" as the preferred spelling (as opposed to "UNIX", or "unix") when referring to the family of operating systems.
#### display (verb)
*Display* is a transitive verb, which means it always needs a direct object.
* Correct, active voice: Grafana displays your list of active alarms.
* Correct, but passive voice: Your list of active alarms is displayed.
* Incorrect: The list of active alarms displays.
- Correct, active voice: Grafana displays your list of active alarms.
- Correct, but passive voice: Your list of active alarms is displayed.
- Incorrect: The list of active alarms displays.
#### drawer
@@ -156,7 +215,7 @@ One word, not two.
#### open source, open-source
Do not hyphenate when used as an adjective unless the lack of hyphen would cause confusion. For example: _Open source software design is the most open open-source system I can imagine._
Do not hyphenate when used as an adjective unless the lack of hyphen would cause confusion. For example: _Open source software design is the most open open-source system I can imagine._
Do not hyphenate when it is used as a noun. For example: _Open source is the best way to develop software._
@@ -166,5 +225,5 @@ Two words if used as a verb, one word if used as a noun.
**Examples**
* Set up the workspace.
* Initial setup might take five minutes.
- Set up the workspace.
- Initial setup might take five minutes.

View File

@@ -0,0 +1,25 @@
# End-to-End Tests for core Grafana
This document is specific to the [Grafana repository](https://github.com/grafana/grafana). Be sure that you've read the [generalized E2E document](e2e.md).
## Commands
- `yarn e2e` Creates an isolated `grafana-server` home under _\<repo-root>/e2e/tmp_ with provisioned data sources and dashboards. This copies locally build binary and frontend assets from your repo root so you need to have a built backend and frontend for this to run locally. The server starts on port 3001 so it does not conflict with your normal dev server.
- `yarn e2e:debug` Same as above but runs the tests in chrome and does not shutdown after completion.
- `yarn e2e:dev` Same as above but does not run any tests on startup. It lets you pick a test first.
If you already have a Grafana instance running, you can provide a specific URL by setting the `BASE_URL` environment variable:
```shell
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.
- `./e2e/run-suite <debug|dev|noarg>` Starts cypress in different modes.
## Test suites
All the integration tests are located at _\<repo-root>/e2e/suite\<x>/specs_. The page objects and reusable flows are in the [_\<repo-root>/packages/grafana-e2e_](../../packages/grafana-e2e) package.

View File

@@ -0,0 +1,28 @@
# End-to-End Tests for plugins
Be sure that you've read the [generalized E2E document](e2e.md).
## Commands
- `yarn test:e2e` will run [Grafana's E2E utility](../../packages/grafana-e2e) against an already running Grafana server.
- `yarn test:e2e:update` will run `test:e2e` but instead of asserting that screenshots match their expected fixtures, they'll be replaced with new ones.
Your running Grafana instance can be targeted by setting the `CYPRESS_BASE_URL`, `CYPRESS_USERNAME` and `CYPRESS_PASSWORD` environment variableS:
```shell
CYPRESS_BASE_URL=https://localhost:3000 CYPRESS_USERNAME=admin CYPRESS_PASSWORD=admin yarn test:e2e
```
## Test suites
All tests are located at _\<repo-root>/cypress/integration_ by default.
## Things to test
- Add data source (if applicable)
- Add panel
- Edit panel
- Annotations (if applicable)
- Aliases (if applicable)
- Template variables
- "Explore" view

View File

@@ -1,139 +1,122 @@
# End to end test framework
# End-to-End tests
Grafana Labs uses a minimal home grown solution built on top of Cypress for our end to end (e2e) tests.
Grafana Labs uses a minimal [homegrown solution](../../packages/grafana-e2e) built on top of [Cypress](https://cypress.io) for its end-to-end (E2E) tests.
## Commands
Important notes:
- `yarn e2e` Creates an isolated grafana-server home under `<repo-root>/e2e/tmp` with provisioned data sources and dashboards. This
copies locally build binary and frontend assets from your repo root so you need to have a built backend and frontend
for this to run locally. The server starts on port 3001 so it does not conflict with your normal dev server.
- `yarn e2e:debug` Same as above but runs the tests in chrome and does not shutdown after completion.
- `yarn e2e:dev` Same as above but does not run any tests on startup. It lets you pick a test first.
- We generally store all element identifiers ([CSS selectors](https://mdn.io/docs/Web/CSS/CSS_Selectors)) within the framework for reuse and maintainability.
- We generally do not use stubs or mocks as to fully simulate a real user.
- Cypress' promises [do not behave as you'd expect](https://docs.cypress.io/guides/core-concepts/introduction-to-cypress.html#Mixing-Async-and-Sync-code).
- [Testing core Grafana](e2e-core.md) is slightly different than [testing plugins](e2e-plugins.md).
If you already have a Grafana instance running, you can provide a specific URL by setting the `BASE_URL` environment variable:
## Framework structure
```
BASE_URL=http://172.0.10.2:3333 yarn e2e
```
Inspired by https://martinfowler.com/bliki/PageObject.html
The above commands use some utils scripts under `<repo-root>/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.
- `./e2e/run-suite <debug|dev|noarg>` Starts cypress in different modes.
## Test Suites
All the integration tests are located at `e2e/suite<x>/specs`. The page objects and reusable flows are in the
`packages/grafana-e2e` package.
## Basic concepts
Here is a good introduction to e2e best practices: https://martinfowler.com/bliki/PageObject.html.
- `Selector`: A unique identifier that is used from the e2e framework to retrieve an element from the Browser
- `Selector`: A unique identifier that is used from the E2E framework to retrieve an element from the Browser
- `Page`: An abstraction for an object that contains one or more `Selectors` with `visit` function to navigate to the page.
- `Component`: An abstraction for an object that contains one or more `Selectors` but without `visit` function
- `Flow`: An abstraction that contains a sequence of actions on one or more `Pages` that can be reused and shared between tests
## Basic example
Let's start with a simple example with a single selector. For simplicity, all examples are in JSX.
Let's start with a simple [JSX](https://reactjs.org/docs/introducing-jsx.html) example containing a single input field that we want to populate during our E2E test:
In our example app, we have an input that we want to type some text into during our e2e test.
```jsx harmony
<div>
<input type="text" className="gf-form-input login-form-input" />
</div>
```jsx
<input
className="gf-form-input login-form-input"
type="text"
/>
```
We could define a selector using `JQuery` [type selectors](https://api.jquery.com/category/selectors/) with a string like `'.gf-form-input.login-form-input'` but that would be brittle as style changes occur frequently. Furthermore there is nothing that signals to future developers that this input is part of an e2e test.
We _could_ target the field with a CSS selector like `.gf-form-input.login-form-input` but that would be brittle as style changes occur frequently. Furthermore there is nothing that signals to future developers that this input is part of an E2E test. At Grafana, we use `aria-label` attributes as our preferred way of defining selectors instead of [`data-*`](https://mdn.io/docs/Web/HTML/Global_attributes/data-*) as they also aid in [accessibility](https://mdn.io/docs/Learn/Accessibility/What_is_accessibility):
At Grafana, we use `aria-label` as our preferred way of defining selectors instead of `data-*` attributes. This also aids in accessibility.
Let's add a descriptive `aria-label` to our simple example.
```jsx harmony
<div>
<input type="text" className="gf-form-input login-form-input" aria-label="Username input field" />
</div>
```jsx
<input
aria-label="Username input field"
className="gf-form-input login-form-input"
type="text"
/>
```
Now that we added the `aria-label` we suddenly get more information about this particular field. It's an input field that represents a username, but there it's still not really signaling that it's part of an e2e test.
The next step is to create a `Page` representation in our e2e test framework to glue the test with the real implementation using the `pageFactory` function. For that function we can supply a `url` and `selectors` like in the example below:
The next step is to create a `Page` representation in our E2E framework to glue the test with the real implementation using the `pageFactory` function. For that function we can supply a `url` and `selectors` like in the example below:
```typescript
export const Login = {
url: "/login", // used when called from Login.visit()
username: "Username input field", // used when called from Login.username().type('Hello World')
// Called via `Login.visit()`
url: '/login',
// Called via `Login.username()`
username: 'Username input field',
};
```
The next step is to add the `Login` page to the exported const `Pages` in `packages/grafana-e2e-selectors/src/selectors/pages.ts` so that it appears when we type `e2e.pages` in our IDE.
The next step is to add the `Login` page to the `Pages` export within [_\<repo-root>/packages/grafana-e2e-selectors/src/selectors/pages.ts_](../../packages/grafana-e2e-selectors/src/selectors/pages.ts) so that it appears when we type `e2e.pages` in our IDE.
```ecmascript 6
```typescript
export const Pages = {
Login,
...,
...,
...,
,
,
,
};
```
Now that we have a `Page` called `Login` in our `Pages` const we can use that to add a selector in our html like shown below and now this really signals to future developers that it is part of an e2e test.
Now that we have a `Page` called `Login` in our `Pages` const we can use that to add a selector in our html like shown below and now this really signals to future developers that it is part of an E2E test.
```jsx harmony
<div>
<input type="text" className="gf-form-input login-form-input" aria-label={selectors.pages.Login.username} />
</div>
```jsx
import { selectors } from '@grafana/e2e-selectors';
<input
aria-label={selectors.pages.Login.username}
className="gf-form-input login-form-input"
type="text"
/>
```
The last step in our example is to use our `Login` page as part of a test.
- The `url` property is used whenever we call the `visit` function and is equivalent to the Cypress function [cy.visit()](https://docs.cypress.io/api/commands/visit.html#Syntax).
> Best practice after calling `visit` is to always call `should` on a selector to prevent flaky tests when you try to access an element that isn't ready. For more information, refer to [Commands vs. assertions](https://docs.cypress.io/guides/core-concepts/retry-ability.html#Commands-vs-assertions).
- Any defined selector can be accessed from the `Login` page by invoking it. This is equivalent to the result of the Cypress function [cy.get(...)](https://docs.cypress.io/api/commands/get.html#Syntax).
- The `url` property is used whenever we call the `visit` function and is equivalent to the Cypress' [`cy.visit()`](https://docs.cypress.io/api/commands/visit.html#Syntax).
```ecmascript 6
- Any defined selector can be accessed from the `Login` page by invoking it. This is equivalent to the result of the Cypress function [`cy.get(…)`](https://docs.cypress.io/api/commands/get.html#Syntax).
```typescript
describe('Login test', () => {
it('Should pass', () => {
it('passes', () => {
e2e.pages.Login.visit();
// To prevent flaky tests, always do a .should on any selector that you expect to be in the DOM.
// To prevent flaky tests, always do a `.should` on any selector that you expect to be in the DOM.
// Read more here: https://docs.cypress.io/guides/core-concepts/retry-ability.html#Commands-vs-assertions
e2e.pages.Login.username().should('be.visible');
e2e.pages.Login.username().type('admin');
e2e.pages.Login.username()
.should('be.visible')
.type('admin');
});
});
```
## Advanced example
Let's take a look at an example that uses the same `selector` for multiple items in a list for instance. In this example app we have a list of data sources that we want to click on during an e2e test.
Let's take a look at an example that uses the same `selector` for multiple items in a list for instance. In this example app we have a list of data sources that we want to click on during an E2E test.
```jsx harmony
```jsx
<ul>
{dataSources.map(dataSource => (
<li className="card-item-wrapper" key={dataSource.id}>
<a className="card-item" href={`datasources/edit/${dataSource.id}`}>
<div className="card-item-name">{dataSource.name}</div>
{dataSources.map(({ id, name }) => (
<li className="card-item-wrapper" key={id}>
<a className="card-item" href={`datasources/edit/${id}`}>
<div className="card-item-name">{name}</div>
</a>
</li>
))}
</ul>
```
````
Just as before in the basic example we'll start by creating a page abstraction using the `pageFactory` function:
```typescript
export const DataSources = {
url: '/datasources',
dataSources: (dataSourceName: string) => `Data source list item ${dataSourceName}`,
};
````
```
You might have noticed that instead of a simple `string` as the `selector`, we're using a `function` that takes a string parameter as an argument and returns a formatted string using the argument.
@@ -141,13 +124,13 @@ Just as before we need to add the `DataSources` page to the exported const `Page
The next step is to use the `dataSources` selector function as in our example below:
```jsx harmony
```jsx
<ul>
{dataSources.map(dataSource => (
<li className="card-item-wrapper" key={dataSource.id}>
<a className="card-item" href={`datasources/edit/${dataSource.id}`}>
<div className="card-item-name" aria-label={selectors.pages.DataSources.dataSources(dataSource.name)}>
{dataSource.name}
{dataSources.map(({ id, name }) => (
<li className="card-item-wrapper" key={id}>
<a className="card-item" href={`datasources/edit/${id}`}>
<div className="card-item-name" aria-label={selectors.pages.DataSources.dataSources(name)}>
{name}
</div>
</a>
</li>
@@ -155,55 +138,25 @@ The next step is to use the `dataSources` selector function as in our example be
</ul>
```
When this list is rendered with the data sources with names `A`, `B`, `C` the resulting html would become:
When this list is rendered with the data sources with names `A`, `B` and `C` ,the resulting HTML would look like:
```jsx harmony
<div class="card-item-name" aria-label="Data source list item A">
A
</div>
...
<div class="card-item-name" aria-label="Data source list item B">
B
</div>
...
<div class="card-item-name" aria-label="Data source list item C">
C
</div>
```html
<div class="card-item-name" aria-label="Data source list item A">A</div>
<div class="card-item-name" aria-label="Data source list item B">B</div>
<div class="card-item-name" aria-label="Data source list item C">C</div>
```
Now we can write our test. The one thing that differs from the `Basic example` is that we pass in which data source we want to click on as an argument to the selector function:
Now we can write our test. The one thing that differs from the [basic example](#basic-example) above is that we pass in which data source we want to click on as an argument to the selector function:
> Best practice after calling `visit` is to always call `should` on a selector to prevent flaky tests when you try to access an element that isn't ready. For more information, refer to [Commands vs. assertions](https://docs.cypress.io/guides/core-concepts/retry-ability.html#Commands-vs-assertions).
```ecmascript 6
```typescript
describe('List test', () => {
it('Clicking on data source named B', () => {
it('clicks on data source named B', () => {
e2e.pages.DataSources.visit();
// To prevent flaky tests, always do a .should on any selector that you expect to be in the DOM.
// Read more here: https://docs.cypress.io/guides/core-concepts/retry-ability.html#Commands-vs-assertions
e2e.pages.DataSources.dataSources('B').should('be.visible');
e2e.pages.DataSources.dataSources('B').click();
e2e.pages.DataSources.dataSources('B')
.should('be.visible')
.click();
});
});
```
## Debugging PhantomJS image rendering
### Common Error
The most common error with PhantomJs image rendering is when a PR introduces an import that has functionality that's not supported by PhantomJs. To quickly identify which new import causes this you can use a tool like `es-check`.
1. Run > `npx es-check es5 './public/build/*.js'`
2. Check the output for files that break es5 compatibility.
3. Lazy load the failing imports if possible.
### Debugging
There is no easy or comprehensive way to debug PhantomJS smoke test (image rendering) failures. However, PhantomJS exposes remote debugging interface which can give you a sense of what is going wrong in the smoke test. Before performing the steps described below make sure your local Grafana instance is running:
1. Go to `tools/phantomjs` directory
2. Execute `phantomjs` binary against `render.js` file: `./phantomjs --remote-debugger-port=9009 --remote-debugger-autorun=yes ./render.js url="http://localhost:3000"`
3. In your browser navigate to `http://localhost:9009/`
4. Select `http://localhost:3000/login` from the list. You will get access to Webkit's inspector to see the console's output from the smoke test.
The method described above is not perfect, but is helpful to evaluate smoke tests breaking due to bundle errors.

View File

@@ -7,13 +7,31 @@ Generally we follow the Airbnb [React Style Guide](https://github.com/airbnb/jav
- [Frontend Style Guide](#frontend-style-guide)
- [Table of Contents](#table-of-contents)
- [Basic rules](#basic-rules)
- [Naming conventions](#naming-conventions)
- [File and directory naming conventions](#file-and-directory-naming-conventions)
- [Code organization](#code-organization)
- [Exports](#exports)
- [Comments](#comments)
- [Naming conventions](#naming-conventions)
- [Use `PascalCase` for:](#use-pascalcase-for)
- [Typescript class names](#typescript-class-names)
- [Types and interfaces](#types-and-interfaces)
- [Enums](#enums)
- [Use `camelCase` for:](#use-camelcase-for)
- [Functions](#functions)
- [Methods](#methods)
- [Variables](#variables)
- [React state and properties](#react-state-and-properties)
- [Emotion class names](#emotion-class-names)
- [Use `ALL_CAPS` for constants.](#use-all_caps-for-constants)
- [Use BEM convention for SASS styles.](#use-bem-convention-for-sass-styles)
- [Typing](#typing)
- [File and directory naming conventions](#file-and-directory-naming-conventions)
- [Code organization](#code-organization)
- [Exports](#exports)
- [Comments](#comments)
- [Linting](#linting)
- [React](#react)
- [Props](#props)
- [Name callback props and handlers with an "on" prefix.](#name-callback-props-and-handlers-with-an-on-prefix)
- [React Component definitions](#react-component-definitions)
- [React Component constructor](#react-component-constructor)
- [React Component defaultProps](#react-component-defaultprops)
- [State management](#state-management)
- [Proposal for removing or replacing Angular dependencies](https://github.com/grafana/grafana/pull/23048)
@@ -192,7 +210,7 @@ const stringArray: string[] = [];
Specify function return types explicitly in new code. This improves readability by being able to tell what a function returns just by looking at the signature. It also prevents errors when a function's return type is broader than expected by the author.
> Note: We don't have linting for this enabled because of lots of old code that needs to be fixed first.
> **Note:** We don't have linting for this enabled because of lots of old code that needs to be fixed first.
```typescript
// bad

View File

@@ -26,19 +26,19 @@ Try to *chunk* your content. This means you should organize the document so that
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
- 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
- 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
- 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

View File

@@ -30,12 +30,12 @@ Concept topics or sections explain *what* and *why*. They do not explain *how*.
Continuing the example in the previous section, here is a sample Grafana workflow.
1. Install Grafana. <link to task for installing Grafana>
2. Set up data sources. <link to data sources concept topic, which links to data source task topics>
3. Create panels. <link to panel concept topic, which links to tasks>
4. Create dashboards. <link to panel concept topic, which links to tasks>
5. Enter queries. <link to query editor concept topic>
6. Add users. <link to user management concept topic, which links to tasks>
7. Create playlists. <link to Playlist topic that contains concept information and tasks>
1. Set up data sources. <link to data sources concept topic, which links to data source task topics>
1. Create panels. <link to panel concept topic, which links to tasks>
1. Create dashboards. <link to panel concept topic, which links to tasks>
1. Enter queries. <link to query editor concept topic>
1. Add users. <link to user management concept topic, which links to tasks>
1. Create playlists. <link to Playlist topic that contains concept information and tasks>
## Next steps

View File

@@ -25,9 +25,9 @@ Often reference topics are linked from *task* topics, because they contain infor
Lists of commands or parameters are often organized in reference topics. The information you need to present will dictate the format.
* They might
* be in
* unordered lists.
- They might
- be in
- unordered lists.
[Configuration](https://grafana.com/docs/grafana/latest/installation/configuration/) is an example of lists.

View File

@@ -42,7 +42,7 @@ Write one-step tasks as simple sentences, not as unordered lists or numbered lis
Short tasks can be grouped. How short constitutes "short" is a judgment call based on number of steps and how long individual steps are.
1. Use your judgment.
2. Ask your coworkers or someone on the Comm team for advice if you aren't sure.
1. Ask your coworkers or someone on the Comm team for advice if you aren't sure.
## Next steps

View File

@@ -2,9 +2,9 @@
This folder contains useful scripts and configuration so you can:
* Configure data sources in Grafana for development.
* Configure dashboards for development and test scenarios.
* Create docker-compose file with databases and fake data.
- Configure data sources in Grafana for development.
- Configure dashboards for development and test scenarios.
- Create docker-compose file with databases and fake data.
## Install Docker

View File

@@ -1,4 +1,3 @@
apiVersion: 1
datasources:
@@ -226,6 +225,7 @@ datasources:
jsonData:
authType: credentials
defaultRegion: eu-west-2
customMetricsNamespaces: "CWAgent"
# Keep to test old /api/prom API
- name: gdev-loki-0.3
@@ -270,5 +270,3 @@ datasources:
access: proxy
url: http://localhost:9411
editable: false

View File

@@ -0,0 +1,110 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"iteration": 1596705352582,
"links": [],
"panels": [
{
"datasource": null,
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 16,
"w": 24,
"x": 0,
"y": 0
},
"id": 11,
"options": {
"content": "## Global variables\n\n* `__dashboard` = `${__dashboard}`\n* `__dashboard.name` = `${__dashboard.name}`\n* `__dashboard.uid` = `${__dashboard.uid}`\n* `__org.name` = `${__org.name}`\n* `__org.id` = `${__org.id}`\n* `__user.id` = `${__user.id}`\n* `__user.login` = `${__user.login}`\n \n## Formats\n\n* `Server:raw` = `${Server:raw}`\n* `Server:regex` = `${Server:regex}`\n* `Server:lucene` = `${Server:lucene}`\n* `Server:glob` = `${Server:glob}`\n* `Server:pipe` = `${Server:pipe}`\n* `Server:distributed` = `${Server:distributed}`\n* `Server:csv` = `${Server:csv}`\n* `Server:html` = `${Server:html}`\n* `Server:json` = `${Server:json}`\n* `Server:percentencode` = `${Server:percentencode}`\n* `Server:singlequote` = `${Server:singlequote}`\n* `Server:doublequote` = `${Server:doublequote}`\n* `Server:sqlstring` = `${Server:sqlstring}`\n* `Server:date` = `${Server:date}`\n* `Server:text` = `${Server:text}`\n\n",
"mode": "markdown"
},
"pluginVersion": "7.1.0",
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Variable interpolation",
"type": "text"
}
],
"schemaVersion": 26,
"style": "dark",
"tags": ["gdev", "templating"],
"templating": {
"list": [
{
"allValue": null,
"current": {
"selected": true,
"text": "All",
"value": ["$__all"]
},
"hide": 0,
"includeAll": true,
"label": null,
"multi": true,
"name": "Server",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "A'A\"A",
"value": "A'A\"A"
},
{
"selected": false,
"text": "BB\\B",
"value": "BB\\B"
},
{
"selected": false,
"text": "CCC",
"value": "CCC"
}
],
"query": "A'A\"A,BB\\B,CCC",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"]
},
"timezone": "",
"title": "Templating - Global variables and interpolation",
"uid": "HYaGDGIMk",
"version": 5
}

View File

@@ -0,0 +1,132 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": null,
"iteration": 1601526910610,
"links": [
{
"icon": "external link",
"includeVars": true,
"tags": [],
"title": "Grafana",
"tooltip": "",
"type": "link",
"url": "http://www.grafana.com"
},
{
"asDropdown": true,
"icon": "external link",
"includeVars": true,
"tags": ["templating"],
"title": "Link as DropDown",
"type": "dashboards"
},
{
"icon": "external link",
"includeVars": true,
"tags": ["demo"],
"type": "dashboards"
}
],
"panels": [
{
"description": "",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"content": "# ${custom.text}\n ",
"mode": "markdown"
},
"pluginVersion": "7.3.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "${custom.text}",
"type": "text"
}
],
"schemaVersion": 26,
"style": "dark",
"tags": ["gdev", "templating"],
"templating": {
"list": [
{
"allValue": null,
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"hide": 0,
"includeAll": true,
"label": null,
"multi": true,
"name": "custom",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "p1",
"value": "p1"
},
{
"selected": false,
"text": "p2",
"value": "p2"
},
{
"selected": false,
"text": "p3",
"value": "p3"
}
],
"query": "p1,p2,p3",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Templating - Dashboard Links and Variables",
"uid": "yBCC3aKGk",
"version": 7
}

View File

@@ -0,0 +1,235 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"iteration": 1597300832273,
"links": [],
"panels": [
{
"datasource": "CsvData",
"fieldConfig": {
"defaults": {
"custom": {
"align": null
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Query"
},
"properties": [
{
"id": "links",
"value": [
{
"title": "Search",
"url": "/d/spVR9LSMk/templating-textbox-and-data-links?var-query=${__value.raw:percentencode}"
}
]
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"showHeader": true
},
"pluginVersion": "7.2.0-pre",
"targets": [
{
"data": [
{
"fields": [
{
"config": {},
"name": "Query",
"type": "string",
"values": ["Contains+Plus", "Contains&Ampersand", "Contains white space"]
},
{
"config": {},
"name": " Test",
"type": "string",
"values": ["asd", "asd", "asd"]
}
]
}
],
"refId": "A"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Data",
"type": "table"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"hiddenSeries": false,
"id": 4,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.2.0-pre",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "${query}",
"refId": "A",
"scenarioId": "random_walk"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Query: ${query}",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}
],
"schemaVersion": 26,
"style": "dark",
"tags": ["gdev", "templating"],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": "asdasda+",
"value": "asdasda+"
},
"hide": 0,
"label": null,
"name": "query",
"options": [
{
"selected": true,
"text": "asdasda+",
"value": "asdasda+"
}
],
"query": "asdasda+",
"skipUrlSync": false,
"type": "textbox"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"]
},
"timezone": "",
"title": "Templating - Textbox & data links",
"uid": "spVR9LSMk",
"version": 9
}

File diff suppressed because it is too large Load Diff

View File

@@ -10,7 +10,7 @@ ADD etc_mtab /etc/mtab
ADD collectd.conf.tpl /etc/collectd/collectd.conf.tpl
RUN pip install envtpl
RUN pip install --no-cache-dir envtpl
ADD start_container /usr/bin/start_container
RUN chmod +x /usr/bin/start_container
CMD start_container

View File

@@ -5,33 +5,33 @@ Basic collectd-based server monitoring. Sends stats to Graphite.
Collectd metrics:
* CPU used/free/idle/etc
* Free disk (via mounting hosts '/' into container, eg: -v /:/hostfs:ro)
* Disk performance
* Load average
* Memory used/free/etc
* Uptime
* Network interface
* Swap
- CPU used/free/idle/etc
- Free disk (via mounting hosts '/' into container, eg: -v /:/hostfs:ro)
- Disk performance
- Load average
- Memory used/free/etc
- Uptime
- Network interface
- Swap
Environment variables
---------------------
* `HOST_NAME`
- `HOST_NAME`
- Will be sent to Graphite
- Required
* `GRAPHITE_HOST`
- `GRAPHITE_HOST`
- Graphite IP or hostname
- Required
* `GRAPHITE_PORT`
- `GRAPHITE_PORT`
- Graphite port
- Optional, defaults to 2003
* `GRAPHITE_PREFIX`
- `GRAPHITE_PREFIX`
- Graphite prefix
- Optional, defaults to collectd.
* `REPORT_BY_CPU`
- `REPORT_BY_CPU`
- Report per-CPU metrics if true, global sum of CPU metrics if false (details: [collectd.conf man page](https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_cpu))
- Optional, defaults to false.
* `COLLECT_INTERVAL`
- `COLLECT_INTERVAL`
- Collection interval and thus resolution of metrics
- Optional, defaults to 10

View File

@@ -821,7 +821,7 @@ filebeat.inputs:
# By default Ingest pipelines are not updated if a pipeline with the same ID
# already exists. If this option is enabled Filebeat overwrites pipelines
# everytime a new Elasticsearch connection is established.
# every time a new Elasticsearch connection is established.
#filebeat.overwrite_pipelines: false
# How long filebeat waits on shutdown for the publisher to finish.

View File

@@ -821,7 +821,7 @@ filebeat.inputs:
# By default Ingest pipelines are not updated if a pipeline with the same ID
# already exists. If this option is enabled Filebeat overwrites pipelines
# everytime a new Elasticsearch connection is established.
# every time a new Elasticsearch connection is established.
#filebeat.overwrite_pipelines: false
# How long filebeat waits on shutdown for the publisher to finish.

View File

@@ -35,7 +35,7 @@ RUN if [ ! -z "${CONTAINER_TIMEZONE}" ]; \
# fix python dependencies (LTS Django and newer memcached/txAMQP)
RUN pip install --upgrade pip && \
pip install django==1.8.18 \
pip install --no-cache-dir django==1.8.18 \
python-memcached==1.53 \
txAMQP==0.6.2
@@ -62,13 +62,13 @@ RUN python ./setup.py install
# install carbon
RUN git clone -b ${carbon_version} --depth 1 ${carbon_repo} /usr/local/src/carbon
WORKDIR /usr/local/src/carbon
RUN pip install -r requirements.txt \
RUN pip install --no-cache-dir -r requirements.txt \
&& python ./setup.py install
# install graphite
RUN git clone -b ${graphite_version} --depth 1 ${graphite_repo} /usr/local/src/graphite-web
WORKDIR /usr/local/src/graphite-web
RUN pip install -r requirements.txt \
RUN pip install --no-cache-dir -r requirements.txt \
&& python ./setup.py install
# install statsd

View File

@@ -30,7 +30,7 @@ fi
# - /opt/statsd
statsd_dir_contents=$(find /opt/statsd -mindepth 1 -print -quit)
if [[ -z $statsd_dir_contents ]]; then
git clone -b v0.7.2 https://github.com/etsy/statsd.git /opt/statsd
git clone --depth 1 -b v0.7.2 https://github.com/etsy/statsd.git /opt/statsd
cp $conf_dir/opt/statsd/config.js /opt/statsd/config.js
fi

View File

@@ -0,0 +1 @@
influxdb_version=1.8.1-alpine

View File

@@ -1,5 +1,5 @@
influxdb:
image: influxdb:1.7.6
image: influxdb:${influxdb_version}
container_name: influxdb
ports:
- '2004:2004'

View File

@@ -1057,7 +1057,7 @@
# ## Custom resource type
# # resource_type = "generic_node"
#
# ## Additonal resource labels
# ## Additional resource labels
# # [outputs.stackdriver.resource_labels]
# # node_id = "$HOSTNAME"
# # namespace = "myapp"
@@ -2169,7 +2169,7 @@
#
# ## Metrics list
# ## List of metrics can be found on Graylog webservice documentation.
# ## Or by hitting the the web service api at:
# ## Or by hitting the web service api at:
# ## http://[graylog-host]:12900/system/metrics
# metrics = [
# "jvm.cl.loaded",
@@ -3346,7 +3346,7 @@
# # pid_finder = "pgrep"
# # Reads last_run_summary.yaml file and converts to measurments
# # Reads last_run_summary.yaml file and converts to measurements
# [[inputs.puppetagent]]
# ## Location of puppet last run summary file
# location = "/var/lib/puppet/state/last_run_summary.yaml"
@@ -5196,11 +5196,11 @@
# ## separator character to use for measurement and field names (default: "_")
# # separator = "_"
#
# ## number of objects to retreive per query for realtime resources (vms and hosts)
# ## number of objects to retrieve per query for realtime resources (vms and hosts)
# ## set to 64 for vCenter 5.5 and 6.0 (default: 256)
# # max_query_objects = 256
#
# ## number of metrics to retreive per query for non-realtime resources (clusters and datastores)
# ## number of metrics to retrieve per query for non-realtime resources (clusters and datastores)
# ## set to 64 for vCenter 5.5 and 6.0 (default: 256)
# # max_query_metrics = 256
#

View File

@@ -1,7 +1,7 @@
# This Dockerfile builds an image for a client_golang example.
# Builder image, where we build the example.
FROM golang:1.14.1 AS builder
FROM golang:1.15.1 AS builder
# Download prometheus/client_golang/examples/random first
RUN go get github.com/prometheus/client_golang/examples/random
WORKDIR /go/src/github.com/prometheus/client_golang

View File

@@ -5,10 +5,10 @@ scaling up/down number of Grafana instances.
Included services
* Grafana
* Mysql - Grafana configuration database and session storage
* Prometheus - Monitoring of Grafana and used as data source of provisioned alert rules
* Nginx - Reverse proxy for Grafana and Prometheus. Enables browsing Grafana/Prometheus UI using a hostname
- Grafana
- Mysql - Grafana configuration database and session storage
- Prometheus - Monitoring of Grafana and used as data source of provisioned alert rules
- Nginx - Reverse proxy for Grafana and Prometheus. Enables browsing Grafana/Prometheus UI using a hostname
## Prerequisites
@@ -53,8 +53,8 @@ $ docker-compose up -d
```
Browse
* http://grafana.loc/
* http://prometheus.loc/
- http://grafana.loc/
- http://prometheus.loc/
Check for any errors

View File

@@ -75,7 +75,7 @@ Example output:
█ user auth token test
█ user authenticates thru ui with username and password
█ user authenticates through ui with username and password
✓ response status is 200
✓ response has cookie 'grafana_session' with 32 characters

View File

@@ -3,7 +3,7 @@ import { createClient, createBasicAuthClient } from './modules/client.js';
import { createTestOrgIfNotExists, createTestdataDatasourceIfNotExists } from './modules/util.js';
export let options = {
noCookiesReset: true
noCookiesReset: true,
};
let endpoint = __ENV.URL || 'http://localhost:3000';
@@ -18,35 +18,38 @@ export const setup = () => {
orgId: orgId,
datasourceId: datasourceId,
};
}
};
export default (data) => {
group("annotation by tag test", () => {
export default data => {
group('annotation by tag test', () => {
if (__ITER === 0) {
group("user authenticates thru ui with username and password", () => {
group('user authenticates through ui with username and password', () => {
let res = client.ui.login('admin', 'admin');
check(res, {
'response status is 200': (r) => r.status === 200,
'response has cookie \'grafana_session\' with 32 characters': (r) => r.cookies.grafana_session[0].value.length === 32,
'response status is 200': r => r.status === 200,
"response has cookie 'grafana_session' with 32 characters": r =>
r.cookies.grafana_session[0].value.length === 32,
});
});
}
if (__ITER !== 0) {
group("batch tsdb requests with annotations by tag", () => {
group('batch tsdb requests with annotations by tag', () => {
const batchCount = 20;
const requests = [];
const payload = {
from: '1547765247624',
to: '1547768847624',
queries: [{
refId: 'A',
scenarioId: 'random_walk',
intervalMs: 10000,
maxDataPoints: 433,
datasourceId: data.datasourceId,
}]
queries: [
{
refId: 'A',
scenarioId: 'random_walk',
intervalMs: 10000,
maxDataPoints: 433,
datasourceId: data.datasourceId,
},
],
};
requests.push({ method: 'GET', url: '/api/annotations?from=1580825186534&to=1580846786535' });
@@ -58,14 +61,14 @@ export default (data) => {
let responses = client.batch(requests);
for (let n = 0; n < batchCount; n++) {
check(responses[n], {
'response status is 200': (r) => r.status === 200,
'response status is 200': r => r.status === 200,
});
}
});
}
});
sleep(5)
}
sleep(5);
};
export const teardown = (data) => {}
export const teardown = data => {};

View File

@@ -2,7 +2,7 @@ import { sleep, check, group } from 'k6';
import { createBasicAuthClient } from './modules/client.js';
export let options = {
noCookiesReset: true
noCookiesReset: true,
};
let endpoint = __ENV.URL || 'http://localhost:10080/grafana';
@@ -19,17 +19,17 @@ export const setup = () => {
return {
datasourceId: res.json().id,
};
}
};
export default (data) => {
group("auth proxy test", () => {
group("batch proxy requests", () => {
export default data => {
group('auth proxy test', () => {
group('batch proxy requests', () => {
const d = new Date();
const batchCount = 300;
const requests = [];
const query = encodeURI('topk(5, max(scrape_duration_seconds) by (job))');
const start = (d.getTime() / 1000) - 3600;
const end = (d.getTime() / 1000);
const start = d.getTime() / 1000 - 3600;
const end = d.getTime() / 1000;
const step = 20;
requests.push({ method: 'GET', url: '/api/annotations?dashboardId=8&from=1558670300607&to=1558691900607' });
@@ -44,13 +44,13 @@ export default (data) => {
let responses = client.batch(requests);
for (let n = 0; n < batchCount; n++) {
check(responses[n], {
'response status is 200': (r) => r.status === 200,
'response status is 200': r => r.status === 200,
});
}
});
});
sleep(5)
}
sleep(5);
};
export const teardown = (data) => {}
export const teardown = data => {};

View File

@@ -3,11 +3,11 @@ import { createClient, createBasicAuthClient } from './modules/client.js';
import { createTestOrgIfNotExists, createTestdataDatasourceIfNotExists } from './modules/util.js';
export let options = {
noCookiesReset: true
noCookiesReset: true,
};
let endpoint = __ENV.URL || 'http://localhost:3000';
const slowQuery = (__ENV.SLOW_QUERY && __ENV.SLOW_QUERY.length > 0) ? parseInt(__ENV.SLOW_QUERY, 10) : 5;
const slowQuery = __ENV.SLOW_QUERY && __ENV.SLOW_QUERY.length > 0 ? parseInt(__ENV.SLOW_QUERY, 10) : 5;
const client = createClient(endpoint);
export const setup = () => {
@@ -19,17 +19,18 @@ export const setup = () => {
orgId: orgId,
datasourceId: datasourceId,
};
}
};
export default (data) => {
export default data => {
group(`user auth token slow test (queries between 1 and ${slowQuery} seconds)`, () => {
if (__ITER === 0) {
group("user authenticates thru ui with username and password", () => {
group('user authenticates through ui with username and password', () => {
let res = client.ui.login('admin', 'admin');
check(res, {
'response status is 200': (r) => r.status === 200,
'response has cookie \'grafana_session\' with 32 characters': (r) => r.cookies.grafana_session[0].value.length === 32,
'response status is 200': r => r.status === 200,
"response has cookie 'grafana_session' with 32 characters": r =>
r.cookies.grafana_session[0].value.length === 32,
});
});
}
@@ -41,14 +42,16 @@ export default (data) => {
const payload = {
from: '1547765247624',
to: '1547768847624',
queries: [{
refId: 'A',
scenarioId: 'slow_query',
stringInput: `${Math.floor(Math.random() * slowQuery) + 1}s`,
intervalMs: 10000,
maxDataPoints: 433,
datasourceId: data.datasourceId,
}]
queries: [
{
refId: 'A',
scenarioId: 'slow_query',
stringInput: `${Math.floor(Math.random() * slowQuery) + 1}s`,
intervalMs: 10000,
maxDataPoints: 433,
datasourceId: data.datasourceId,
},
],
};
requests.push({ method: 'GET', url: '/api/annotations?dashboardId=2074&from=1548078832772&to=1548082432772' });
@@ -60,14 +63,14 @@ export default (data) => {
let responses = client.batch(requests);
for (let n = 0; n < batchCount; n++) {
check(responses[n], {
'response status is 200': (r) => r.status === 200,
'response status is 200': r => r.status === 200,
});
}
});
}
});
sleep(5)
}
sleep(5);
};
export const teardown = (data) => {}
export const teardown = data => {};

View File

@@ -3,7 +3,7 @@ import { createClient, createBasicAuthClient } from './modules/client.js';
import { createTestOrgIfNotExists, createTestdataDatasourceIfNotExists } from './modules/util.js';
export let options = {
noCookiesReset: true
noCookiesReset: true,
};
let endpoint = __ENV.URL || 'http://localhost:3000';
@@ -18,35 +18,38 @@ export const setup = () => {
orgId: orgId,
datasourceId: datasourceId,
};
}
};
export default (data) => {
group("user auth token test", () => {
export default data => {
group('user auth token test', () => {
if (__ITER === 0) {
group("user authenticates thru ui with username and password", () => {
group('user authenticates through ui with username and password', () => {
let res = client.ui.login('admin', 'admin');
check(res, {
'response status is 200': (r) => r.status === 200,
'response has cookie \'grafana_session\' with 32 characters': (r) => r.cookies.grafana_session[0].value.length === 32,
'response status is 200': r => r.status === 200,
"response has cookie 'grafana_session' with 32 characters": r =>
r.cookies.grafana_session[0].value.length === 32,
});
});
}
if (__ITER !== 0) {
group("batch tsdb requests", () => {
group('batch tsdb requests', () => {
const batchCount = 20;
const requests = [];
const payload = {
from: '1547765247624',
to: '1547768847624',
queries: [{
refId: 'A',
scenarioId: 'random_walk',
intervalMs: 10000,
maxDataPoints: 433,
datasourceId: data.datasourceId,
}]
queries: [
{
refId: 'A',
scenarioId: 'random_walk',
intervalMs: 10000,
maxDataPoints: 433,
datasourceId: data.datasourceId,
},
],
};
requests.push({ method: 'GET', url: '/api/annotations?dashboardId=2074&from=1548078832772&to=1548082432772' });
@@ -58,14 +61,14 @@ export default (data) => {
let responses = client.batch(requests);
for (let n = 0; n < batchCount; n++) {
check(responses[n], {
'response status is 200': (r) => r.status === 200,
'response status is 200': r => r.status === 200,
});
}
});
}
});
sleep(5)
}
sleep(5);
};
export const teardown = (data) => {}
export const teardown = data => {};

View File

@@ -1,4 +1,4 @@
import http from "k6/http";
import http from 'k6/http';
import encoding from 'k6/encoding';
export const UIEndpoint = class UIEndpoint {
@@ -10,7 +10,7 @@ export const UIEndpoint = class UIEndpoint {
const payload = { user: username, password: pwd };
return this.httpClient.formPost('/login', payload);
}
}
};
export const DatasourcesEndpoint = class DatasourcesEndpoint {
constructor(httpClient) {
@@ -32,7 +32,7 @@ export const DatasourcesEndpoint = class DatasourcesEndpoint {
delete(id) {
return this.httpClient.delete(`/datasources/${id}`);
}
}
};
export const OrganizationsEndpoint = class OrganizationsEndpoint {
constructor(httpClient) {
@@ -57,7 +57,7 @@ export const OrganizationsEndpoint = class OrganizationsEndpoint {
delete(id) {
return this.httpClient.delete(`/orgs/${id}`);
}
}
};
export const GrafanaClient = class GrafanaClient {
constructor(httpClient) {
@@ -79,10 +79,10 @@ export const GrafanaClient = class GrafanaClient {
onBeforeRequest(params) {
if (this.orgId && this.orgId > 0) {
params = params.headers || {};
params.headers["X-Grafana-Org-Id"] = this.orgId;
params.headers['X-Grafana-Org-Id'] = this.orgId;
}
}
}
};
export const BaseClient = class BaseClient {
constructor(url, subUrl) {
@@ -99,14 +99,12 @@ export const BaseClient = class BaseClient {
}
withUrl(subUrl) {
let c = new BaseClient(this.url, subUrl);
let c = new BaseClient(this.url, subUrl);
c.onBeforeRequest = this.onBeforeRequest;
return c;
}
beforeRequest(params) {
}
beforeRequest(params) {}
get(url, params) {
params = params || {};
@@ -156,7 +154,7 @@ export const BaseClient = class BaseClient {
return http.batch(requests);
}
}
};
export class BasicAuthClient extends BaseClient {
constructor(url, subUrl, username, password) {
@@ -166,7 +164,7 @@ export class BasicAuthClient extends BaseClient {
}
withUrl(subUrl) {
let c = new BasicAuthClient(this.url, subUrl, this.username, this.password);
let c = new BasicAuthClient(this.url, subUrl, this.username, this.password);
c.onBeforeRequest = this.onBeforeRequest;
return c;
}
@@ -179,10 +177,10 @@ export class BasicAuthClient extends BaseClient {
}
}
export const createClient = (url) => {
export const createClient = url => {
return new GrafanaClient(new BaseClient(url, ''));
}
};
export const createBasicAuthClient = (url, username, password) => {
return new GrafanaClient(new BasicAuthClient(url, '', username, password));
}
};

View File

@@ -1,4 +1,4 @@
export const createTestOrgIfNotExists = (client) => {
export const createTestOrgIfNotExists = client => {
let orgId = 0;
let res = client.orgs.getByName('k6');
if (res.status === 404) {
@@ -13,9 +13,9 @@ export const createTestOrgIfNotExists = (client) => {
client.withOrgId(orgId);
return orgId;
}
};
export const createTestdataDatasourceIfNotExists = (client) => {
export const createTestdataDatasourceIfNotExists = client => {
const payload = {
access: 'proxy',
isDefault: false,
@@ -32,4 +32,4 @@ export const createTestdataDatasourceIfNotExists = (client) => {
}
return res.json().id;
}
};

View File

@@ -1,19 +1,15 @@
module.exports = {
verbose: true,
"globals": {
"ts-jest": {
"tsConfigFile": "tsconfig.json"
}
globals: {
'ts-jest': {
tsConfigFile: 'tsconfig.json',
},
},
"transform": {
"^.+\\.tsx?$": "<rootDir>/../../node_modules/ts-jest/preprocessor.js"
transform: {
'^.+\\.tsx?$': '<rootDir>/../../node_modules/ts-jest/preprocessor.js',
},
"moduleDirectories": ["node_modules"],
"testRegex": "(\\.|/)(test)\\.ts$",
"testEnvironment": "node",
"moduleFileExtensions": [
"ts",
"js",
"json"
],
moduleDirectories: ['node_modules'],
testRegex: '(\\.|/)(test)\\.ts$',
testEnvironment: 'node',
moduleFileExtensions: ['ts', 'js', 'json'],
};

View File

@@ -0,0 +1,3 @@
FROM tutum/nginx
RUN rm /etc/nginx/sites-enabled/default
ADD sites-enabled /etc/nginx/sites-enabled

View File

@@ -0,0 +1,14 @@
server {
listen 80 default_server;
access_log /var/log/nginx/verdaccio.log;
charset utf-8;
location / {
proxy_pass http://grafana-npm.local:4873/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_redirect off;
}
}

View File

@@ -0,0 +1,26 @@
version: '2'
services:
verdaccio:
image: verdaccio/verdaccio:4
container_name: verdaccio_root_path
ports:
- "4873:4873"
volumes:
- verdaccio:/verdaccio
nginx:
restart: always
build: conf/nginx
ports:
- "80:80"
volumes:
- /www/public
volumes_from:
- verdaccio
links:
- verdaccio:verdaccio
volumes:
verdaccio:
driver: local

View File

@@ -6,6 +6,9 @@ docs:
docker pull ${IMAGE}
docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest -p 3002:3002 --rm -it $(IMAGE) /bin/bash -c 'make server'
docs-no-pull:
docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest -p 3002:3002 --rm -it $(IMAGE) /bin/bash -c 'make server'
docs-test:
docker pull ${IMAGE}
docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest --rm -it $(IMAGE) /bin/bash -c 'make prod'

View File

@@ -9,7 +9,7 @@ Docker >= 2.1.0.3
## Build the doc site
1. In the command line, make sure you are in the docs folder: `cd docs`.
2. Run `make docs`. This launches a preview of the docs website at `http://localhost:3002/docs/grafana/latest/` which will refresh automatically when changes to content in the `sources` directory are made.
1. Run `make docs`. This launches a preview of the docs website at `http://localhost:3002/docs/grafana/latest/` which will refresh automatically when changes to content in the `sources` directory are made.
---
@@ -33,6 +33,6 @@ Images are currently hosted in the grafana/website repo.
## Deploy changes to grafana.com
When a PR is merged to master with changes in the `docs` directory, those changes are automatically synched to the grafana/website repo on the `docs-grafana` branch.
When a PR is merged to master with changes in the `docs/sources` directory, those changes are automatically synched to the grafana/website repo and published to the staging site.
In order to make those changes live, open a PR in the website repo that merges the `docs-grafana` branch into `master`. Then follow the publishing guidelines in that repo.
Generally, someone from marketing will publish to production each day, so as long as the sync is successful your docs edits will be published. Alternatively, you can refer to [publishing to production](https://github.com/grafana/website#publishing-to-production-grafanacom) if you'd like to do it yourself.

View File

@@ -30,7 +30,7 @@ aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin",
<img src="/static/img/logos/logo-docker.svg">
<h5>Run Docker image</h5>
</a>
<a href="https://grafana.com/cloud/grafana" class="nav-cards__item nav-cards__item--install">
<a href="https://grafana.com/docs/grafana-cloud/" class="nav-cards__item nav-cards__item--install">
<div class="nav-cards__icon fa fa-cloud">
</div>
<h5>Grafana Cloud</h5>
@@ -65,8 +65,8 @@ aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin",
<h4>Provisioning</h4>
<p>Learn how to automate your Grafana configuration.</p>
</a>
<a href="{{< relref "guides/whats-new-in-v7-0.md" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v7.0</h4>
<a href="{{< relref "whatsnew/whats-new-in-v7-2.md" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v7.2</h4>
<p>Explore the features and enhancements in the latest release.</p>
</a>
@@ -75,51 +75,51 @@ aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin",
## Data source guides
<div class="nav-cards">
<a href="{{< relref "features/datasources/graphite.md" >}}" class="nav-cards__item nav-cards__item--ds">
<a href="{{< relref "datasources/graphite.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_graphite.svg" >
<h5>Graphite</h5>
</a>
<a href="{{< relref "features/datasources/elasticsearch.md" >}}" class="nav-cards__item nav-cards__item--ds">
<a href="{{< relref "datasources/elasticsearch.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_elasticsearch.svg" >
<h5>Elasticsearch</h5>
</a>
<a href="{{< relref "features/datasources/influxdb.md" >}}" class="nav-cards__item nav-cards__item--ds">
<a href="{{< relref "datasources/influxdb.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_influxdb.svg" >
<h5>InfluxDB</h5>
</a>
<a href="{{< relref "features/datasources/prometheus.md" >}}" class="nav-cards__item nav-cards__item--ds">
<a href="{{< relref "datasources/prometheus.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_prometheus.svg" >
<h5>Prometheus</h5>
</a>
<a href="{{< relref "features/datasources/cloudmonitoring.md" >}}" class="nav-cards__item nav-cards__item--ds">
<a href="{{< relref "datasources/cloudmonitoring.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_cloudmonitoring.svg">
<h5>Google Cloud Monitoring</h5>
</a>
<a href="{{< relref "features/datasources/cloudwatch.md" >}}" class="nav-cards__item nav-cards__item--ds">
<a href="{{< relref "datasources/cloudwatch.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_cloudwatch.svg">
<h5>AWS CloudWatch</h5>
</a>
<a href="{{< relref "features/datasources/azuremonitor.md" >}}" class="nav-cards__item nav-cards__item--ds">
<a href="{{< relref "datasources/azuremonitor.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_azure_monitor.jpg">
<h5>Azure Monitor</h5>
</a>
<a href="{{< relref "features/datasources/loki.md" >}}" class="nav-cards__item nav-cards__item--ds">
<a href="{{< relref "datasources/loki.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_loki.svg">
<h5>Loki</h5>
</a>
<a href="{{< relref "features/datasources/mysql.md" >}}" class="nav-cards__item nav-cards__item--ds">
<a href="{{< relref "datasources/mysql.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_mysql.png" >
<h5>MySQL</h5>
</a>
<a href="{{< relref "features/datasources/postgres.md" >}}" class="nav-cards__item nav-cards__item--ds">
<a href="{{< relref "datasources/postgres.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_postgres.svg" >
<h5>Postgres</h5>
</a>
<a href="{{< relref "features/datasources/mssql.md" >}}" class="nav-cards__item nav-cards__item--ds">
<a href="{{< relref "datasources/mssql.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/sql_server_logo.svg">
<h5>Microsoft SQL Server</h5>
</a>
<a href="{{< relref "features/datasources/opentsdb.md" >}}" class="nav-cards__item nav-cards__item--ds">
<a href="{{< relref "datasources/opentsdb.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_opentsdb.png" >
<h5>OpenTSDB</h5>
</a>

View File

@@ -5,9 +5,15 @@ type = "docs"
[menu.docs]
name = "Administration"
identifier = "admin"
weight = 2
weight = 20
+++
# Administration
This section provides resources for Grafana administrators.
This section includes information for Grafana administrators, team administrators, and users performing administrative tasks:
- [Change password]({{< relref "change-your-password" >}})
- [Change Preferences]({{< relref "preferences" >}})
- [Configuration]({{< relref "configuration" >}})
- [Configure Docker image]({{< relref "configure-docker" >}})
- [Security]({{< relref "security" >}})

View File

@@ -0,0 +1,59 @@
+++
title = "Change the default home dashboard"
description = "How to replace the default home dashboard"
keywords = ["grafana", "configuration", "documentation", "home"]
type = "docs"
[menu.docs]
name = "Home Dashboard"
identifier = "change-home-dashboard"
parent = "admin"
weight = 100
+++
# Change the default home dashboard
You can change the default dashboard on the organization, team and user level. The home dashboard you set for the whole organization is the one all users will see by default. The team dashboard applies to all users assigned to the team in Grafana. The team dashboard overrides the organization dashboard settings. Personal dashboard settings override team dashboard settings.
## Set the home dashboard for your organization
### Set the default dashboard through preferences
1. Navigate to the dashboard you want to set as the home dashboard.
1. Star this dashboard by clicking on the star next to the dashboard title.
1. On the left menu, hover your cursor over the **Configuration** (gear) icon and then click **Preferences**.
1. In the **Home Dashboard** field, select the dashboard you want to use for your home dashboard. Options include all starred dashboards.
### Set the default dashboard through configuration
If preferences are set as described above, then they override this value.
You can provide your own JSON file to change the home dashboard. No user will be able to update this dashboard in Grafana.
#### [Optional] Convert an existing dashboard into a JSON file
1. Navigate to your dashboard page.
1. Click the **Share dashboard** icon next to the dashboard title.
1. In the **Export** tab, click on **Save to file**.
#### Use a JSON file as the home dashboard
1. Save your JSON file somewhere that Grafana can access it, for example, in the Grafana `data` folder of Grafana.
1. Update your configuration file to set the path to the JSON file. Read how to update this file in the [configuration]({{< relref "./configuration.md">}}) documentation.
```ini
[dashboards]
# Path to the default home dashboard. If this value is empty, then Grafana uses StaticRootPath + "dashboards/home.json"
default_home_dashboard_path = data/main-dashboard.json
```
## Set home dashboard for your team
1. Navigate to the dashboard you want to set as the home dashboard.
1. Star this dashboard by clicking on the star next to the dashboard title.
1. On the left menu, hover your cursor over the **Configuration** (gear) icon and then click **Teams**.
1. Click on the team you want to change the home dashboard for and then navigate to the **Settings** tab.
1. In the **Home Dashboard** field, select the dashboard you want to use for your home dashboard. Options include all starred dashboards.
## Set your personal home dashboard
1. Navigate to the dashboard you want to set as the home dashboard.
1. Star this dashboard by clicking on the star next to the dashboard title.
1. On the left menu, hover your cursor over your avatar and then click **Preferences**.
1. In the **Home Dashboard** field, select the dashboard you want to use for your home dashboard. Options include all starred dashboards.

View File

@@ -0,0 +1,31 @@
+++
title = "Change your password"
description = "How to change your Grafana password"
keywords = ["grafana", "password", "change", "preferences"]
type = "docs"
[menu.docs]
identifier = "change-your-password"
parent = "administration"
weight = 100
+++
# Change your Grafana password
You can change your password in the Change Password tab.
> **Note:** If your Grafana instance uses an external authentication provider, then you might not be able to change your password. Contact your Grafana administrator for more information.
## Change your password
1. Hover your mouse over your user icon in the lower left corner of the screen.
1. Click **Change Password**. Grafana opens the Change Password tab.
1. Enter your **Old password** to authorize the change.
1. Enter your **New password** and then **Confirm password**.
1. Click **Change Password**.
## Admin user management resources
Grafana admins can use the following tools:
- Use the [User API]({{< relref "../http_api/user.md" >}}) to change your password programmatically or to manage users.
- The [Manage users]({{< relref "../manage-users/_index.md" >}}) section explains how to manage users and teams.

View File

@@ -205,7 +205,7 @@ If there are two flags being used to set the homepath and the config file path,
To correct this, use the `--homepath` global option to specify the Grafana default homepath for this command:
```bash
grafana-cli --homepath "/usr/share/grafana" admin reset-admin-password <new password>
grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" <new password>
```
If you have not lost the admin password, we recommend that you change the user password either in the User Preferences or in the Server Admin > User tab.

View File

@@ -8,7 +8,7 @@ aliases = ["/docs/grafana/latest/installation/configuration/"]
name = "Configuration"
identifier = "config"
parent = "admin"
weight = 1
weight = 300
+++
# Configuration
@@ -31,13 +31,13 @@ If you installed Grafana using the `deb` or `rpm` packages, then your configurat
### Docker
Refer to [Configure a Grafana Docker image]({{< relref "../installation/configure-docker.md" >}}) for information about environmental variables, persistent storage, and building custom Docker images.
Refer to [Configure a Grafana Docker image]({{< relref "configure-docker.md" >}}) for information about environmental variables, persistent storage, and building custom Docker images.
### Windows
`sample.ini` is in the same directory as `defaults.ini` and contains all the settings commented out. Copy `sample.ini` and name it `custom.ini`.
### MacOS
### macOS
By default, the configuration file is located at `/usr/local/etc/grafana/grafana.ini`. To configure Grafana, add a configuration file named `custom.ini` to the `conf` folder to override any of the settings defined in `conf/defaults.ini`.
@@ -173,13 +173,13 @@ Override log path using the command line argument `cfg:default.paths.log`:
### plugins
Directory where Grafana automatically scans and looks for plugins. Manually or automatically install any plugins here.
Directory where Grafana automatically scans and looks for plugins. Manually or automatically install any [plugins](https://grafana.com/docs/grafana/latest/plugins/installation/) here.
**macOS:** By default, the Mac plugin location is: `/usr/local/var/lib/grafana/plugins`.
### provisioning
Folder that contains [provisioning]({{< relref "provisioning.md" >}}) config files that grafana will apply on startup. Dashboards will be reloaded when the json files changes
Folder that contains [provisioning]({{< relref "provisioning.md" >}}) config files that Grafana will apply on startup. Dashboards will be reloaded when the json files changes.
<hr />
@@ -189,8 +189,6 @@ Folder that contains [provisioning]({{< relref "provisioning.md" >}}) config fil
`http`,`https`,`h2` or `socket`
> **Note:** Grafana versions earlier than 3.0 are vulnerable to [POODLE](https://en.wikipedia.org/wiki/POODLE). So we strongly recommend to upgrade to 3.x or use a reverse proxy for SSL termination.
### http_addr
The IP address to bind to. If empty will bind to all interfaces
@@ -231,8 +229,6 @@ callback URL to be correct).
### serve_from_sub_path
> Available in Grafana 6.3+.
Serve Grafana from subpath specified in `root_url` setting. By default it is set to `false` for compatibility reasons.
By enabling this setting and using a subpath in `root_url` above, e.g.
@@ -273,7 +269,7 @@ Path where the socket should be created when `protocol=socket`. Make sure that G
## [database]
Grafana needs a database to store users and dashboards (and other
things). By default it is configured to use `sqlite3` which is an
things). By default it is configured to use [`sqlite3`](https://www.sqlite.org/index.html) which is an
embedded database (included in the main Grafana binary).
### type
@@ -393,6 +389,26 @@ How long the data proxy should wait before timing out. Default is 30 seconds.
This setting also applies to core backend HTTP data sources where query requests use an HTTP client with timeout set.
### keep_alive_seconds
Interval between keep-alive probes. Default is `30` seconds. For more details check the [Dialer.KeepAlive](https://golang.org/pkg/net/#Dialer.KeepAlive) documentation.
### tls_handshake_timeout_seconds
The length of time that Grafana will wait for a successful TLS handshake with the datasource. Default is `10` seconds. For more details check the [Transport.TLSHandshakeTimeout](https://golang.org/pkg/net/http/#Transport.TLSHandshakeTimeout) documentation.
### expect_continue_timeout_seconds
The length of time that Grafana will wait for a datasources first response headers after fully writing the request headers, if the request has an “Expect: 100-continue” header. A value of `0` will result in the body being sent immediately. Default is `1` second. For more details check the [Transport.ExpectContinueTimeout](https://golang.org/pkg/net/http/#Transport.ExpectContinueTimeout) documentation.
### max_idle_connections
The maximum number of idle connections that Grafana will maintain. Default is `100`. For more details check the [Transport.MaxIdleConns](https://golang.org/pkg/net/http/#Transport.MaxIdleConns) documentation.
### idle_conn_timeout_seconds
The length of time that Grafana maintains idle connections before closing them. Default is `90` seconds. For more details check the [Transport.IdleConnTimeout](https://golang.org/pkg/net/http/#Transport.IdleConnTimeout) documentation.
### send_user_header
If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request. Default is `false`.
@@ -465,7 +481,7 @@ Set to `true` if you host Grafana behind HTTPS. Default is `false`.
### cookie_samesite
Sets the `SameSite` cookie attribute and prevents the browser from sending this cookie along with cross-site requests. The main goal is to mitigate the risk of cross-origin information leakage. This setting also provides some protection against cross-site request forgery attacks (CSRF), [read more about SameSite here](https://www.owasp.org/index.php/SameSite). Valid values are `lax`, `strict`, `none`, and `disabled`. Default is `lax`. Using value `disabled` does not add any `SameSite` attribute to cookies.
Sets the `SameSite` cookie attribute and prevents the browser from sending this cookie along with cross-site requests. The main goal is to mitigate the risk of cross-origin information leakage. This setting also provides some protection against cross-site request forgery attacks (CSRF), [read more about SameSite here](https://owasp.org/www-community/SameSite). Valid values are `lax`, `strict`, `none`, and `disabled`. Default is `lax`. Using value `disabled` does not add any `SameSite` attribute to cookies.
### allow_embedding
@@ -536,6 +552,10 @@ Number dashboard versions to keep (per dashboard). Default: `20`, Minimum: `1`.
This prevents users from setting the dashboard refresh interval of a lower than given interval. Per default this is 5 seconds.
The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. `30s` or `1m`.
### default_home_dashboard_path
Path to the default home dashboard. If this value is empty, then Grafana uses StaticRootPath + "dashboards/home.json"
<hr />
## [users]
@@ -601,6 +621,12 @@ Default is `false`.
Editors can administrate dashboards, folders and teams they create.
Default is `false`.
### user_invite_max_lifetime_duration
The duration in time a user invitation remains valid before expiring.
This setting should be expressed as a duration. Examples: 6h (hours), 2d (days), 1w (week).
Default is `24h` (24 hours). The minimum supported duration is `15m` (15 minutes).
<hr>
## [auth]
@@ -642,22 +668,24 @@ This setting is ignored if multiple OAuth providers are configured. Default is `
### oauth_state_cookie_max_age
How long the OAuth state cookie lives before being deleted. Default is `60` (seconds)
How many seconds the OAuth state cookie lives before being deleted. Default is `600` (seconds)
Administrators can increase this if they experience OAuth login state mismatch errors.
### api_key_max_seconds_to_live
Limit of API key seconds to live before expiration. Default is -1 (unlimited).
### default_home_dashboard_path
### sigv4_auth_enabled
Path to the default home dashboard. If this value is empty, then Grafana uses StaticRootPath + "dashboards/home.json"
> Only available in Grafana 7.3+.
Set to `true` to enable the AWS Signature Version 4 Authentication option for HTTP-based datasources. Default is `false`.
<hr />
## [auth.anonymous]
Refer to [Anonymous authentication]({{< relref "../auth/#anonymous-authentication" >}}) for detailed instructions.
Refer to [Anonymous authentication]({{< relref "../auth/grafana.md/#anonymous-authentication" >}}) for detailed instructions.
<hr />
@@ -723,7 +751,7 @@ Refer to [Auth proxy authentication]({{< relref "../auth/auth-proxy.md" >}}) for
## [auth.ldap]
Refer to [LDAO authentication]({{< relref "../auth/ldap.md" >}}) for detailed instructions.
Refer to [LDAP authentication]({{< relref "../auth/ldap.md" >}}) for detailed instructions.
<hr />
@@ -976,11 +1004,48 @@ Sets the minimum interval between rule evaluations. Default value is `1`.
> **Note.** This setting has precedence over each individual rule frequency. If a rule frequency is lower than this value, then this value is enforced.
### max_annotation_age =
Configures for how long alert annotations are stored. Default is 0, which keeps them forever.
This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
### max_annotations_to_keep =
Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
<hr>
## [annotations.dashboard]
Dashboard annotations means that annotations are associated with the dashboard they are created on.
### max_age
Configures how long dashboard annotations are stored. Default is 0, which keeps them forever.
This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
### max_annotations_to_keep
Configures max number of dashboard annotations that Grafana stores. Default value is 0, which keeps all dashboard annotations.
## [annotations.api]
API annotations means that the annotations have been created using the API without any association with a dashboard.
### max_age
Configures how long Grafana stores API annotations. Default is 0, which keeps them forever.
This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
### max_annotations_to_keep
Configures max number of API annotations that Grafana keeps. Default value is 0, which keeps all API annotations.
<hr>
## [explore]
For more information about this feature, refer to [Explore]({{< relref "../features/explore/index.md" >}}).
For more information about this feature, refer to [Explore]({{< relref "../explore/index.md" >}}).
### enabled
@@ -1121,7 +1186,7 @@ keep the default, just leave this empty. You must still provide a `region` value
Set this to true to force path-style addressing in S3 requests, i.e., `http://s3.amazonaws.com/BUCKET/KEY`, instead
of the default, which is virtual hosted bucket addressing when possible (`http://BUCKET.s3.amazonaws.com/KEY`).
> Note: This option is specific to the Amazon S3 service.
> **Note:** This option is specific to the Amazon S3 service.
### bucket_url
@@ -1179,10 +1244,10 @@ Optional URL to send to users in notifications. If the string contains the seque
### key_file
Path to JSON key file associated with a Google service account to authenticate and authorize.
Optional path to JSON key file associated with a Google service account to authenticate and authorize. If no value is provided it tries to use the [application default credentials](https://cloud.google.com/docs/authentication/production#finding_credentials_automatically).
Service Account keys can be created and downloaded from https://console.developers.google.com/permissions/serviceaccounts.
Service Account should have "Storage Object Writer" role. The access control model of the bucket needs to be "Set object-level and bucket-level permissions". Grafana itself will make the images public readable.
Service Account should have "Storage Object Writer" role. The access control model of the bucket needs to be "Set object-level and bucket-level permissions". Grafana itself will make the images public readable when signed urls are not enabled.
### bucket
@@ -1192,6 +1257,15 @@ Bucket Name on Google Cloud Storage.
Optional extra path inside bucket.
### enable_signed_urls
If set to true, Grafana creates a [signed URL](https://cloud.google.com/storage/docs/access-control/signed-urls] for
the image uploaded to Google Cloud Storage.
### signed_url_expiration
Sets the signed URL expiration, which defaults to seven days.
## [external_image_storage.azure_blob]
### account_name
@@ -1229,7 +1303,7 @@ If the remote HTTP image renderer service runs on a different server than the Gr
### concurrent_render_request_limit
Concurrent render request limit affects when the /render HTTP endpoint is used. Rendering many images at the same time can overload the server,
which this setting can help protect against by only allowing a certain amount of concurrent requests. Default is `30`.
which this setting can help protect against by only allowing a certain number of concurrent requests. Default is `30`.
## [panels]
@@ -1239,7 +1313,7 @@ Set to `true` if you want to test alpha panels that are not yet ready for genera
### disable_sanitize_html
If set to true Grafana will allow script tags in text panels. Not recommended as it enable XSS vulnerabilities. Default is false. This settings was introduced in Grafana v6.0.
If set to true Grafana will allow script tags in text panels. Not recommended as it enables XSS vulnerabilities. Default is false. This setting was introduced in Grafana v6.0.
## [plugins]
@@ -1315,7 +1389,7 @@ Mode `context` will cluster using incognito pages.
### rendering_clustering_max_concurrency
When rendering_mode = clustered you can define maximum number of browser instances/incognito pages that can execute concurrently..
When rendering_mode = clustered you can define the maximum number of browser instances/incognito pages that can execute concurrently.
### rendering_viewport_max_width
@@ -1349,4 +1423,40 @@ For more information about Grafana Enterprise, refer to [Grafana Enterprise]({{<
### enable
Keys of alpha features to enable, separated by space. Available alpha features are: `transformations`
Keys of alpha features to enable, separated by space. Available alpha features are: `transformations`,`ngalert`
## [date_formats]
> **Note:** The date format options below are only available in Grafana v7.2+.
This section controls system-wide defaults for date formats used in time ranges, graphs, and date input boxes.
The format patterns use [Moment.js](https://momentjs.com/docs/#/displaying/) formatting tokens.
### full_date
Full date format used by time range picker and in other places where a full date is rendered.
### intervals
These intervals formats are used in the graph to show only a partial date or time. For example, if there are only
minutes between Y-axis tick labels then the `interval_minute` format is used.
Defaults
```
interval_second = HH:mm:ss
interval_minute = HH:mm
interval_hour = MM/DD HH:mm
interval_day = MM/DD
interval_month = YYYY-MM
interval_year = YYYY
```
### use_browser_locale
Set this to `true` to have date formats automatically derived from your browser location. Defaults to `false`. This is an experimental feature.
### default_timezone
Used as the default time zone for user preferences. Can be either `browser` for the browser local time zone or a time zone name from the IANA Time Zone database, such as `UTC` or `Europe/Amsterdam`.

View File

@@ -3,11 +3,12 @@ title = "Configure Grafana Docker image"
description = "Guide for configuring the Grafana Docker image"
keywords = ["grafana", "configuration", "documentation", "docker"]
type = "docs"
aliases = ["/docs/grafana/latest/installation/configure-docker/"]
[menu.docs]
name = "Configure Grafana Docker image"
identifier = "docker"
identifier = "configure-docker"
parent = "administration"
weight = 650
weight = 400
+++
# Configure a Grafana Docker image
@@ -37,7 +38,7 @@ mkdir data # creates a folder for your data
ID=$(id -u) # saves your user id in the ID variable
# starts grafana with your user id and using the data folder
docker run -d --user $ID --volume "$PWD/data:/var/lib/grafana" -p 3000:3000 grafana/grafana:5.1.0
docker run -d --user $ID --volume "$PWD/data:/var/lib/grafana" -p 3000:3000 grafana/grafana:7.2.1
```
## Default paths
@@ -53,6 +54,17 @@ GF_PATHS_LOGS | /var/log/grafana
GF_PATHS_PLUGINS | /var/lib/grafana/plugins
GF_PATHS_PROVISIONING | /etc/grafana/provisioning
## Logging
Logs in the Docker container go to standard out by default, as is common in the Docker world. Change this by setting a different [log mode]({{< relref "../administration/configuration.md#mode" >}}).
Example:
```bash
# Run Grafana while logging to both standard out and /var/log/grafana/grafana.log
docker run -p 3000:3000 -e "GF_LOG_MODE=console file" grafana/grafana
```
## Configure Grafana with Docker Secrets
> Only available in Grafana v5.2 and later.

View File

@@ -83,20 +83,20 @@ docker-compose up
The following example describes how to build and run the remote HTTP rendering service as a standalone Node.js application and configure Grafana appropriately.
1. Clone the [Grafana image renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer) Git repository.
2. Install dependencies and build:
1. Install dependencies and build:
```bash
yarn install --pure-lockfile
yarn run build
```
3. Run the server:
1. Run the server:
```bash
node build/app.js server --port=8081
```
4. Update Grafana configuration:
1. Update Grafana configuration:
```
[rendering]
@@ -104,7 +104,7 @@ The following example describes how to build and run the remote HTTP rendering s
callback_url = http://localhost:3000/
```
5. Restart Grafana.
1. Restart Grafana.
## PhantomJS
@@ -162,6 +162,12 @@ On Debian 9 (Stretch) the following dependencies have been confirmed as needed f
libx11 libcairo bcairo2 libcairo2 libxtst6 libxcomposite1 libx11-xcb1 libxcursor1 libxdamage1 libnss3 libcups libcups2 libXss libXss1 libxss1 libxrandr2 libasound2 libatk1.0-0 libatk-bridge2.0-0 libpangocairo-1.0-0 libgtk-3-0
```
On Debian 10 (Buster) the following dependencies have been confirmed as needed for the image rendering to function.
```bash
libxdamage1 libxext6 libxi6 libxtst6 libnss3 libnss3 libcups2 libxss1 libxrandr2 libasound2 libatk1.0-0 libatk-bridge2.0-0 libpangocairo-1.0-0 libpango-1.0-0 libcairo2 libatspi2.0-0 libgtk3.0-cil libgdk3.0-cil libx11-xcb-dev
```
**Centos:**
On a minimal Centos installation, the following dependencies have been confirmed as needed for the image rendering to function:
@@ -172,7 +178,7 @@ libXcomposite libXdamage libXtst cups libXScrnSaver pango atk adwaita-cursor-the
### Certificate signed by internal certificate authorities
In many cases, Grafana runs on internal servers and uses certificates that have not been signed by a CA ([Certificate Authority](https://en.wikipedia.org/wiki/Certificate_authority)) known to Chrome, and therefore cannot be validated. Chrome internally uses NSS ([Network Security Services](https://en.wikipedia.org/wiki/Network_Security_Services)) for cryptogtraphic operations such as the validation of certificates.
In many cases, Grafana runs on internal servers and uses certificates that have not been signed by a CA ([Certificate Authority](https://en.wikipedia.org/wiki/Certificate_authority)) known to Chrome, and therefore cannot be validated. Chrome internally uses NSS ([Network Security Services](https://en.wikipedia.org/wiki/Network_Security_Services)) for cryptographic operations such as the validation of certificates.
If you are using the Grafana Image Renderer with a Grafana server that uses a certificate signed by such a custom CA (for example a company-internal CA), rendering images will fail and you will see messages like this in the Grafana log:

View File

@@ -0,0 +1,19 @@
+++
title = "Jaeger instrumentation"
description = "Jaeger traces emitted and propagation by Grafana"
keywords = ["grafana", "jaeger", "tracing"]
type = "docs"
[menu.docs]
parent = "admin"
weight = 9
+++
# Jaeger instrumentation
Grafana supports [Jaeger tracing](https://www.jaegertracing.io/).
Grafana can emit Jaeger traces for its HTTP API endpoints and propagate Jaeger trace information to data sources.
All HTTP endpoints are logged evenly (annotations, dashboard, tags, and so on).
When a trace ID is propagated, it is reported with operation 'HTTP /datasources/proxy/:id/*'.
Refer to [Configuration]({{< relref "configuration.md#tracing-jaeger" >}}) for information about enabling Jaeger tracing.

View File

@@ -18,12 +18,12 @@ For more information about configuration options related to Grafana metrics, ref
When enabled, Grafana exposes a number of metrics, including:
* Active Grafana instances
* Number of dashboards, users, and playlists
* HTTP status codes
* Requests by routing group
* Grafana active alerts
* Grafana performance
- Active Grafana instances
- Number of dashboards, users, and playlists
- HTTP status codes
- Requests by routing group
- Grafana active alerts
- Grafana performance
## Pull metrics from Grafana into Prometheus

View File

@@ -0,0 +1,60 @@
+++
title = "Change your preferences"
description = "How to change your Grafana preferences"
keywords = ["grafana", "profile", "change", "preferences"]
type = "docs"
[menu.docs]
identifier = "preferences"
parent = "administration"
weight = 200
+++
# Change your Grafana preferences
You can perform several tasks in the Preferences tab. You can edit your profile, change your Grafana preferences, and view information about your profile and Grafana usage.
## Edit your Grafana profile
Your profile includes your name, user name, and email address.
1. Navigate to the Preferences tab. Hover your cursor over your user icon in the lower left corner of the screen, and then click **Preferences.**
1. In the Edit Profile section, you can edit any of the following:
- **Name -** Edit this field to change the display name associated with your profile.
- **Email -** Edit this field to change the email address associated with your profile.
- **Username -** Edit this field to change your user name.
1. Click **Save**.
## Edit your Grafana preferences
Your Grafana preferences include whether uses the dark or light theme, your home dashboard, and your timezone.
> **Note:** Settings on your personal instance override settings made by your administrator at the instance or team level.
1. Navigate to the Preferences tab. Hover your cursor over your user icon in the lower left corner of the screen, and then click **Preferences.**
1. In the Preferences section, you can edit any of the following:
- **UI Theme -** Click to set the **Dark** or **Light** to select a theme. **Default** is either the dark theme or the theme selected by your Grafana administrator.
- **Home Dashboard -** Refer to [Set your personal home dashboard]({{< relref "change-home-dashboard.md#set-your-personal-home-dashboard" >}}) for more information.
- **Timezone -** Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected by your Grafana administrator. Refer to [Time range controls]({{< relref "../dashboards/time-range-controls.md" >}}) for more information about Grafana time settings.
1. Click **Save**.
## View your assigned organizations
Every user is a member of at least one organization. You can have different roles in every organization that you are a member of.
1. Navigate to the Preferences tab. Hover your cursor over your user icon in the lower left corner of the screen, and then click **Preferences.**
1. Scroll down to the Organizations section.
- **Name -** The name of the organizations you are a member of in that Grafana instance.
- **Role -** The role you are assigned in the organization. Refer to [Organization roles]({{< relref "../permissions/organization_roles.md" >}}) about permissions assigned to each role.
- **Current -** Grafana tags the organization that you are currently signed in to as _Current_.
## View your Grafana sessions
Grafana logs your sessions in each Grafana instance. You can review this section if you suspect someone has misused your Grafana credentials.
1. Navigate to the Preferences tab. Hover your cursor over your user icon in the lower left corner of the screen, and then click **Preferences.**
1. Scroll down to the Sessions section. Grafana displays the following:
- **Last seen -** How long ago you logged on.
- **Logged on -** The date you logged on to the current Grafana instance.
- **IP address -** The IP address that you logged on from.
- **Browser & OS -** The web browser and operating system used to log on to Grafana.
- If you are a Grafana Admin for the instance, then you can revoke a session by clicking the red signout icon in the session row.

View File

@@ -23,7 +23,7 @@ Check out the [configuration]({{< relref "configuration.md" >}}) page for more i
- Custom configuration from `$WORKING_DIR/conf/custom.ini`
- The custom configuration file path can be overridden using the `--config` parameter
> **Note.** If you have installed Grafana using the `deb` or `rpm`
> **Note:** If you have installed Grafana using the `deb` or `rpm`
> packages, then your configuration file is located at
> `/etc/grafana/grafana.ini`. This path is specified in the Grafana
> init.d script using `--config` file parameter.
@@ -32,7 +32,7 @@ Check out the [configuration]({{< relref "configuration.md" >}}) page for more i
It is possible to use environment variable interpolation in all 3 provisioning config types. Allowed syntax
is either `$ENV_VAR_NAME` or `${ENV_VAR_NAME}` and can be used only for values not for keys or bigger parts
of the configs. It is not available in the dashboards definition files just the dashboard provisioning
of the configs. It is not available in the dashboard's definition files just the dashboard provisioning
configuration.
Example:
@@ -65,7 +65,7 @@ Currently we do not provide any scripts/manifests for configuring Grafana. Rathe
> This feature is available from v5.0
It's possible to manage data sources in Grafana by adding one or more yaml config files in the [`provisioning/datasources`](/administration/configuration/#provisioning) directory. Each config file can contain a list of `datasources` that will be added or updated during start up. If the data source already exists, then Grafana updates it to match the configuration file. The config file can also contain a list of data sources that should be deleted. That list is called `deleteDatasources`. Grafana will delete data sources listed in `deleteDatasources` before inserting/updating those in the `datasource` list.
It's possible to manage data sources in Grafana by adding one or more YAML config files in the [`provisioning/datasources`](/administration/configuration/#provisioning) directory. Each config file can contain a list of `datasources` that will get added or updated during start up. If the data source already exists, then Grafana updates it to match the configuration file. The config file can also contain a list of data sources that should be deleted. That list is called `deleteDatasources`. Grafana will delete data sources listed in `deleteDatasources` before inserting/updating those in the `datasource` list.
### Running Multiple Grafana Instances
@@ -140,7 +140,7 @@ Please refer to each datasource documentation for specific provisioning examples
| ------------- | ---------------------------------------------------------------------------------- |
| Elasticsearch | Elasticsearch uses the `database` property to configure the index for a datasource |
#### Json Data
#### JSON Data
Since not all datasources have the same configuration settings we only have the most common ones as fields. The rest should be stored as a json blob in the `jsonData` field. Here are the most common settings that the core datasources use.
@@ -151,15 +151,18 @@ Since not all datasources have the same configuration settings we only have the
| tlsSkipVerify | boolean | _All_ | Controls whether a client verifies the server's certificate chain and host name. |
| graphiteVersion | string | Graphite | Graphite version |
| timeInterval | string | Prometheus, Elasticsearch, InfluxDB, MySQL, PostgreSQL and MSSQL | Lowest interval/step value that should be used for this data source |
| httpMode | string | Influxdb, Prometheus | HTTP Method. 'GET', 'POST', defaults to GET |
| esVersion | number | Elasticsearch | Elasticsearch version as a number (2/5/56/60/70) |
| timeField | string | Elasticsearch | Which field that should be used as timestamp |
| interval | string | Elasticsearch | Index date time format. nil(No Pattern), 'Hourly', 'Daily', 'Weekly', 'Monthly' or 'Yearly' |
| logMessageField | string | Elasticsearch | Which field should be used as the log message |
| logLevelField | string | Elasticsearch | Which field should be used to indicate the priority of the log message |
| authType | string | Cloudwatch | Auth provider. keys/credentials/arn |
| assumeRoleArn | string | Cloudwatch | ARN of Assume Role |
| defaultRegion | string | Cloudwatch | AWS region |
| authType | string | Cloudwatch | Auth provider. default/credentials/keys |
| externalId | string | Cloudwatch | Optional External ID |
| assumeRoleArn | string | Cloudwatch | Optional ARN role to assume |
| defaultRegion | string | Cloudwatch | Optional default AWS region |
| customMetricsNamespaces | string | Cloudwatch | Namespaces of Custom Metrics |
| profile | string | Cloudwatch | Optional credentials profile |
| tsdbVersion | string | OpenTSDB | Version |
| tsdbResolution | string | OpenTSDB | Resolution |
| sslmode | string | PostgreSQL | SSLmode. 'disable', 'require', 'verify-ca' or 'verify-full' |
@@ -260,8 +263,6 @@ providers:
type: file
# <bool> disable dashboard deletion
disableDeletion: false
# <bool> enable dashboard editing
editable: true
# <int> how often Grafana will scan for changed dashboards
updateIntervalSeconds: 10
# <bool> allow updating provisioned dashboards from the UI
@@ -275,6 +276,8 @@ providers:
When Grafana starts, it will update/insert all dashboards available in the configured path. Then later on poll that path every **updateIntervalSeconds** and look for updated json files and update/insert those into the database.
> **Note:** Dashboards are provisioned to the General folder if the `folder` option is missing or empty.
#### Making changes to a provisioned dashboard
It's possible to make changes to a provisioned dashboard in the Grafana UI. However, it is not possible to automatically save the changes back to the provisioning source.
@@ -295,11 +298,11 @@ Note: The JSON definition in the input field when using `Copy JSON to Clipboard`
### Reusable Dashboard URLs
If the dashboard in the json file contains an [uid](/reference/dashboard/#json-fields), Grafana will force insert/update on that uid. This allows you to migrate dashboards betweens Grafana instances and provisioning Grafana from configuration without breaking the URLs given since the new dashboard URL uses the uid as identifier.
If the dashboard in the json file contains an [uid](/reference/dashboard/#json-fields), Grafana will force insert/update on that uid. This allows you to migrate dashboards between Grafana instances and provisioning Grafana from configuration without breaking the URLs given since the new dashboard URL uses the uid as identifier.
When Grafana starts, it will update/insert all dashboards available in the configured folders. If you modify the file, the dashboard will also be updated.
By default Grafana will delete dashboards in the database if the file is removed. You can disable this behavior using the `disableDeletion` setting.
By default, Grafana will delete dashboards in the database if the file is removed. You can disable this behavior using the `disableDeletion` setting.
> **Note.** Provisioning allows you to overwrite existing dashboards
> **Note:** Provisioning allows you to overwrite existing dashboards
> which leads to problems if you re-use settings that are supposed to be unique.
> Be careful not to re-use the same `title` multiple times within a folder
> or `uid` within the same installation as this will cause weird behaviors.
@@ -307,7 +310,7 @@ By default Grafana will delete dashboards in the database if the file is removed
### Provision folders structure from filesystem to Grafana
If you already store your dashboards using folders in a git repo or on a filesystem, and also you want to have the same folder names in the Grafana menu, you can use `foldersFromFilesStructure` option.
For example, to replicate these dashboards structure from the filesystem to Grafana,
For example, to replicate these dashboards structure from the filesystem to Grafana,
```
/etc/dashboards
├── /server
@@ -320,22 +323,24 @@ For example, to replicate these dashboards structure from the filesystem to Graf
you need to specify just this short provision configuration file.
```yaml
apiVersion: 1
providers:
- name: dashboards
type: file
updateIntervalSeconds: 30
options:
path: /etc/dashboards
foldersFromFileStructure: true
foldersFromFilesStructure: true
```
`server` and `application` will become new folders in Grafana menu.
> **Note.** `folder` and `folderUid` options should be empty or missing to make `foldersFromFileStructure` works.
> **Note:** `folder` and `folderUid` options should be empty or missing to make `foldersFromFilesStructure` work.
> **Note:** To provision dashboards to the General folder, store them in the root of your `path`.
## Alert Notification Channels
Alert Notification Channels can be provisioned by adding one or more yaml config files in the [`provisioning/notifiers`](/administration/configuration/#provisioning) directory.
Alert Notification Channels can be provisioned by adding one or more YAML config files in the [`provisioning/notifiers`](/administration/configuration/#provisioning) directory.
Each config file can contain the following top-level fields:
@@ -378,12 +383,16 @@ notifiers:
send_reminder: true
frequency: 1h
disable_resolve_message: false
# See `Supported Settings` section for settings supporter for each
# See `Supported Settings` section for settings supported for each
# alert notification type.
settings:
recipient: 'XXX'
token: 'xoxb'
uploadImage: true
token: 'xoxb' # legacy setting since Grafana v7.2 (stored non-encrypted)
url: https://slack.com # legacy setting since Grafana v7.2 (stored non-encrypted)
# Secure settings that will be encrypted in the database (supported since Grafana v7.2). See `Supported Settings` section for secure settings supported for each notifier.
secure_settings:
token: 'xoxb'
url: https://slack.com
delete_notifiers:
@@ -399,32 +408,34 @@ delete_notifiers:
### Supported Settings
The following sections detail the supported settings for each alert notification type.
The following sections detail the supported settings and secure settings for each alert notification type. Secure settings are stored encrypted in the database and you add them to `secure_settings` in the YAML file instead of `settings`.
> **Note:** Secure settings is supported since Grafana v7.2.
#### Alert notification `pushover`
| Name |
| -------- |
| apiToken |
| userKey |
| device |
| retry |
| expire |
| Name | Secure setting |
| -------- | -------------- |
| apiToken | yes |
| userKey | yes |
| device | |
| retry | |
| expire | |
#### Alert notification `slack`
| Name |
| -------------- |
| url |
| recipient |
| username |
| icon_emoji |
| icon_url |
| uploadImage |
| mentionUsers |
| mentionGroups |
| mentionChannel |
| token |
| Name | Secure setting |
| -------------- | -------------- |
| url | yes |
| recipient | |
| username | |
| icon_emoji | |
| icon_url | |
| uploadImage | |
| mentionUsers | |
| mentionGroups | |
| mentionChannel | |
| token | yes |
#### Alert notification `victorops`
@@ -442,34 +453,34 @@ The following sections detail the supported settings for each alert notification
#### Alert notification `LINE`
| Name |
| ----- |
| token |
| Name | Secure setting |
| ----- | -------------- |
| token | yes |
#### Alert notification `pagerduty`
| Name |
| -------------- |
| integrationKey |
| autoResolve |
| Name | Secure setting |
| -------------- | -------------- |
| integrationKey | yes |
| autoResolve | |
#### Alert notification `sensu`
| Name |
| -------- |
| url |
| source |
| handler |
| username |
| password |
| Name | Secure setting |
| -------- | -------------- |
| url | |
| source | |
| handler | |
| username | |
| password | yes |
#### Alert notification `prometheus-alertmanager`
| Name |
| ----------------- |
| url |
| basicAuthUser |
| basicAuthPassword |
| Name | Secure setting |
| ----------------- | -------------- |
| url | |
| basicAuthUser | |
| basicAuthPassword | yes |
#### Alert notification `teams`
@@ -500,36 +511,36 @@ The following sections detail the supported settings for each alert notification
#### Alert notification `opsgenie`
| Name |
| ---------------- |
| apiKey |
| apiUrl |
| autoClose |
| overridePriority |
| Name | Secure setting |
| ---------------- | -------------- |
| apiKey | yes |
| apiUrl | |
| autoClose | |
| overridePriority | |
#### Alert notification `telegram`
| Name |
| ----------- |
| bottoken |
| chatid |
| uploadImage |
| Name | Secure setting |
| ----------- | -------------- |
| bottoken | yes |
| chatid | |
| uploadImage | |
#### Alert notification `threema`
| Name |
| ------------ |
| gateway_id |
| recipient_id |
| api_secret |
| Name | Secure setting |
| ------------ | -------------- |
| gateway_id | |
| recipient_id | |
| api_secret | yes |
#### Alert notification `webhook`
| Name |
| -------- |
| url |
| username |
| password |
| Name | Secure setting |
| -------- | -------------- |
| url | |
| username | |
| password | yes |
#### Alert notification `googlechat`

View File

@@ -3,11 +3,12 @@ title = "Security"
description = "Security Docs"
keywords = ["grafana", "security", "documentation"]
type = "docs"
aliases = ["/docs/grafana/latest/installation/security/"]
[menu.docs]
name = "Security"
identifier = "security"
parent = "admin"
weight = 2
weight = 500
+++
# Security

View File

@@ -1,17 +1,16 @@
+++
title = "Setup Grafana for high availability"
title = "Set up Grafana for high availability"
type = "docs"
keywords = ["grafana", "tutorials", "HA", "high availability"]
aliases = ["/docs/grafana/latest/tutorials/ha_setup/"]
[menu.docs]
parent = "tutorials"
weight = 10
weight = 1200
+++
# How to setup Grafana for high availability
# Set up Grafana for high availability
Setting up Grafana for high availability is fairly simple. You just need a shared database for storing dashboard, users,
and other persistent data. So the default embedded SQLite database will not work, you will have to switch to
MySQL or Postgres.
and other persistent data. So the default embedded SQLite database will not work, you will have to switch to MySQL or Postgres.
<div class="text-center">
<img src="/img/docs/tutorials/grafana-high-availability.png" max-width= "800px" class="center" />
@@ -19,13 +18,13 @@ MySQL or Postgres.
## Configure multiple servers to use the same database
First, you need to setup MySQL or Postgres on another server and configure Grafana to use that database.
You can find the configuration for doing that in the [[database]]({{< relref "../administration/configuration.md" >}}#database) section in the grafana config.
First, you need to set up MySQL or Postgres on another server and configure Grafana to use that database.
You can find the configuration for doing that in the [[database]]({{< relref "../administration/configuration.md#database" >}}) section in the Grafana config.
Grafana will now persist all long term data in the database. How to configure the database for high availability is out of scope for this guide. We recommend finding an expert on for the database you're using.
## Alerting
Currently alerting supports a limited form of high availability. Since v4.2.0, alert notifications are deduped when running multiple servers. This means all alerts are executed on every server but alert notifications are only sent once per alert. Grafana does not support load distribution between servers.
Currently alerting supports a limited form of high availability. Since v4.2.0, [alert notifications](https://grafana.com/docs/grafana/latest/alerting/notifications/) are deduped when running multiple servers. This means all alerts are executed on every server but alert notifications are only sent once per alert. Grafana does not support load distribution between servers.
## User sessions

View File

@@ -4,7 +4,7 @@ type = "docs"
[menu.docs]
identifier = "alerting"
parent = "features"
weight = 6
weight = 100
+++
# Alerts overview

View File

@@ -5,6 +5,7 @@ keywords = ["grafana", "alerting", "guide", "rules"]
type = "docs"
[menu.docs]
name = "Create alerts"
identifier = "create-alerts"
parent = "alerting"
weight = 200
+++
@@ -78,7 +79,7 @@ We plan to add other condition types in the future, like `Other Alert`, where yo
#### Multiple Series
If a query returns multiple series then the aggregation function and threshold check will be evaluated for each series. What Grafana does not do currently is track alert rule state **per series**. This has implications that are detailed in the scenario below.
If a query returns multiple series, then the aggregation function and threshold check will be evaluated for each series. What Grafana does not do currently is track alert rule state **per series**. This has implications that are detailed in the scenario below.
- Alert condition with query that returns 2 series: **server1** and **server2**
- **server1** series causes the alert rule to fire and switch to state `Alerting`
@@ -86,7 +87,7 @@ If a query returns multiple series then the aggregation function and threshold c
- In a subsequent evaluation of the same alert rule, the **server2** series also causes the alert rule to fire
- No new notifications are sent as the alert rule is already in state `Alerting`.
So as you can see from the above scenario Grafana will not send out notifications when other series cause the alert to fire if the rule already is in state `Alerting`. To improve support for queries that return multiple series we plan to track state **per series** in a future release.
So, as you can see from the above scenario Grafana will not send out notifications when other series cause the alert to fire if the rule already is in state `Alerting`. To improve support for queries that return multiple series we plan to track state **per series** in a future release.
> Starting with Grafana v5.3 you can configure reminders to be sent for triggered alerts. This will send additional notifications
> when an alert continues to fire. If other series (like server2 in the example above) also cause the alert rule to fire they will be included in the reminder notification. Depending on what notification channel you're using you may be able to take advantage of this feature for identifying new/existing series causing alert to fire.
@@ -99,7 +100,7 @@ Below are conditions you can configure how the rule evaluation engine should han
| --------------- | ------------------------------------------------------------------------------------------ |
| No Data | Set alert rule state to `NoData` |
| Alerting | Set alert rule state to `Alerting` |
| Keep Last State | Keep the current alert rule state, what ever it is. |
| Keep Last State | Keep the current alert rule state, whatever it is. |
| Ok | Not sure why you would want to send yourself an alert when things are okay, but you could. |
### Execution errors or timeouts
@@ -109,7 +110,7 @@ Tell Grafana how to handle execution or timeout errors.
| Error or timeout option | Description |
| ----------------------- | --------------------------------------------------- |
| Alerting | Set alert rule state to `Alerting` |
| Keep Last State | Keep the current alert rule state, what ever it is. |
| Keep Last State | Keep the current alert rule state, whatever it is. |
If you have an unreliable time series store from which queries sometime timeout or fail randomly you can set this option to `Keep Last State` in order to basically ignore them.

View File

@@ -5,8 +5,9 @@ keywords = ["Grafana", "alerting", "guide", "notifications"]
type = "docs"
[menu.docs]
name = "Notifications"
identifier = "alert-notification"
parent = "alerting"
weight = 200
weight = 100
+++
# Alert notifications
@@ -73,15 +74,18 @@ Telegram | `telegram` | yes | no
Threema | `threema` | yes, external only | no
VictorOps | `victorops` | yes, external only | no
[Webhook](#webhook) | `webhook` | yes, external only | yes
[Zenduty](#zenduty) | `webhook` | yes, external only | yes
### Email
To enable email notifications you have to setup [SMTP settings]({{< relref "../administration/configuration/#smtp" >}})
To enable email notifications you have to set up [SMTP settings]({{< relref "../administration/configuration/#smtp" >}})
in the Grafana config. Email notifications will upload an image of the alert graph to an
external image destination if available or fallback to attaching the image to the email.
Be aware that if you use the `local` image storage email servers and clients might not be
able to access the image.
> **Note:** Template variables are not supported in email alerts.
Setting | Description
---------- | -----------
Single email | Send a single email to all recipients. Disabled per default.
@@ -122,13 +126,14 @@ Severity | Level for dynamic notifications, default is `critical` (1)
Auto resolve incidents | Resolve incidents in PagerDuty once the alert goes back to ok
Message in details | Removes the Alert message from the PD summary field and puts it into custom details instead (2)
>**Note:** The tags `Severity`, `Class`, `Group`, and `Component` have special meaning in the [Pagerduty Common Event Format - PD-CEF](https://support.pagerduty.com/docs/pd-cef). If an alert panel defines these tag keys, then they are transposed to the root of the event sent to Pagerduty. This means they will be available within the Pagerduty UI and Filtering tools. A Severity tag set on an alert overrides the global Severity set on the notification channel if it's a valid level.
>**Note:** The tags `Severity`, `Class`, `Group`, `dedup_key`, and `Component` have special meaning in the [Pagerduty Common Event Format - PD-CEF](https://support.pagerduty.com/docs/pd-cef). If an alert panel defines these tag keys, then they are transposed to the root of the event sent to Pagerduty. This means they will be available within the Pagerduty UI and Filtering tools. A Severity tag set on an alert overrides the global Severity set on the notification channel if it's a valid level.
>Using Message In Details will change the structure of the `custom_details` field in the PagerDuty Event.
This might break custom event rules in your PagerDuty rules if you rely on the fields in `payload.custom_details`.
Move any existing rules using `custom_details.myMetric` to `custom_details.queries.myMetric`.
This behavior will become the default in a future version of Grafana.
> Using `dedup_key` tag will override Grafana generated `dedup_key` with a custom key.
### Webhook
The webhook notification is a simple way to send information about a state change over HTTP to a custom endpoint.
@@ -171,17 +176,17 @@ In DingTalk PC Client:
1. Click "more" icon on upper right of the panel.
2. Click "Robot Manage" item in the pop menu, there will be a new panel call "Robot Manage".
1. Click "Robot Manage" item in the pop menu, there will be a new panel call "Robot Manage".
3. In the "Robot Manage" panel, select "customized: customized robot with Webhook".
1. In the "Robot Manage" panel, select "customized: customized robot with Webhook".
4. In the next new panel named "robot detail", click "Add" button.
1. In the next new panel named "robot detail", click "Add" button.
5. In "Add Robot" panel, input a nickname for the robot and select a "message group" which the robot will join in. click "next".
1. In "Add Robot" panel, input a nickname for the robot and select a "message group" which the robot will join in. click "next".
6. There will be a Webhook URL in the panel, looks like this: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxx. Copy this URL to the grafana Dingtalk setting page and then click "finish".
1. There will be a Webhook URL in the panel, looks like this: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxx. Copy this URL to the Grafana DingTalk setting page and then click "finish".
Dingtalk supports the following "message type": `text`, `link` and `markdown`. Only the `link` message type is supported.
DingTalk supports the following "message type": `text`, `link` and `markdown`. Only the `link` message type is supported.
### Kafka
@@ -190,13 +195,13 @@ There are a couple of configuration options which need to be set up in Grafana U
1. Kafka REST Proxy endpoint.
2. Kafka Topic.
1. Kafka Topic.
Once these two properties are set, you can send the alerts to Kafka for further processing or throttling.
### Google Hangouts Chat
Notifications can be sent by setting up an incoming webhook in Google Hangouts chat. Configuring such a webhook is described [here](https://developers.google.com/hangouts/chat/how-tos/webhooks).
Notifications can be sent by setting up an incoming webhook in Google Hangouts chat. For more information about configuring a webhook, refer to [webhooks](https://developers.google.com/hangouts/chat/how-tos/webhooks).
### Squadcast
@@ -208,6 +213,10 @@ Alertmanager handles alerts sent by client applications such as Prometheus serve
> **Caution:** In case of a high-availability setup, do not load balance traffic between Grafana and Alertmanagers to keep coherence between all your Alertmanager instances. Instead, point Grafana to a list of all Alertmanagers, by listing their URLs comma-separated in the notification channel configuration.
### Zenduty
[Zenduty](https://www.zenduty.com) is an incident alerting and response orchestration platform that not alerts the right teams via SMS, Phone(Voice), Email, Slack, Microsoft Teams and Push notifications(Android/iOS) whenever a Grafana alert is triggered, but also helps you rapidly triage and remediate critical, user impacting incidents. Grafana alert are sent to Zenduty through Grafana's native webhook dispatcher. Refer the Zenduty-Grafana [integration documentation](https://docs.zenduty.com/docs/grafana) for configuring the integration.
## Enable images in notifications {#external-image-store}
Grafana can render the panel associated with the alert rule as a PNG image and include that in the notification. Read more about the requirements and how to configure

View File

@@ -4,6 +4,7 @@ description = "Pause an existing alert rule"
keywords = ["grafana", "alerting", "guide", "rules", "view"]
type = "docs"
[menu.docs]
identifier = "pause-alerts"
parent = "alerting"
weight = 400
+++

View File

@@ -5,6 +5,7 @@ keywords = ["grafana", "alerting", "guide", "rules", "troubleshoot"]
type = "docs"
[menu.docs]
name = "Troubleshoot alerts"
identifier = "troubleshoot-alerts"
parent = "alerting"
weight = 500
+++

View File

@@ -5,6 +5,7 @@ keywords = ["grafana", "alerting", "guide", "rules", "view"]
type = "docs"
[menu.docs]
name = "View alerts"
identifier = "view-alerts"
parent = "alerting"
weight = 400
+++

View File

@@ -1,21 +0,0 @@
+++
title = "Docs Archive"
keywords = ["grafana", "archive", "documentation", "guide"]
type = "docs"
[menu.docs]
name = "Docs Archive"
weight = 200
+++
# Docs Archive
Here you can find links to older versions of the documentation that might be better suited for your version
of Grafana.
- [Latest](/docs/grafana/latest/)
- [Version 4.5](/docs/grafana/v4.5)
- [Version 4.4](/docs/grafana/v4.4)
- [Version 4.3](/docs/grafana/v4.3)
- [Version 4.2](/docs/grafana/v4.2)
- [Version 4.1](/docs/grafana/v4.1)
- [Version 3.1](/docs/grafana/v3.1)

View File

@@ -6,7 +6,7 @@ type = "docs"
name = "Authentication"
identifier = "authentication"
parent = "admin"
weight = 3
weight = 30
+++
# User Authentication Overview
@@ -15,6 +15,8 @@ Grafana provides many ways to authenticate users. Some authentication integratio
Here is a table showing all supported authentication providers and the features available for them. [Team sync]({{< relref "../enterprise/team-sync.md" >}}) and [active sync]({{< relref "../enterprise/enhanced_ldap.md#active-ldap-synchronization" >}}) are only available in Grafana Enterprise.
See also, [Grafana Authentication]({{< relref "grafana.md" >}}).
Provider | Support | Role mapping | Team sync<br> *(Enterprise only)* | Active sync<br> *(Enterprise only)*
-------- | :-----: | :----------: | :-------: | :---------:
[Auth Proxy]({{< relref "auth-proxy.md" >}}) | v2.1+ | - | v6.3+ | -
@@ -26,118 +28,3 @@ Provider | Support | Role mapping | Team sync<br> *(Enterprise only)* | Active s
[LDAP]({{< relref "ldap.md" >}}) | v2.1+ | v2.1+ | v5.3+ | v6.3+
[Okta OAuth]({{< relref "okta.md" >}}) | v7.0+ | v7.0+ | v7.0+ | -
[SAML]({{< relref "../enterprise/saml.md" >}}) (Enterprise only) | v6.3+ | v7.0+ | v7.0+ | -
## Grafana Auth
Grafana of course has a built in user authentication system with password authentication enabled by default. You can
disable authentication by enabling anonymous access. You can also hide login form and only allow login through an auth
provider (listed above). There is also options for allowing self sign up.
### Login and short-lived tokens
> The following applies when using Grafana's built in user authentication, LDAP (without Auth proxy) or OAuth integration.
Grafana are using short-lived tokens as a mechanism for verifying authenticated users.
These short-lived tokens are rotated each `token_rotation_interval_minutes` for an active authenticated user.
An active authenticated user that gets it token rotated will extend the `login_maximum_inactive_lifetime_days` time from "now" that Grafana will remember the user.
This means that a user can close its browser and come back before `now + login_maximum_inactive_lifetime_days` and still being authenticated.
This is true as long as the time since user login is less than `login_maximum_lifetime_days`.
#### Remote logout
You can logout from other devices by removing login sessions from the bottom of your profile page. If you are
a Grafana admin user you can also do the same for any user from the Server Admin / Edit User view.
## Settings
Example:
```bash
[auth]
# Login cookie name
login_cookie_name = grafana_session
# The lifetime (days) an authenticated user can be inactive before being required to login at next visit. Default is 7 days.
login_maximum_inactive_lifetime_days = 7
# The maximum lifetime (days) an authenticated user can be logged in since login time before being required to login. Default is 30 days.
login_maximum_lifetime_days = 30
# How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
token_rotation_interval_minutes = 10
# The maximum lifetime (seconds) an api key can be used. If it is set all the api keys should have limited lifetime that is lower than this value.
api_key_max_seconds_to_live = -1
```
### Anonymous authentication
You can make Grafana accessible without any login required by enabling anonymous access in the configuration file.
Example:
```bash
[auth.anonymous]
enabled = true
# Organization name that should be used for unauthenticated users
org_name = Main Org.
# Role for unauthenticated users, other valid values are `Editor` and `Admin`
org_role = Viewer
```
If you change your organization name in the Grafana UI this setting needs to be updated to match the new name.
### Basic authentication
Basic auth is enabled by default and works with the built in Grafana user password authentication system and LDAP
authentication integration.
To disable basic auth:
```bash
[auth.basic]
enabled = false
```
### Disable login form
You can hide the Grafana login form using the below configuration settings.
```bash
[auth]
disable_login_form = true
```
### Automatic OAuth login
Set to true to attempt login with OAuth automatically, skipping the login screen.
This setting is ignored if multiple OAuth providers are configured.
Defaults to `false`.
```bash
[auth]
oauth_auto_login = true
```
### Hide sign-out menu
Set the option detailed below to true to hide sign-out menu link. Useful if you use an auth proxy.
```bash
[auth]
disable_signout_menu = true
```
### URL redirect after signing out
URL to redirect the user to after signing out from Grafana. This can for example be used to enable signout from oauth provider.
```bash
[auth]
signout_redirect_url =
```

View File

@@ -8,7 +8,7 @@ aliases = ["/docs/grafana/latest/tutorials/authproxy/"]
name = "Auth Proxy"
identifier = "auth-proxy"
parent = "authentication"
weight = 2
weight = 200
+++
# Auth Proxy Authentication
@@ -108,25 +108,25 @@ In this example we use Apache as a reverse proxy in front of Grafana. Apache han
</VirtualHost>
```
* The first 4 lines of the virtualhost configuration are standard, so we wont go into detail on what they do.
- The first four lines of the virtualhost configuration are standard, so we wont go into detail on what they do.
* We use a **\<proxy>** configuration block for applying our authentication rules to every proxied request. These rules include requiring basic authentication where user:password credentials are stored in the **/etc/apache2/grafana_htpasswd** file. This file can be created with the `htpasswd` command.
- We use a **\<proxy>** configuration block for applying our authentication rules to every proxied request. These rules include requiring basic authentication where user:password credentials are stored in the **/etc/apache2/grafana_htpasswd** file. This file can be created with the `htpasswd` command.
* The next part of the configuration is the tricky part. We use Apaches rewrite engine to create our **X-WEBAUTH-USER header**, populated with the authenticated user.
- The next part of the configuration is the tricky part. We use Apaches rewrite engine to create our **X-WEBAUTH-USER header**, populated with the authenticated user.
* **RewriteRule .* - [E=PROXY_USER:%{LA-U:REMOTE_USER}, NS]**: This line is a little bit of magic. What it does, is for every request use the rewriteEngines look-ahead (LA-U) feature to determine what the REMOTE_USER variable would be set to after processing the request. Then assign the result to the variable PROXY_USER. This is necessary as the REMOTE_USER variable is not available to the RequestHeader function.
- **RewriteRule .* - [E=PROXY_USER:%{LA-U:REMOTE_USER}, NS]**: This line is a little bit of magic. What it does, is for every request use the rewriteEngines look-ahead (LA-U) feature to determine what the REMOTE_USER variable would be set to after processing the request. Then assign the result to the variable PROXY_USER. This is necessary as the REMOTE_USER variable is not available to the RequestHeader function.
* **RequestHeader set X-WEBAUTH-USER “%{PROXY_USER}e”**: With the authenticated username now stored in the PROXY_USER variable, we create a new HTTP request header that will be sent to our backend Grafana containing the username.
- **RequestHeader set X-WEBAUTH-USER “%{PROXY_USER}e”**: With the authenticated username now stored in the PROXY_USER variable, we create a new HTTP request header that will be sent to our backend Grafana containing the username.
* The **RequestHeader unset Authorization** removes the Authorization header from the HTTP request before it is forwarded to Grafana. This ensures that Grafana does not try to authenticate the user using these credentials (BasicAuth is a supported authentication handler in Grafana).
- The **RequestHeader unset Authorization** removes the Authorization header from the HTTP request before it is forwarded to Grafana. This ensures that Grafana does not try to authenticate the user using these credentials (BasicAuth is a supported authentication handler in Grafana).
* The last 3 lines are then just standard reverse proxy configuration to direct all authenticated requests to our Grafana server running on port 3000.
- The last 3 lines are then just standard reverse proxy configuration to direct all authenticated requests to our Grafana server running on port 3000.
## Full walk through using Docker.
## Full walkthrough using Docker.
For this example, we use the official Grafana docker image available at [Docker Hub](https://hub.docker.com/r/grafana/grafana/)
For this example, we use the official Grafana Docker image available at [Docker Hub](https://hub.docker.com/r/grafana/grafana/).
* Create a file `grafana.ini` with the following contents
- Create a file `grafana.ini` with the following contents
```bash
[users]
@@ -152,7 +152,7 @@ docker run -i -v $(pwd)/grafana.ini:/etc/grafana/grafana.ini --name grafana graf
For this example we use the official Apache docker image available at [Docker Hub](https://hub.docker.com/_/httpd/)
* Create a file `httpd.conf` with the following contents
- Create a file `httpd.conf` with the following contents
```bash
ServerRoot "/usr/local/apache2"
@@ -207,13 +207,13 @@ ProxyPass / http://grafana:3000/
ProxyPassReverse / http://grafana:3000/
```
* Create a htpasswd file. We create a new user **anthony** with the password **password**
- Create a htpasswd file. We create a new user **anthony** with the password **password**
```bash
htpasswd -bc htpasswd anthony password
```
* Launch the httpd container using our custom httpd.conf and our htpasswd file. The container will listen on port 80, and we create a link to the **grafana** container so that this container can resolve the hostname **grafana** to the grafana containers ip address.
- Launch the httpd container using our custom httpd.conf and our htpasswd file. The container will listen on port 80, and we create a link to the **grafana** container so that this container can resolve the hostname **grafana** to the Grafana containers IP address.
```bash
docker run -i -p 80:80 --link grafana:grafana -v $(pwd)/httpd.conf:/usr/local/apache2/conf/httpd.conf -v $(pwd)/htpasswd:/tmp/htpasswd httpd:2.4

View File

@@ -7,7 +7,7 @@ type = "docs"
name = "Azure AD"
identifier = "azuread_oauth2"
parent = "authentication"
weight = 3
weight = 700
+++
# Azure AD OAuth2 authentication
@@ -20,32 +20,30 @@ The Azure AD authentication provides the possibility to use an Azure Active Dire
To enable the Azure AD OAuth2 you must register your application with Azure AD.
1. Log in to [Azure Portal](https://portal.azure.com) and click **Azure Active Directory** in the side menu.
1. Log in to [Azure Portal](https://portal.azure.com) and click **Azure Active Directory** in the side menu. If you have access to more than one tenant, select your account in the upper right. Set your session to the Azure AD tenant you wish to use.
1. Click **App Registrations** and add a new application registration:
- Name: Grafana
- Application type: Web app / API
- Sign-on URL: `https://<grafana domain>/login/azuread`
1. Under **Manage** in the side menu, click **App Registrations** and then **New Registration**. Provide a fitting name.
1. Click the name of the new application to open the application details page.
1. Under **Redirect URI**, select **Web** as the app type.
1. Click **Endpoints**.
- Note down the **OAuth 2.0 authorization endpoint (v2)**, this will be the auth URL.
- Note down the **OAuth 2.0 token endpoint (v2)**, this will be the token URL.
1. Add the redirect URL `https://<grafana domain>/login/azuread`, then click **Register**.
1. Close the Endpoints page to come back to the application details page.
1. The app's **Overview** page is displayed. Note the **Application ID**, this is the OAuth client id.
1. Note down the "Application ID", this will be the OAuth client id.
1. Click **Endpoints** from the top menu.
- Note the **OAuth 2.0 authorization endpoint (v2)**, this is the auth URL.
- Note the **OAuth 2.0 token endpoint (v2)**, this is the token URL.
1. Click **Certificates & secrets** and add a new entry under Client secrets.
- Description: Grafana OAuth
- Expires: Never
1. Click **Add** then copy the key value, this will be the OAuth client secret.
1. Click **Add**, then copy the key value. This is the OAuth client secret.
1. Click **Manifest**.
- Add definitions for the required Application Roles for Grafana (Viewer, Editor, Admin). Without this configuration all users will be assigned to the Viewer role.
- Every role has to have a unique id. On Linux this can be created with `uuidgen` for instance.
- Add definitions for the required Application Roles for Grafana (Viewer, Editor, Admin). Without this configuration, all users will be assigned the Viewer role.
- Every role requires a unique id. On Linux, this can be created with `uuidgen`. For example:
```json
"appRoles": [
@@ -88,9 +86,9 @@ To enable the Azure AD OAuth2 you must register your application with Azure AD.
],
```
1. Click Overview and then on **Managed application in local directory** to show the Enterprise Application details.
1. Go to **Azure Active Directory** and then to **Enterprise Applications**. Search for your application and click on it.
1. Click on **Users and groups** and add Users/Groups to the Grafana roles by using **Add User**.
1. Click on **Users and Groups** and add Users/Groups to the Grafana roles by using **Add User**.
## Enable Azure AD OAuth in Grafana
@@ -110,7 +108,7 @@ allowed_domains =
allowed_groups =
```
> Note: Ensure that the [root_url]({{< relref "../administration/configuration/#root-url" >}}) in Grafana is set in your Azure Application Reply URLs (App -> Settings -> Reply URLs)
> **Note:** Ensure that the [root_url]({{< relref "../administration/configuration/#root-url" >}}) in Grafana is set in your Azure Application Reply URLs (App -> Settings -> Reply URLs)
### Configure allowed groups and domains

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