Arve Knudsen
0a2d5e16dd
pkg/api: Check errors ( #19657 )
...
* pkg/api: Check errors
* pkg/api: Remove unused function HashEmail
2019-10-08 18:57:53 +02:00
Oleg Gaidarenko
caa1314f44
Build: use golangci-lint as a make command ( #17739 )
...
* Build: use golangci-lint as a make command
* Since gometalinter was deprecated in favor of golangci-lint so it was
replaced by it. Responsibilities held by the gometalinter was moved to
golangci-lint
* There was some changes in implementation (that was also mentioned in
the code comment) between the tools, which uncovered couple errors
in the code. Those issues were either solved or disabled by
the inline comments
* Introduce the golangci-lint config, to make their
configuration more manageable
* Build: replace backend-lint.sh script with make
2019-07-02 16:06:59 +03:00
Maxim Ivanov
151fe240fc
OAuth: Fix for wrong user token updated on OAuth refresh in DS proxy ( #17541 )
2019-06-12 13:47:38 +02:00
Mario Trangoni
87760d4fde
Codestyle: Fix govet issues ( #17178 )
...
ref #10381
Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>
2019-06-04 22:00:05 +02:00
zhulongcheng
2fff8f77dc
move log package to /infra ( #17023 )
...
ref #14679
Signed-off-by: zhulongcheng <zhulongcheng.me@gmail.com>
2019-05-13 08:45:54 +02:00
Brian Gann
b07d0b1026
Plugins: Support templated urls in routes ( #16599 )
...
This adds support for using templated/dynamic urls in routes.
* refactor interpolateString into utils and add interpolation support for app plugin routes.
* cleanup and add error check for url parse failure
* add docs for interpolated route urls
Closes #16835
2019-05-07 18:55:39 +02:00
Marcus Efraimsson
e210725d3d
DataProxy: Restore Set-Cookie header after proxy request ( #16838 )
...
If Grafana rotates the user's auth token during a request to the data
source proxy it will set the Set-Cookie header with new auth token in
response before proxying the request to the datasource.
Before this fix the Set-Cookie response header was cleared after the
proxied request was finished to make sure that proxied datasources
cannot affect cookies in users browsers. This had the consequence
of accidentally also clearing the new auth token set in Set-Cookie
header.
With this fix the original Set-Cookie value in response header is now
restored after the proxied datasource request is finished. The existing
logic of clearing Set-Cookie response header from proxied request
have been left intact.
Fixes #16757
2019-05-01 16:32:03 +02:00
Andrej Ocenas
66f6e16916
Security: Store datasource passwords encrypted in secureJsonData ( #16175 )
...
* Store passwords in secureJsonData
* Revert unnecessary refactors
* Fix for nil jsonSecureData value
* Remove copied encryption code from migration
* Fix wrong field reference
* Remove migration and provisioning changes
* Use password getters in datasource proxy
* Refactor password handling in datasource configs
* Add provisioning warnings
* Update documentation
* Remove migration command, moved to separate PR
* Remove unused code
* Set the upgrade version
* Remove unused code
* Remove double reference
2019-04-15 11:11:17 +02:00
Sean Lafferty
b696492891
Rename dispatched commands to make them easy to grok
2019-03-20 14:32:41 -04:00
Sean Lafferty
3f9a19dcd5
Merge branch 'master' into 12556-oauth-pass-thru
2019-03-14 13:18:00 -04:00
Andrej Ocenas
697a87b7b2
Add check so that header is not sent for anonymous users
2019-03-14 16:33:21 +01:00
Andrej Ocenas
bbdc1c0e64
Add custom header with grafana user and a config switch for it
2019-03-14 16:33:19 +01:00
Sean Lafferty
fcc18d8121
Change import path for social in the tests
2019-03-13 14:55:22 -04:00
Sean Lafferty
8d8119aa98
Change import path for social since it has moved
2019-03-13 14:34:55 -04:00
Sean Lafferty
8d19ca005f
Merge branch 'master' into 12556-oauth-pass-thru
2019-03-13 14:25:43 -04:00
Sean Lafferty
7e62394d01
Add function in ds_proxy to handle oauthPassThru headers
2019-03-13 13:45:32 -04:00
Sean Lafferty
4324a7f51a
Remove auth module from ds_proxy oauth test
2019-03-13 13:28:49 -04:00
Sean Lafferty
3b15e110a5
Get most recent oauth token from db, rather than lookup by auth_module
2019-03-13 13:22:22 -04:00
Marcus Efraimsson
a1cd550df4
revert ds_proxy timeout and implement dataproxy timeout correctly
2019-02-11 13:42:05 +01:00
Sean Lafferty
5a59cdf0ef
Add oauth pass-thru option for datasources
2019-02-01 19:40:57 -05:00
Mario Trangoni
8261613b51
pkg/util/{ip.go,url.go}: Fix some golint issues
...
See,
$ gometalinter --vendor --deadline 10m --disable-all --enable=golint ./...
ip.go:8:6⚠️ func SplitIpPort should be SplitIPPort (golint)
url.go:14:6⚠️ func NewUrlQueryReader should be NewURLQueryReader (golint)
url.go:9:6⚠️ type UrlQueryReader should be URLQueryReader (golint)
url.go:37:6⚠️ func JoinUrlFragments should be JoinURLFragments (golint)
2019-01-28 22:29:20 +01:00
Benjamin Reed
9108fd1b9d
add global datasource proxy timeout setting
...
closes grafana#5699
2019-01-24 14:06:48 -05:00
Brian Gann
02365514f9
redact value for plugin proxy routes
2018-12-04 22:35:00 -06:00
Kornelijus Survila
0cafd9a663
dataproxy: Override incoming Authorization header
2018-11-30 12:12:55 -07:00
Julien Pivotto
62417ca69f
Remove Origin and Referer headers while proxying requests
...
Fix #13949
Fix #13328
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2018-11-08 14:57:47 +01:00
Erik Sundell
b02a8127ff
stackdriver: remove debug comments
2018-10-22 16:11:17 +02:00
Erik Sundell
afe0b4b8db
stackdriver: fix typo
2018-10-22 16:11:17 +02:00
Erik Sundell
b2c6c743ce
stackdriver: add debug logging
2018-10-22 16:11:17 +02:00
Erik Sundell
cd7b454e25
stackdriver: add default value for authentication type
2018-10-22 16:03:14 +02:00
Erik Sundell
823838a839
stackdriver: wip - remove debug code
2018-10-22 16:03:14 +02:00
Erik Sundell
2b1709b875
stackdriver: only get default token from metadata server when applying route
2018-10-22 16:03:13 +02:00
Erik Sundell
ff5f281508
stackdriver: wip - get metric descriptors in the backend
2018-10-22 16:03:13 +02:00
Erik Sundell
60617d0bf7
stackdriver: wip - add logic for retrieving token from gce metadata server in the auth provider
2018-10-22 16:03:13 +02:00
Erik Sundell
3f9ed2efaa
stackdriver: wip - temp remove jwt token auth
2018-10-22 16:03:12 +02:00
Erik Sundell
b2de0d8c3e
stackdriver: wip - always use gce default account for stackdriver
2018-10-22 16:03:12 +02:00
Erik Sundell
2002162073
stackdriver: wip - add scope and remove debug code
2018-10-22 16:03:12 +02:00
Erik Sundell
df215d9d09
stackdriver: WIP - test retrieving project id from gce metadata
2018-10-22 16:03:12 +02:00
Mitsuhiro Tanda
fbe0ffd10b
skip jwt token auth if privateKey is empty
2018-10-22 16:03:12 +02:00
Mitsuhiro Tanda
43aa6603a3
fetch token from GCE metadata server
2018-10-22 16:03:12 +02:00
Marcus Efraimsson
2b1e4d001a
Merge pull request #13326 from ryantxu/proxy-slash
...
Keep trailing slash for datasource proxy requests
2018-10-04 14:38:34 +02:00
Marcus Efraimsson
8bf4d68035
add datasource proxy test to verify trailing slashes are forwarded
2018-10-03 12:28:30 +02:00
Daniel Lee
d11f67eb25
stackdriver: change info logging to debug logging
2018-09-28 16:16:27 +02:00
Torkel Ödegaard
6db0880fd8
invalidate access token cache after datasource is updated
2018-09-21 14:24:44 +02:00
Ryan McKinley
7c6227c061
remove the test that does not do anything
2018-09-18 11:18:55 -07:00
Ryan McKinley
71dfeff782
add a test
2018-09-17 12:28:36 -07:00
Daniel Lee
982e095f85
dsproxy: add mutex protection to the token caches
2018-09-14 11:13:09 +02:00
Erik Sundell
56e8e50497
Stackdriver: Use ds_auth_provider in stackdriver. This will make sure the token is renewed when it has exporired
2018-09-14 09:38:16 +02:00
Erik Sundell
db170845b0
Stackdriver: Restructured ds proxy tests
2018-09-14 09:38:16 +02:00
Daniel Lee
05f6710454
stackdriver: fix test
2018-09-14 09:38:16 +02:00
Erik Sundell
1725940ab9
Stackdriver: Add new file
2018-09-14 09:38:16 +02:00
Erik Sundell
6a610558c4
Stackdriver: Start breaking out apply route to its own file
2018-09-14 09:38:16 +02:00
Erik Sundell
23339e4322
Stackdriver: Use new access token API
2018-09-14 09:35:28 +02:00
Erik Sundell
71af62e741
Stackdriver: Temporary exporting token lookup
2018-09-14 09:35:28 +02:00
Erik Sundell
92d631986f
Stackdriver: Removed debug logging
2018-09-14 09:35:27 +02:00
Daniel Lee
e7648c4070
dsproxy: implements support for plugin routes with jwt file
...
Google Cloud service accounts use a JWT token to get an
oauth access token. This adds support for that.
2018-09-14 09:35:27 +02:00
Erik Sundell
a4ef4792bc
Stackdriver: Add scope for google resource manager
2018-09-14 09:35:26 +02:00
Erik Sundell
350bcf4f56
Fixed broken if statement
2018-09-14 09:35:26 +02:00
Erik Sundell
7197a4c17f
Adds jwt token signing google auth
2018-09-14 09:35:26 +02:00
Erik Sundell
ef3beb1f0e
Adds poc code for retrieving google auth accesstoken
2018-09-14 09:33:50 +02:00
Daniel Lee
c75e071213
dsproxy: interpolate route url
...
Allows for dynamic urls for plugin routes. There are a few plugins
where the route url should be configurable and this change allows
using jsonData fields in the url field for a route in the
plugin.json file for a plugin.
2018-08-18 16:02:49 +02:00
Marcus Efraimsson
13921902b5
Set User-Agent header in all proxied datasource requests
...
Header value will be Grafana/%version%, i.e. Grafana/5.3.0
2018-08-15 09:46:59 +02:00
Torkel Ödegaard
4f704cec53
fix: ds_proxy test not initiating header
2018-08-14 09:18:23 +02:00
Torkel Ödegaard
2459b177f9
change: Set User-Agent to Grafana/%Version% Proxied-DS-Request %DS-Type% in all proxied ds requests
2018-08-13 18:09:01 +02:00
Carl Bergquist
828fb39ee2
Merge pull request #11643 from mrsiano/generic_oauth
...
Pass configured/auth headers to a Datasource.
2018-06-21 14:21:59 +02:00
mrsiano
cc1e3a0e3c
Pass configured/auth headers to a Datasource.
...
In some setups (ex openshift), the Datasource will require Grafana
to pass oauth token as header when sending queries.
Also, this PR allow to send any header which is something
Grafana currently does not support.
2018-06-21 14:58:05 +03:00
Daniel Lee
10d30f0b73
dsproxy: move http client variable back
...
After refactoring to be able to mock the client in
a test, the client wasn't a global variable anymore.
This change moves the client back to being a package-
level variable.
2018-06-14 13:39:46 +02:00
Daniel Lee
719ebdc24d
dsproxy: allow multiple access tokens per datasource
...
Changes the cache key for tokens to cache on datasource id +
route path + http method instead of just datasource id.
2018-06-12 17:39:38 +02:00
Daniel Lee
9413ce5ef6
Merge pull request #8096 from ryantxu/influx-db-query2
...
let the influxdb API set a database
2018-04-13 18:22:12 +02:00
Carl Bergquist
980e078222
Merge pull request #11326 from bergquist/more_traces
...
dataproxy: adds dashboardid and panelid as tags
2018-03-23 17:13:15 +01:00
Julian Kornberger
0a415c50d0
Make golint happier
2018-03-22 22:38:44 +01:00
bergquist
f142548969
dataproxy: adds dashboardid and panelid as tags
...
closes #11315
2018-03-20 22:23:28 +01:00
ryan
a04c4ba454
allow any database for influx proxy
2018-03-15 13:01:17 +01:00
ryan
ad88e5398c
remove
2018-03-15 12:57:09 +01:00
ryan
4f8ee9f5a7
merge with master
2018-03-14 23:52:24 +01:00
Mitsuhiro Tanda
a83ede0193
support POST for query and query_range
2018-03-12 13:25:05 +09:00
Dan Cech
c0ecdee375
rename Context to ReqContext
2018-03-07 11:54:50 -05:00
Dan Cech
338655dd37
move Context and session out of middleware
2018-03-06 18:16:49 -05:00
Robin Gustafsson
cf7a49977f
proxyds: delete cookies except those listed in keepCookies
2017-12-14 11:46:44 +01:00
Daniel Lee
f1aa7dcd52
proxyds: failing test for keepCookies
...
If the cookies are specified in the keepCookies property then they
should not be deleted from proxied requests for data sources
2017-12-14 11:46:44 +01:00
ryan
fb9c714a9a
run go fmt
2017-10-18 23:49:33 +02:00
ryan
4440133f4d
Add a setting to allow DB queries
2017-10-18 23:33:10 +02:00
Mitsuhiro Tanda
4f5f38f41b
remove old handler
2017-09-29 13:45:11 +09:00
bergquist
ee2e4c6567
add trace headers for outgoing requests
2017-09-18 11:08:58 +02:00
bergquist
3c8133aa4b
add traces for datasource reverse proxy requests
2017-09-18 11:08:58 +02:00
Torkel Ödegaard
71c22fdbff
dataproxy: removed some logging, closes #9078
2017-08-24 11:18:06 +02:00
Torkel Ödegaard
71c9582944
data source with token auth is starting to work, #9078
2017-08-24 11:07:37 +02:00
Torkel Ödegaard
3c9798bec9
datasource-proxy: token exchange
2017-08-23 17:18:43 +02:00
Torkel Ödegaard
8bf49c51b9
dataproxy: refactoring data source proxy to support route templates and wrote more tests for data proxy code, #9078
2017-08-23 10:52:31 +02:00
Torkel Ödegaard
63d6ab476a
feat: data source proxy refactoring and route handling, #9078
2017-08-22 17:14:15 +02:00
Dan Cech
007c08f2a8
remove X-Forwarded-* headers added by nginx when proxying data source & plugin requests ( #8418 )
...
* remove X-Forwarded-* headers added by nginx when proxying data source & plugin requests
* properly handle X-Forwarded-For
2017-05-24 13:39:40 +02:00
Dan Cech
b489e93d94
Config Array Syntax ( #8204 )
...
* refactor util encryption library so it doesn't have to import log
* add util.SplitString to handle space and/or comma-separated config lines
* go fmt
2017-04-25 09:14:29 +02:00
Torkel Ödegaard
43ba563a1c
fix(logging): change log level to trace for plugin proxy logging call, fixes #5126
2016-05-23 07:55:55 +02:00
Torkel Ödegaard
bd2e1ef67e
feat(plugins): fixed failing api test
2016-02-26 20:27:29 +01:00
Torkel Ödegaard
8db7cf49a6
feat(plugins): began refactoring AppSettings -> PluginSettings, and have the plugins list view and plugin edit view be common for all plugins
2016-02-25 14:55:31 +01:00
Torkel Ödegaard
37c6a1ddf0
feat(app routes): worked on app routes, added unit test, changed Grafana-Context header to start with X to be standard compliant, got cloud saas queries to work via app route feature and header template
2016-02-10 16:43:35 +01:00