If the Stackdriver returns an error, show that error in the query
editor. Also, allow the user to see the raw querystring that was sent
to google (for troubleshooting).
* master:
fix theme parameter not working problem while prefer theme set to light (#13232)
fix: added type export to fix failing test
fix: fixed typescript test error
another circleci fix
Another circleci fix
changed gometalinter to use github master
commented out metalinter as gopkg is having issues
Fix prometheus label filtering for comparison queries (#13213)
Upgrade react and enzyme (#13224)
Teams page replace mobx (#13219)
upgrade of typescript and tslint and jest (#13223)
fix nil pointer dereference (#13221)
* Allow oauth email attribute name to be configurable
Signed-off-by: Bob Shannon <bshannon@palantir.com>
* Document e-mail determination steps for generic oauth
* Add reference to email_attribute_name
* Re-add e-mail determination docs to new generic-oauth page
* Inherit default e-mail attribute from defaults.ini
* auth: never authenticate passwords shorter than 4 chars.
* auth: refactoring password length check.
* auth: does not authenticate when password is empty.
* auth: removes unneccesary change.
* improve remote image rendering
- determine "domain" during Init() so we are not re-parsing settings
on every request
- if using http-mode via a rednererUrl, then use the AppUrl for the
page that the renderer loads. When in http-mode the renderer is likely
running on another server so trying to use the localhost or even the
specific IP:PORT grafana is listening on wont work.
- apply the request timeout via a context rather then directly on the http client.
- use a global http client so we can take advantage of connection re-use
- log and handle errors better.
* ensure imagesDir exists
* allow users to define callback_url for remote rendering
- allow users to define the url that a remote rendering service
should use for connecting back to the grafana instance.
By default the "root_url" is used.
* improve remote image rendering
- determine "domain" during Init() so we are not re-parsing settings
on every request
- if using http-mode via a rednererUrl, then use the AppUrl for the
page that the renderer loads. When in http-mode the renderer is likely
running on another server so trying to use the localhost or even the
specific IP:PORT grafana is listening on wont work.
- apply the request timeout via a context rather then directly on the http client.
- use a global http client so we can take advantage of connection re-use
- log and handle errors better.
* ensure imagesDir exists
* allow users to define callback_url for remote rendering
- allow users to define the url that a remote rendering service
should use for connecting back to the grafana instance.
By default the "root_url" is used.
* rendering: fixed issue with renderKey where userId and orgId was in mixed up, added test for RenderCallbackUrl reading logic
* Reopen log files after receiving a SIGHUP signal
Implements a system signals listener in log.FileLogWriter.
After receiving a SIGHUP signal from the system, the listener will close the current log file and then open it again.
The listener will finishes after receiving a SIGINT, SIGKILL or SIGTERM signal.
Closesgrafana/grafana#2497
* Move the SIGHUP handling to the main file
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.
Set `BasicUserInfo.Id` in the value returned by
`SocialGitlab.UserInfo()`, in case the email address of the user changes
in GitLab. That way, the user association won't be lost in Grafana.
GitLab could already be used as an authentication backend by properly
configuring `auth.generic_oauth`, but then there was no way to authorize
users based on their GitLab group membership.
This commit adds a `auth.gitlab` backend, similar to `auth.github`, with
an `allowed_groups` option that can be set to a list of groups whose
members should be allowed access to Grafana.
This adds an option to the postgres datasource config for
timescaledb support. When set to auto it will check for
timescaledb when testing the datasource.
When this option is enabled the $__timeGroup macro will
use the time_bucket function from timescaledb to group
times by an interval.
This also passes the datasource edit control to testDatasource
to allow for setting additional settings, this might be useful
for other datasources aswell which have optional or version
dependant features which can be queried.
This adds a new fill mode last (last observation carried forward) for grafana
to the sql datasources. This fill mode will fill in the last seen value in a
series when a timepoint is missing or NULL if no value for that series has
been seen yet.
- new builtin datasource plugin "Logging" (likely going to be renamed)
- plugin implements no panel ctrls yet, only ships datasource
- new models for logging data as first class citizen (aside from table
and time_series model)
- Logs as new view for Explore
- JSON view for development
Testable only against existing logish deployment.
Then test with queries like `{job="..."} regexp`.
* devenv: working on dev env setup & dashboards
* devenv: refactored testdata app to a built in datasource instead, and moved dashboards to a devenv provisioned dashboards
Adds a datasource selector to the Explore UI. Only datasource plugins
that have `explore: true` in their `plugin.json` can be selected.
- adds datasource selector (based on react-select) to explore UI
- adds getExploreSources to datasource service
- new `explore` flag in datasource plugins model
- Prometheus plugin enabled explore
* Rewriting team pages in react
* teams to react progress
* teams: getting team by id returns same DTO as search, needed for AvatarUrl
* teams: progress on new team pages
* fix: team test
* listing team members and removing team members now works
* teams: team member page now works
* ux: fixed adding team member issue
* refactoring TeamPicker to conform to react coding styles better
* teams: very close to being done with team page rewrite
* minor style tweak
* ux: polish to team pages
* feature: team pages in react & everything working
* fix: removed flickering when changing tabs by always rendering PageHeader
mysql,mssql: improve $__timeFilter, $__timeFrom, $__timeTo macros
The $__timeFilter macro now uses a BETWEEN with timestamps instead of
comparing epochs
The $__timeFrom and $__timeTo macros now return strings of format
YYYY-MM-DDThh:mm:ssZ instead of epoch
* enable ee build on pr/master
* step1: of including group sync
* disable commit pinning for now
* fixes broken build
* enable team to ldap group sync
* avoid returning error for missing external handler
* services: allow routes to be added before http server start
* services: allows services to add their own migrations
* moves db migrations to ee code base
* build using master branch in ee
* disable enterprise build in .bra.toml
[skip ci]
* removes team sync extensions
* removes commented line
Experienced a problem where a user whose email changed was no longer
able to login. By using the ID as a primary identifier, we can avoid
conflicts of this variety within the github OAuth provider.
* master: (95 commits)
registry: adds more comments
registry: adds comments to interfaces
changelog: update
changelog: update
changelog: add notes about closing #12438
alerting: only log when screenshot been uploaded
fixes typos
changelog: add notes about closing #12444
Revert "auth proxy: use real ip when validating white listed ip's"
changelog: adds note for #11892
changelog: add notes about closing #12430
fix footer css issue
Karma to Jest: 3 test files (#12414)
fix: log close/flush was done too early, before server shutdown log message was called, fixes#12438
Karma to Jest: value_select_dropdown (#12435)
support passing api token in Basic auth password (#12416)
Add disabled styles for checked checkbox (#12422)
changelog: add notes about closing #11920
changelog: add notes about closing #11920
changelog: update
...
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.
* master:
changelog: add notes about closing #11076
snapshot: copy correct props when creating a snapshot
set current org when adding/removing user to org
changelog: add notes about closing #10707
Include the vendor directory when copying source in to Docker (#12305)
changelog: adds note about closing #12199
adds inTransactionCtx that calls inTransactionWithRetryCtx
merge create user handlers
transactions: start sessions and transactions at the same place
cloudwatch: handle invalid time range
make sure to use real ip when validating white listed ip's
changelog: adds note about closing #12286
To not get into a situation where a user has a current organization assign which he is
not a member of we try to always make sure that a user has a valid current organization
assigned.
this make it possible for handler to use `withSession` when
transactions is not nedded and `inTransactionCtx` if its needed
without knowing who owns the session/transaction
* fork/bus_multi_dispatch:
sql: adds tests for InTransaction
bus: noop should still execute fn
removes unused code
bus: Dispatch now passes empty ctx if handler require it
bus: dont start transaction when creating session
bus: dont mix ctx/classic handlers
bus: DispatchCtx can now invoke any handler
refactoring: renamed AddCtxHandler to AddHandlerCtx PR #12203
refactoring: transaction manager PR #12203
fixes typo in code
check if admin exists or create one in one transaction
replace begin/end with wrapper function
bus: support multiple dispatch in one transaction
this makes it possible to run multiple DispatchCtx
in one transaction. The TransactionManager will
start/end the transaction and pass the dbsession
in the context.Context variable
* master: (84 commits)
docs: adds info about grafana-dev container
changelog: add notes about closing #12282
Added Litre/min and milliLitre/min in Flow (#12282)
remove papaparse dependency
list name is deleteDatasources, not delete_datasources
remove internal influx ifql datasource
Document the endpoint for deleting an org
tests: rewrite into table tests
influxdb: adds mode func to backend
changelog: add notes about closing #11484
changelog: add notes about closing #11233
Remove import
Fix PR feedback
Removed papaparse from external plugin exports
Karma to Jest: query_builder
dsproxy: move http client variable back
Karma to Jest: threshold_mapper
Expose react and slate to external plugins
Karma to Jest: threshold_manager
Karma to Jest: query_def, index_pattern
...
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.