Commit Graph
79 Commits
Author SHA1 Message Date
Will Browne e82f8dbef9 switch to json resp for errors (#36743) 2021-07-15 08:56:11 +02:00
Will Browne 7dbe388d4e fix gzipped plugin asset response (#36721) 2021-07-14 09:38:49 +02:00
Will Browne e06335ffe9 Plugins: Improve grafana-cli UX + API response messaging for plugin install incompatibility scenario (#36556)
* improve UX for plugin install incompatability

* refactor test
2021-07-13 09:58:46 +02:00
Will Browne 2616580bae allow for appropriate content-type to be set (#36545) 2021-07-08 11:14:24 +02:00
Will Browne 333d520528 Plugins: Improve API response for plugin assets (#36352)
* improve API response for plugin assets 403

* remove unnecessary newline
2021-07-07 12:18:05 +02:00
Will Browne 719e78f333 bump version (#36430) 2021-07-05 12:19:10 +02:00
Will Browne ea8aee0432 add note about HA limitation (#36112) 2021-06-24 10:16:07 -04:00
Will Browneandachatterjee-grafana 89d8dedece Plugins: Improve wording around allow_loading_unsigned_plugins configuration (#35731)
* improve wording

* Update docs/sources/administration/configuration.md

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

* Update docs/sources/administration/configuration.md

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

* Update conf/sample.ini

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

* Update conf/defaults.ini

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-06-15 18:53:11 +02:00
Will Browne adbb15a3a7 Plugins: fix test with bad symlink target (#35737) 2021-06-15 13:53:09 +02:00
Will Browne 303352a89b Plugins: Ignore symlinked folders when verifying plugin signature (#34434)
* add check + test

* fix test

* add manifest

* fix linter

* add nolint

* separate err cond checks

* only collect relevant plugin files

* skip symlinks

* refactor

* add missing test files + enable scanning Chromium.app/

* remove test since case already covered

* remove unnecessary changes from before

* refactor

* remove comment
2021-06-15 11:55:47 +02:00
Will Browne 873e20b7ae Plugins: Ignore trailing slash in root URL check (#35338)
* ignore trailing slash in root URL check

* apply pr feedback
2021-06-09 09:57:32 +02:00
Will Browne 2e9ad871b3 remove incorrect use of grafana-cli logger (#35228) 2021-06-04 11:06:34 +02:00
Will Browne 057ba4a6e7 fix bad log format (#35150) 2021-06-03 10:26:52 +02:00
Will BrowneandUrsula Kallio 8d51c2ae97 Plugins: Update plugin signing copy + docs (#34716)
* update plugin signing copy + docs

* rewording

* remove grafana sig note

* update unsigned plugin wording

* remove org admin reference in catalog docs

* add whitespace to message

* apply pr suggestion

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* apply pr feedback

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-05-31 21:54:53 +02:00
Will Browne 28ccf2c880 add missing statis assets prefix (#34999) 2021-05-31 20:30:43 +02:00
Will Browne aba1801193 Plugins: Check for Grafana admin instead of Org admin (#35000)
* check for grafana admin where necessary

* fix
2021-05-31 18:42:36 +02:00
Will Browne 98c849d4cc fix permissions + add link for admins (#34906) 2021-05-31 12:30:32 +02:00
Will BrowneandDiana Payton 244d3f61c3 Plugins: Add missing docs for plugin catalog (#34679)
* add missing docs for plugin catalog

* apply PR feedback

* use mp4 instead of gif

* update wording

* Add note about org admins

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

* apply pr feedback

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-05-28 16:44:40 +02:00
Will Browne c7b58fe186 Plugins: Enable catalog management link to gcom (#34673)
* click out to gcom when config enabled

* set to false

* fix styling for uninstall

* remove advertising config + simplify callout URL

* add entry to configuration.md

* update config name

* update lingo
2021-05-27 12:45:06 +02:00
Will Browne dbef103fb9 check is grafana admin (#34773) 2021-05-27 11:08:16 +02:00
Will Browne c4dcfdef56 Plugins: Improve plugin installer error messages (#34437)
* fix and improve error messages

* enrich error message

* ignore previous changes

* revert manual version bump

* remove condition

* fix version param
2021-05-20 15:11:07 +02:00
Will Browne c1ec13035d Plugins: Enforce signing for all plugins (#34364)
* enforce non-backend plugin signing

* fix tests

* add tests

* add signatures

* apply PR feedback

* update upgrading docs
2021-05-19 15:42:50 +02:00
Will BrowneandJack Westbrook 4e31169a43 Plugins: Catalog force enable via config and remove enterprise plugin options (#34358)
* force enable catalog based on backend config

* update comments

* chore(plugin-catalog): remove config page in favour of backend flag

* docs(plugin-catalog): update readme

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2021-05-19 10:22:31 +02:00
Will Browne 3db0b4ad93 Plugins: Remove Apache licenses from bundled plugins (#34214)
* remove Apache licenses

* update license links

* remove links from input plugin.json

* remove links

* correct package.json license

* set to private instead

* remove
2021-05-18 15:51:33 +02:00
c39d6ad97d Plugins: Enable plugin runtime install/uninstall capabilities (#33836)
* add uninstall flow

* add install flow

* small cleanup

* smaller-footprint solution

* cleanup + make bp start auto

* fix interface contract

* improve naming

* accept version arg

* ensure use of shared logger

* make installer a field

* add plugin decommissioning

* add basic error checking

* fix api docs

* making initialization idempotent

* add mutex

* fix comment

* fix test

* add test for decommission

* improve existing test

* add more test coverage

* more tests

* change test func to use read lock

* refactoring + adding test asserts

* improve purging old install flow

* improve dupe checking

* change log name

* skip over dupe scanned

* make test assertion more flexible

* remove trailing line

* fix pointer receiver name

* update comment

* add context to API

* add config flag

* add base http api test + fix update functionality

* simplify existing check

* clean up test

* refactor tests based on feedback

* add single quotes to errs

* use gcmp in tests + fix logo issue

* make plugin list testing more flexible

* address feedback

* fix API test

* fix linter

* undo preallocate

* Update docs/sources/administration/configuration.md

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

* Update docs/sources/administration/configuration.md

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

* Update docs/sources/administration/configuration.md

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

* fix linting issue in test

* add docs placeholder

* update install notes

* Update docs/sources/plugins/marketplace.md

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

* update access wording

* add more placeholder docs

* add link to more info

* PR feedback - improved errors, refactor, lock fix

* improve err details

* propagate plugin version errors

* don't autostart renderer

* add H1

* fix imports

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>
2021-05-12 20:05:16 +02:00
Will Browne 5c13820bba Ensure http client has no timeout (#33856) 2021-05-10 16:59:33 +02:00
Will BrowneandMarcus Efraimsson 9726c76429 Chore: Swap out use of backend plugin SDK's backend.Logger (#33783)
* Remove use of backend SDKs backend.Logger

* reorder imports

* FIx logger name

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

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2021-05-07 15:16:21 +02:00
Will Browne 3b10451f9f version bump (#33784) 2021-05-06 16:40:04 +02:00
Will Browne 6958340b24 Plugins: Support installing to folders with whitespace and fix pluginUrl trailing and leading whitespace failures (#32506)
* Plugins: Support installing to folders with whitespace and fix pluginUrl trailing and leading whitespace failures

* update docs

* update docs
2021-04-27 16:30:59 +02:00
Will Browne 8e6205c107 Plugins: Move plugin installing + uninstalling logic from CLI to plugins package (#33274)
* move guts from cli to server

* renaming + refactoring

* add pluginsDir arg

* arg fixes

* add support for repo URL override

* add funcs to interface

* use pluginID consistently

* swap args

* pass mandatory grafanaVersion field

* introduce logger interface

* create central logger for CLI

* add infra log wrapper

* re-add log initer step

* remove unused logger

* add checks for uninstalling

* improve debug blue

* make sure to close file

* fix linter issues

* remove space

* improve newline usage

* refactor packaging

* improve logger API

* fix interface func names

* close file and reformat zipslip catch

* handle G305 linter warning

* add helpful debug log
2021-04-26 16:13:40 +02:00
Will Browne c37a3bebb7 Plugins: Serve static assets directly instead of through middleware handler (#32779)
* removed static routes from macaron

* move path src to plugins pkg

* use plugin details

* remove dead code

* fixes

* use clean from std lib

* reformat imports

* remove caching headers + add security checks

* revert using no cache header middleware

* add cache-control headers

* add 404 check

* use new var for subsequent file handling
2021-04-21 15:17:23 +02:00
Will Browne 6a3faad0b0 Chore: Bump grafana-aws-sdk dep to 0.4.0 (#32563) 2021-03-31 18:30:32 +02:00
Will Browne 1d7f155c92 remove unnecessary state (#32278) 2021-03-29 14:22:56 +02:00
Will Browne d7862c50b8 Plugins: Migrate CloudWatch to backend plugin SDK (#31149)
* first pass

* add instance manager

* fix tests

* remove dead code

* unexport fields

* cleanup

* remove ds instance from executor

* cleanup

* inline im

* remove old func

* get error working

* unexport field

* let fe do its magic

* fix channel name

* revert some tsdb changes

* fix annotations

* cleanup
2021-03-23 16:32:12 +01:00
Will Browne 8e1c2d6472 move backend docs to their relevant folder (#32041) 2021-03-17 09:41:16 +01:00
Will Browne 9454a4e125 add more context to unknown delta log (#31943) 2021-03-12 15:38:23 +01:00
Will Browne c40d96d0ab Plugins: Remove pre-existing plugin installs when installing with grafana-cli (#31515)
* remove old install before install if exists

* fix log format
2021-03-10 19:13:08 +01:00
Will Browne 9ea3a65d46 Chore: add alias for what's new 7.5 (#31668) 2021-03-04 10:45:08 +01:00
Will Browne a606a49cb2 propagate plugin unavailable message to UI (#31560) 2021-03-01 18:54:10 +01:00
Will Browne d33375ade9 use 0.1.0 (#31215) 2021-02-15 12:53:20 +01:00
Will Browne da3f963987 convert path to posix by default (#31045) 2021-02-09 16:21:45 +01:00
Will Browne f4e12c1c19 Docs: Fix bad image path for alert notification template (#30911) 2021-02-04 18:11:55 +01:00
Will Browne 3b7b49a4aa Auth: Use SigV4 lib from grafana-aws-sdk (#30713)
* replace with lib

* remove test + apply feedback
2021-02-01 16:07:27 +01:00
Will Browne bdf00d3a59 Docs: Refer to product docs in whats new for alerting templating feature (#30652)
* Docs: Refer to product docs in whats new for alerting templating feature

* move link below image

* remove whitespace
2021-01-27 14:27:01 +01:00
Will Browne ad7d75c14d Docs: Update 7.4 What's New to use more correct description of alerting notification template feature (#30502)
* use more correct description of feature

* reference variable templating

* add word
2021-01-25 20:18:26 +01:00
Will Browne 7562c6749d Cloud Monitoring: Fix legend naming with display name override (#30440)
* Cloud Monitoring: Fix legend naming with display name override

* include MQL queries

* cover all bases

* refactor
2021-01-21 15:08:57 +01:00
Will Browne 0c67ceadb8 Docs: Fix img link for alert notification template (#30436)
* fix img link

* update image name
2021-01-20 17:26:58 +01:00
Will BrowneandArve Knudsen c9da053e5d Alerting: Evaluate data templating in alert rule name and message (#29908)
* evaluate Go style template

* inlince func

* add test case

* PR feedback and add tests for templte data map func

* Add test case

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

* do regex check

* ensure ecape

* small cleanup

* dont exit on template execution errors

* add info tooltip

* add docs

* switch from go tmpl to regex

* update docs/comments

* update tooltip wording

* update docs wording

* add simple test

* avoid .MustCompile

* point to labels in docs

* update docs

* fix docs links

* remove line

* fix lint

* add note about multiple labels

* propagate labels for CM

* update docs

* remove whitespace

* update task title

* update docs

* pr feedback

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-01-19 22:02:44 +01:00
Will Browne ffd86f2a5b Plugins: Force POSIX style path separators for manifest generation (#30287)
* force POSIX style path separators

* include posix style for symbolic links

* include in error string
2021-01-19 15:26:50 +01:00
Will Browne a0a1422b2d Auth: Add missing request headers to SigV4 middleware allowlist (#30115)
* Auth: Add Content-Type to SigV4 header allowlist

* add MT headers to permitted headers

* add Kibana API header to allowlist

* add Content-Length header to allow list
2021-01-14 09:06:09 +01:00
Will Browne af47d28499 Alerting: Copy frame field labels to time series tags (#29886)
* Alerting: Copy frame field labels to time series tags

* keep comment

* add test case
2020-12-16 18:07:45 +01:00
Will Browne a515c54404 Plugins: Add support for signature manifest V2 (#29240)
* add support for signing manifest v2

* add log and fix var name

* shorten comment

* improve comment

* remove unnecessary param

* improve naming

* reformat

* rename var

* refactor test

* remove unnecessary assert

* simplify test requirements

* add more test cases

* address feedback

* revert naming

* flip tracking missing

* fix check

* Trigger Build
2020-12-11 12:57:57 +01:00
Will Browne ed9076da29 Chore: update stable and testing versions (#29748) 2020-12-10 15:04:47 +01:00
Will Browne 31d64d9074 Auth: Add SigV4 header allowlist to reduce chances of verification issues (#29650)
* enforce allowlist

* fix default auth selection

* add Host and comment
2020-12-09 10:45:57 +01:00
Will BrowneandArve Knudsen 3de091edf1 Alerting: Use correct time series name override from frame fields (#29693)
* cater for empty labels and new DisplayNameFromDS field

* simplify

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

* increase priority for ds display name

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-08 22:04:05 +01:00
Will BrowneandDiana Payton 1053989686 Docs: Add missing key to enable SigV4 for provisioning Elasticsearch data source (#29584)
* add missing key to enable SigV4

* use right key :o)

* Add .

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

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-12-03 20:04:38 +01:00
Will BrowneandArve Knudsen d10a8b2761 Alerting: Improve Prometheus Alert Rule error message (#29390)
* provide better ctx for prom err

* rework

* Update pkg/tsdb/prometheus/prometheus.go

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

* Update pkg/tsdb/prometheus/prometheus.go

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

* call func

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-11-26 13:38:36 +01:00
Will Browne d796c61946 Security: Fixes minor security issue with alert notification webhooks that allowed GET & DELETE requests #29330 2020-11-24 10:42:54 +01:00
Will BrowneandArve Knudsen 2939caf9a2 Permissions: Validate against Team/User permission role update (#29101)
* validate against role field update

* lowercase error string

* make all msgs consistent style

* fix wording

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

* sayonara simple json

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-11-18 15:36:41 +01:00
Will Browne eba046d3cb Auth: Enable more complete credential chain for SigV4 default SDK auth option (#29065)
* Force more complete credential chain for default auth option

* simplify

* allow assume role for default
2020-11-13 10:27:35 +01:00
Will Browne a7ea8de47e Short URL: Cleanup unvisited/stale short URLs (#28867)
* cleanup stale short urls

* refactor test case names

* service injection

* fix query

* add docs

* remove comma
2020-11-09 18:08:16 +01:00
Will Browne 65554269ed increase blob column size for encrypted dashboard data (#28831) 2020-11-04 18:41:05 +01:00
Will Browne b9d71f5cdd Plugins: Fix descendent frontend plugin signature validation (#28638)
* move plugin root check to earlier in validation process

* remove comment

* only check root if necessary
2020-10-29 15:03:37 +01:00
Will Browne 4d2b20f727 Auth: Fix SigV4 request verification step for Amazon Elasticsearch Service (#28481)
* remove forward header and add extra steps for encoding

* add comment

* re-use forwarded header

* fix service param

* Make SDK the default auth option in UI

* use SDK code instead

* propagate err

* refactor flow

* fix prom service namespace
2020-10-26 12:36:11 +01:00
0cdb23a069 Docs: SigV4 What's New and AWS Elasticsearch documentation (#28506)
* add what's new entry and elastic docs

* update docs

* remove caps

* fix image path

* fix md link

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

* fix link case

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

* fix md link

* docs fixes

* update config ref

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

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-10-26 11:50:39 +01:00
Will BrowneandArve Knudsen 1bee9f4168 Plugins: Track plugin signing errors and expose them to the frontend (#28219)
* first pass

* return list

* types and cleanup

* add to plugin page and add styles

* update comment

* update comment

* fix component path

* simplify error component

* simplify error struct

* fix tests

* don't export and fix string()

* update naming

* remove frontend

* introduce phantom loader

* track single error

* remove error from base

* remove unused struct

* remove unnecessary filter

* add errors endpoint

* Update set log to use id field

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

* skip adding BE plugins

* remove errs from plugin + ds list

* remove unnecessary fields

* add signature state to panels

* remove unused code

* apply PR feedback

* update comment

* merge dto with model

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-23 16:45:43 +02:00
Will BrowneandSofia Papagiannaki 3706fd3942 Update changelog (#28292)
* update changelog

* Update CHANGELOG.md

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

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2020-10-15 18:11:48 +02:00
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
Will BrowneandMarcus Efraimsson 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
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
Will BrowneandArve Knudsen 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
Will Browne c764e3c37b remove org deprecation logs (#27788) 2020-09-25 16:51:12 +02: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
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
Will Browne a3c3484286 Update latest to v7.1.4 (#27104) 2020-08-20 19:08:16 +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