Commit Graph

1734 Commits

Author SHA1 Message Date
Mitsuhiro Tanda
d9bf894383 return 400 if user input error 2018-07-24 17:06:55 +09:00
David
21e5d61de6
Merge pull request #12631 from grafana/davkal/explore-url-encoding
Use url params for explore state
2018-07-17 16:49:13 +02:00
Augustin
05e060dee0 HTTP API documentation +fix when updating a playlist (#12612)
* get id from path param when updating a playlist

* add playlist http api documentation

* remove required condition for the id in update cmd
2018-07-17 07:45:38 -07:00
David Kaltschmidt
c6e9ffb168 Use url params for explore state
- putting state in the path components led to 400 on reload
- use `/explore?state=JSON` instead
2018-07-17 12:56:05 +02:00
Torkel Ödegaard
c03764ff8a
Refactor team pages to react & design change (#12574)
* 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
2018-07-11 11:23:07 -07:00
Leonard Gram
5e08bf5130 test: fixed usage of wrap in tests. 2018-07-02 17:13:59 +02:00
Torkel Ödegaard
6286c31d4b refactoring: making api wrap public 2018-07-02 14:13:18 +02:00
Torkel Ödegaard
b8724ae0c4
refactoring: enterprise build/hooks refactorings (#12478) 2018-07-02 04:33:39 -07:00
Torkel Ödegaard
10e86eda69
fix: #12461 introduced issues with route registration ordering, adding plugin static routes before plugins package had been initiated (#12474) 2018-07-01 23:35:50 -07:00
Carl Bergquist
861af4cb97 Improve extensions build. (#12461)
* 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
2018-07-01 07:01:43 -07:00
bergquist
d31c7bc6a4 Merge branch 'master' into alerting_reminder
* 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
  ...
2018-06-29 15:44:20 +02:00
Augustin
ef0bf9f701 ensure that if the dasboardID is negative, it will not bypass the checking of the right (#12398) 2018-06-26 05:12:20 -07:00
bergquist
f83306bb5b removes unused return object 2018-06-26 09:22:31 +02:00
Carl Bergquist
175e95abb0
Merge pull request #12396 from bergquist/routing
routing: allows routes to be added to existing groups
2018-06-25 17:17:14 +02:00
bergquist
4a46dd886b routing: raise panic if duplicate routes are added 2018-06-25 16:58:49 +02:00
bergquist
dbfafa1cb5 routing: allows routes to be added to existing groups
this enables services to add routing to ex /api
without causing conflicts.
2018-06-25 16:50:27 +02:00
Marcus Efraimsson
f106de0efd
enhance error message if phantomjs executable is not found
if arm build, explain that phantomjs is not included by default in arm
builds. If not explain that phantom js isn't installed correctly
2018-06-25 16:06:52 +02:00
Torkel Ödegaard
132df4553c fix: annnotation api & sql issue 2018-06-25 16:03:38 +02:00
Augustin
eb4d860fcb Light improve of massive delete annotation api (#12390)
* fix delete annotations

* fix self assignment

* add right unit test using admin role
2018-06-25 04:58:49 -07:00
Austin Winstanley
defb0396b7 Return a 404 when deleting a datasource through the API if it doesn't exist and add a test for it to confirm #12313 2018-06-22 21:15:36 -05: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
bergquist
503c8cd8ef tech: adds comments about route register code 2018-06-20 16:55:42 +02:00
bergquist
6cd83e182a Merge branch 'master' into alerting_reminder
* 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
  ...
2018-06-15 12:45:35 +02:00
David Kaltschmidt
d5196ab322 remove internal influx ifql datasource 2018-06-14 20:42:33 +01:00
Marcus Efraimsson
284045748c
Merge pull request #12243 from grafana/12236-ds-proxy-tokens
dsproxy: allow multiple access tokens per datasource
2018-06-14 14:03:08 +02: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
Marcus Efraimsson
2288e01752
Merge pull request #12169 from alexanderzobnin/feat-10796
Import dashboard to folder
2018-06-13 13:10:52 +02:00
Alexander Zobnin
25504e84ed
dashboard import to folder: minor fixes 2018-06-13 10:44:37 +03: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
Alexander Zobnin
9460063ab5
show import menu in sidenav, dashboard search and manage dashboards page
if user has editor permissions for at least one folder
2018-06-06 13:55:00 +03:00
David Kaltschmidt
661503f828 Respect explore settings in config ini
Previous explore restrictions only took permissions into consideration.

* add `exploreEnabled` to global settings
* only bind `x` if enabled
* only show explore in panel menu if enabled
2018-06-06 10:50:47 +02:00
Alexander Zobnin
4063ae37a4
dashboard: import to folder 2018-06-05 19:23:09 +03:00
David
45a156577c
Merge pull request #12143 from grafana/davkal/ifql-datasource
InfluxDB IFQL datasource (beta)
2018-06-05 14:23:21 +02:00
bergquist
7333d7b8d4 alerting: invert sendOnce to sendReminder 2018-06-05 10:44:17 +02:00
bergquist
0c6d8398a1 alerting: remove zero units from duration 2018-06-05 08:42:39 +02:00
bergquist
93124f38fa alerting: only check frequency when not send once 2018-06-04 22:19:27 +02:00
Marcus Efraimsson
962f996799
always show server admin link in sidenav if grafana admin 2018-06-04 19:28:01 +02:00
bergquist
0e647db485 Merge branch 'master' into alerting_reminder
* master: (30 commits)
  changelog: add notes about closing #11882
  renamed variable in tests
  added comment, variableChange -> variableValueChange
  added a test
  added if to check if new variable has been added
  Gravatar fallback does not respect 'AppSubUrl'-setting (#12149)
  change admin password after first login
  changelog: adds note about closing #11958
  revert: reverted singlestat panel position change PR #12004
  Revert "provisioning: turn relative symlinked path into absolut paths"
  provisioning: turn relative symlinked path into absolut paths
  changelog: adds note about closing #11670
  elasticsearch: sort bucket keys to fix issue wth response parser tests
  docs: what's new in v5.2
  changelog: add notes about closing #11167
  docs: docker secrets support. (#12141)
  alerting: show alerts for user with Viewer role
  datasource: added option no-direct-access to ds-http-settings diretive, closes #12138
  provisioning: adds fallback if evalsymlink/abs fails
  tests: uses different paths depending on os
  ...
2018-06-04 17:44:18 +02:00
pari-
9680a3d44d Gravatar fallback does not respect 'AppSubUrl'-setting (#12149)
Closes #12148
2018-06-04 16:03:59 +02:00
David
b5c53aae97
Merge pull request #12108 from grafana/davkal/12001-explore-permissions
Restrict Explore UI to Editor and Admin roles
2018-06-04 16:01:39 +02:00
John Baublitz
fca97535d1 Fix multiple bugs 2018-06-04 13:19:14 +02:00
John Baublitz
3cb0e27e1c Revert changes post code review and move them to notification page 2018-06-04 13:19:14 +02:00
John Baublitz
e068be4c26 Feature for repeated alerting in grafana 2018-06-04 13:19:13 +02:00
David Kaltschmidt
08ee1da6b1 InfluxDB IFQL datasource 2018-06-04 12:24:47 +02:00
Alexander Zobnin
13c6f37ea5
alerting: show alerts for user with Viewer role
changelog: add notes about closing #11167

remove changelog note

reformat alert_test.go
2018-06-04 12:34:30 +03:00
Patrick O'Carroll
0c269d64d0 Alert panel filters (#11712)
alert list panel: filter alerts by name, dashboard, folder, tags
2018-06-01 14:36:40 +02:00
David Kaltschmidt
0c45ee63a9 Guard /explore by editor role on the backend 2018-05-31 11:26:24 +02:00
David Kaltschmidt
f69654fcd5 Restrict Explore UI to Editor and Admin roles
Access is restricted via not showing in the following places:

* hide from sidemenu
* hide from panel header menu
* disable keybinding `x`

Also adds a `roles` property to reactContainer routes that will be
checked if `roles` is set, and on failure redirects to `/`.
2018-05-30 13:13:29 +02:00
Carl Bergquist
813a9a975f
Merge pull request #12090 from grafana/11858_create_dashboard_link
Show create dashboard link if at least editor in one folder
2018-05-29 17:18:41 +02:00
Marcus Efraimsson
1bc94c7d5a
Merge pull request #12088 from thurt/12087-better-error-when-smtp-not-configured
inviting users: show friendlier error message when smtp is not configured
2018-05-29 10:46:46 +02:00
bergquist
d7b5fb4604 go fmt fixes 2018-05-28 20:48:01 +02:00
iyeonok
bafe25fbd9 configure proxy environments for Transport property
related issue: https://github.com/grafana/grafana/issues/9703
2018-05-28 20:48:01 +02:00
Marcus Efraimsson
7548d6f6d1
Show create dashboard link if at least editor in one folder 2018-05-28 20:37:39 +02:00
thurt
b487aa3e6a return better error message when err is ErrSmtpNotEnabled
fixes #12087
2018-05-28 17:49:31 +00:00
Carl Bergquist
6c259eb04d
Merge pull request #12077 from roidelapluie/logout
Fix #9847 Add a generic signout_redirect_url to enable oauth logout
2018-05-28 08:06:00 +02:00
Julien Pivotto
a5e6cb9a02 Fix #9847 Add a generic signout_redirect_url to enable oauth logout
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2018-05-27 14:52:50 +02:00
Torkel Ödegaard
80d694d205
Backend image rendering as plugin (#11966)
* rendering: headless chrome progress

* renderer: minor change

* grpc: version hell

* updated grpc libs

* wip: minor progess

* rendering: new image rendering plugin is starting to work

* feat: now phantomjs works as well and updated alerting to use new rendering service

* refactor: renamed renderer package and service to rendering to make renderer name less confusing (rendering is internal service that handles the renderer plugin now)

* rendering: now render key is passed and render auth is working in plugin mode

* removed unneeded lines from gitignore

* rendering: now plugin mode supports waiting for all panels to complete rendering

* fix: LastSeenAt fix for render calls, was not set which causes a lot of updates to Last Seen at during rendering, this should fix sqlite db locked issues in seen in previous releases

* change: changed render tz url parameter to use proper timezone name as chrome does not handle UTC offset TZ values

* fix: another update to tz param generation

* renderer: added http mode to renderer service, new ini setting [rendering] server_url
2018-05-24 15:26:27 +02:00
Dan Cech
417db13efb Fix dashboard snapshot deletion (#12025)
* fix issue deleting dashboard snapshots by deleteKey, add dedicated endopoint for authenticated requests, update frontend, tests & docs.
2018-05-24 08:55:16 +02:00
Thibaut Patel
bdb736a9ee http_server: All files in public/build have now a huge max-age (#11536) 2018-05-08 13:54:00 +02:00
Torkel Ödegaard
23655315b8 fix: fixed race condition between http.Server ListenAndServe & Shutdown, now service crash during startup correctly closes http server every time 2018-05-02 19:56:15 +02:00
Torkel Ödegaard
d04ad835e2 refactoring: lots of refactoring around server shutdown flows, making sure process is terminated when background service has crashed 2018-05-02 19:56:15 +02:00
Torkel Ödegaard
053c2039bb refactor: provisioning service refactoring 2018-05-02 19:56:15 +02:00
Marcus Efraimsson
de0d409a23
Revert "Opportunities to unindent code (unindent)" 2018-05-02 14:06:46 +02:00
Marcus Efraimsson
f17100e98e
Merge pull request #11786 from marefr/11625_save_as
dashboard: show save as button if user has edit permission

This will show the "Save As..." button in dashboard settings page if the user 
has edit permissions (org role admin/editor or viewers_can_edit enabled) 
and has at least edit permission in any folder.
2018-05-02 11:15:22 +02:00
Carl Bergquist
6ed69e3d93
Merge pull request #11775 from knweiss/unindent
Opportunities to unindent code (unindent)
2018-05-01 16:03:06 +02:00
Torkel Ödegaard
13e015fe3f fix: improved handling of http server shutdown 2018-05-01 14:14:11 +02:00
Torkel Ödegaard
fa7d7ed5df
Initial Baby Step to refactoring settings from global vars to instance (#11777)
* wip: start on refactoring settings

* settings: progress on settings refactor

* refactor: progress on settings refactoring

* fix: fixed failing test

* settings: moved smtp settings from global to instance
2018-04-30 16:21:04 +02:00
Marcus Efraimsson
770acee56a
new property for current user indicating if edit permissions in folders 2018-04-30 15:34:31 +02:00
Karsten Weiss
893a91af3a Use opportunities to unindent code (unindent)
This commit fixes the following unindent findings:
pkg/api/common.go:102:2: "if x { if y" should be "if x && y"
pkg/components/dynmap/dynmap.go:642:2: invert condition and early return
pkg/components/dynmap/dynmap.go:681:2: invert condition and early return
pkg/components/simplejson/simplejson.go:171:2: "if x { if y" should be "if x && y"
pkg/middleware/dashboard_redirect.go:42:3: invert condition and early return
pkg/tsdb/mssql/mssql.go:301:3: invert condition and early break
pkg/tsdb/mysql/mysql.go:312:3: invert condition and early break
pkg/tsdb/postgres/postgres.go:292:3: invert condition and early break
pkg/tsdb/sql_engine.go:144:2: invert condition and early return
2018-04-28 10:53:16 +02:00
Karsten Weiss
b7adf28501 Remove redundancy in variable declarations (golint)
This commit fixes the following golint warnings:
pkg/api/avatar/avatar.go:229:12: should omit type *http.Client from declaration of var client; it will be inferred from the right-hand side
pkg/login/brute_force_login_protection.go:13:26: should omit type time.Duration from declaration of var loginAttemptsWindow; it will be inferred from the right-hand side
pkg/metrics/graphitebridge/graphite.go:58:26: should omit type []string from declaration of var metricCategoryPrefix; it will be inferred from the right-hand side
pkg/metrics/graphitebridge/graphite.go:69:22: should omit type []string from declaration of var trimMetricPrefix; it will be inferred from the right-hand side
pkg/models/alert.go:37:36: should omit type error from declaration of var ErrCannotChangeStateOnPausedAlert; it will be inferred from the right-hand side
pkg/models/alert.go:38:36: should omit type error from declaration of var ErrRequiresNewState; it will be inferred from the right-hand side
pkg/models/datasource.go:61:28: should omit type map[string]bool from declaration of var knownDatasourcePlugins; it will be inferred from the right-hand side
pkg/plugins/update_checker.go:16:13: should omit type http.Client from declaration of var httpClient; it will be inferred from the right-hand side
pkg/services/alerting/engine.go:103:24: should omit type time.Duration from declaration of var unfinishedWorkTimeout; it will be inferred from the right-hand side
pkg/services/alerting/engine.go:105:19: should omit type time.Duration from declaration of var alertTimeout; it will be inferred from the right-hand side
pkg/services/alerting/engine.go:106:19: should omit type int from declaration of var alertMaxAttempts; it will be inferred from the right-hand side
pkg/services/alerting/notifier.go:143:23: should omit type map[string]*NotifierPlugin from declaration of var notifierFactories; it will be inferred from the right-hand side
pkg/services/alerting/rule.go:136:24: should omit type map[string]ConditionFactory from declaration of var conditionFactories; it will be inferred from the right-hand side
pkg/services/alerting/conditions/evaluator.go:12:15: should omit type []string from declaration of var defaultTypes; it will be inferred from the right-hand side
pkg/services/alerting/conditions/evaluator.go:13:15: should omit type []string from declaration of var rangedTypes; it will be inferred from the right-hand side
pkg/services/alerting/notifiers/opsgenie.go:44:19: should omit type string from declaration of var opsgenieAlertURL; it will be inferred from the right-hand side
pkg/services/alerting/notifiers/pagerduty.go:43:23: should omit type string from declaration of var pagerdutyEventApiUrl; it will be inferred from the right-hand side
pkg/services/alerting/notifiers/telegram.go:21:17: should omit type string from declaration of var telegramApiUrl; it will be inferred from the right-hand side
pkg/services/provisioning/dashboards/config_reader_test.go:11:24: should omit type string from declaration of var simpleDashboardConfig; it will be inferred from the right-hand side
pkg/services/provisioning/dashboards/config_reader_test.go:12:24: should omit type string from declaration of var oldVersion; it will be inferred from the right-hand side
pkg/services/provisioning/dashboards/config_reader_test.go:13:24: should omit type string from declaration of var brokenConfigs; it will be inferred from the right-hand side
pkg/services/provisioning/dashboards/file_reader.go:22:30: should omit type time.Duration from declaration of var checkDiskForChangesInterval; it will be inferred from the right-hand side
pkg/services/provisioning/dashboards/file_reader.go:24:23: should omit type error from declaration of var ErrFolderNameMissing; it will be inferred from the right-hand side
pkg/services/provisioning/datasources/config_reader_test.go:15:34: should omit type string from declaration of var twoDatasourcesConfig; it will be inferred from the right-hand side
pkg/services/provisioning/datasources/config_reader_test.go:16:34: should omit type string from declaration of var twoDatasourcesConfigPurgeOthers; it will be inferred from the right-hand side
pkg/services/provisioning/datasources/config_reader_test.go:17:34: should omit type string from declaration of var doubleDatasourcesConfig; it will be inferred from the right-hand side
pkg/services/provisioning/datasources/config_reader_test.go:18:34: should omit type string from declaration of var allProperties; it will be inferred from the right-hand side
pkg/services/provisioning/datasources/config_reader_test.go:19:34: should omit type string from declaration of var versionZero; it will be inferred from the right-hand side
pkg/services/provisioning/datasources/config_reader_test.go:20:34: should omit type string from declaration of var brokenYaml; it will be inferred from the right-hand side
pkg/services/sqlstore/stats.go:16:25: should omit type time.Duration from declaration of var activeUserTimeLimit; it will be inferred from the right-hand side
pkg/services/sqlstore/migrator/mysql_dialect.go:69:14: should omit type bool from declaration of var hasLen1; it will be inferred from the right-hand side
pkg/services/sqlstore/migrator/mysql_dialect.go:70:14: should omit type bool from declaration of var hasLen2; it will be inferred from the right-hand side
pkg/services/sqlstore/migrator/postgres_dialect.go:95:14: should omit type bool from declaration of var hasLen1; it will be inferred from the right-hand side
pkg/services/sqlstore/migrator/postgres_dialect.go:96:14: should omit type bool from declaration of var hasLen2; it will be inferred from the right-hand side
pkg/setting/setting.go:42:15: should omit type string from declaration of var Env; it will be inferred from the right-hand side
pkg/setting/setting.go:161:18: should omit type bool from declaration of var LdapAllowSignup; it will be inferred from the right-hand side
pkg/setting/setting.go:473:30: should omit type bool from declaration of var skipStaticRootValidation; it will be inferred from the right-hand side
pkg/tsdb/interval.go:14:21: should omit type time.Duration from declaration of var defaultMinInterval; it will be inferred from the right-hand side
pkg/tsdb/interval.go:15:21: should omit type time.Duration from declaration of var year; it will be inferred from the right-hand side
pkg/tsdb/interval.go:16:21: should omit type time.Duration from declaration of var day; it will be inferred from the right-hand side
pkg/tsdb/cloudwatch/credentials.go:26:24: should omit type map[string]cache from declaration of var awsCredentialCache; it will be inferred from the right-hand side
pkg/tsdb/influxdb/query.go:15:27: should omit type *regexp.Regexp from declaration of var regexpOperatorPattern; it will be inferred from the right-hand side
pkg/tsdb/influxdb/query.go:16:27: should omit type *regexp.Regexp from declaration of var regexpMeasurementPattern; it will be inferred from the right-hand side
pkg/tsdb/mssql/mssql_test.go:25:14: should omit type string from declaration of var serverIP; it will be inferred from the right-hand side
2018-04-27 22:14:36 +02:00
David
d8abfe6a7d
Merge pull request #11742 from grafana/davkal/explore
Explore UI skeleton
2018-04-27 15:46:40 +02:00
David Kaltschmidt
25d3ec5bbf Fixed settings default and explore path 2018-04-27 15:35:46 +02:00
Carl Bergquist
28f7b6dad1 Enable Grafana extensions at build time. (#11752)
* extensions: import and build

* bus: use predefined error

* enterprise: build script for enterprise packages

* poc: auto registering services and dependency injection

(cherry picked from commit b5b1ef875f905473af41e49f8071cb9028edc845)

* poc: backend services registry progress

(cherry picked from commit 97be69725881241bfbf1e7adf0e66801d6b0af3d)

* poc: minor update

(cherry picked from commit 03d7a6888b81403f458b94305792e075568f0794)

* ioc: introduce manuel ioc

* enterprise: adds setting for enterprise

* build: test and build specific ee commit

* cleanup: test testing code

* removes example hello service
2018-04-27 13:41:58 +02:00
David Kaltschmidt
1e6e89121c Settings to enable Explore UI 2018-04-27 11:39:14 +02:00
David Kaltschmidt
f1220fd2a4 Explore WIP 2018-04-26 20:27:19 +02:00
Mario Trangoni
97fd66db2e pkg: fix deadcode issues 2018-04-26 19:24:21 +02:00
Daniel Lee
3451f9a9db Merge branch 'annotations-created' of https://github.com/ryantxu/grafana into ryantxu-annotations-created 2018-04-20 17:14:06 +02:00
bergquist
c22495b6f8 Merge branch 'master' into external-auth
* master:
  changelog: adds note about closing #11613 and #11602
  fix: sign in link should have target self to trigger full page reload, fixes #11626
  codespell: exclude by words instead of files
  Use sort.Strings() (gosimple)
  Remove unused return value assignment (gosimple)
  Remove unnecessary fmt.Sprintf() calls (gosimple)
  Merge variable declaration with assignment (gosimple)
  Use fmt.Errorf() (gosimple)
  Simplify make() (gosimple)
  Use raw strings to avoid double escapes (gosimple)
  Simplify if expression (gosimple)
  Simplify comparison to bool constant (gosimple)
  Simplify error returns (gosimple)
  Remove redundant break statements (gosimple)
2018-04-18 09:34:45 +02:00
Carl Bergquist
8367199a2d
Merge pull request #11613 from knweiss/gosimple
Code simplification (gosimple)
2018-04-17 22:40:40 +02:00
Dan Cech
d837be91ec
switch to passing ReqContext as a property 2018-04-17 14:06:25 -04:00
Dan Cech
a1b1d2fe80
switch to Result 2018-04-17 14:06:25 -04:00
Dan Cech
1c5afa731f
shared library for managing external user accounts 2018-04-17 14:06:25 -04:00
Marcus Efraimsson
d7688241c6
Merge branch 'master' into readonly_dashboards 2018-04-17 16:27:51 +02:00
Daniel Lee
b3acbb9995
Merge pull request #11526 from grafana/11173_folder_admin
A folder admin should be able to add permissions for folder/its dashboards
2018-04-17 13:42:38 +02:00
Marcus Efraimsson
8a5cb088d3
Merge branch 'master' into readonly_dashboards 2018-04-17 10:50:04 +02:00
Marcus Efraimsson
bc8353ae14
Merge branch 'master' into dashboard-acl-ux2 2018-04-16 21:19:01 +02:00
Karsten Weiss
4d87cb03c5 Simplify make() (gosimple)
This fixes:
pkg/api/http_server.go:142:89: should use make(map[string]func(*http.Server, *tls.Conn, http.Handler)) instead (S1019)
pkg/services/alerting/scheduler.go:18:30: should use make(map[int64]*Job) instead (S1019)
pkg/services/alerting/scheduler.go:26:31: should use make(map[int64]*Job) instead (S1019)
2018-04-16 21:04:57 +02:00
Karsten Weiss
be2d635078 Simplify error returns (gosimple)
This fixes:
pkg/api/avatar/avatar.go:261:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/log/file.go:102:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/metrics/graphitebridge/graphite.go:298:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/provisioning/provisioning.go:23:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/alert_notification.go:27:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/alert_notification.go:27:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/annotation.go:105:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/annotation.go:105:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/dashboard.go:351:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/dashboard.go:435:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/dashboard_acl.go:38:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/dashboard_acl.go:38:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/stats.go:22:2: 'if err != nil { return err }; return err' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/team.go:213:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/user.go:256:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/user.go:256:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/user.go:274:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/user.go:274:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/user.go:482:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/user.go:482:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
2018-04-16 21:04:57 +02:00
Daniel Lee
bb7a6a0153
Merge pull request #11595 from kichristensen/DeleteEmptyPlaylist
Support deleting empty playlist
2018-04-16 17:06:59 +02:00
David Kaltschmidt
5a29c17282 moved version in help menu to top 2018-04-16 16:25:28 +02:00
David Kaltschmidt
712212d6aa Show Grafana version and build in Help menu
* establishes Help as the single place to look for the Grafana version
* version is passed as menu sub-title to side menu
* added rendering of sub-title, plus styles
* sub-title was used by profile menu (its value is the login string),
but was not shown; now showing this value on condition that login name
is different from user name
2018-04-16 13:37:05 +02:00
Daniel Lee
67daa9b058
Merge pull request #11588 from mjtrangoni/fix-codespell-issues
Fix codespell issues
2018-04-16 09:12:49 +02:00
Kim Christensen
7534f0bff6 Support deleting empty playlist 2018-04-15 21:37:34 +02:00
Mario Trangoni
91fb2e07ce pkg: fix codespell issues 2018-04-13 20:31:29 +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
bergquist
f424d13b53 provisioning: dont override permissions 2018-04-10 12:35:06 +02:00
bergquist
949484b949 provisioning: simplify db query
the GetProvisionedDashboardQuery wasent used for anything
else than check if a dashboard is provisioned or not. So
we simplified this query to make it more maintainable.
2018-04-10 12:30:37 +02:00
bergquist
0f9b592428 provisioning: fixes broken tests 2018-04-10 10:48:10 +02:00
bergquist
bcbe7a1c55 provisioning: adds error handling 2018-04-10 09:31:35 +02:00
ryan
5ca972542b convert graphite epoch to ms 2018-04-09 13:58:09 +02:00
Marcus Efraimsson
84d034c688
api: allow authenticated users to search current org users and teams
Any authenticated user of an organization should be able to
- search its organization's users
- search its organization's users
- retrieve a single user of its organization (this how it was
  implemented earlier)
2018-04-07 10:39:28 +02:00
Marcus Efraimsson
6bbeb723ca Merge branch 'master' into readonly_dashboards 2018-04-05 20:30:27 +02:00
ryan
392c47f39b Merge remote-tracking branch 'grafana/master' into annotations-created
* grafana/master: (51 commits)
  Use curly brackets around hyperlink help text #11478 (#11479)
  migrated playlist-routes to ts
  migrated last all.js to ts
  Notes for closing #7119
  changelog: adds note for #11128
  variables: adds test for variable sorting
  Add case-insensitive sort for variables.
  graphite: fixes #11434
  settings: fixes test
  changed from margin to padding
  changed variable for tabbed close btn hover, and changed text-strong variable for lighttheme, removed commented out variable
  mssql: typos in help sections
  Webpack Grafana plugin template project to links (#11457)
  rm panel.type  constrain from threshold_mapper.ts (#11448)
  No need for node_modules/bin in npm run-script (#11449)
  changelog: adds note about closing #11555
  add article
  fix some typos
  migrated graph_tooltip to ts
  started migration to ts
  ...
2018-04-05 09:48:00 +02:00
Marcus Efraimsson
8f94cecf0f permissions: return user and team avatar in folder permissions api 2018-04-04 15:51:19 +02:00
Marcus Efraimsson
ebad863f95 permission: generate team avatar url with default 2018-04-04 15:50:45 +02:00
Daniel Lee
32264c61c4 Merge branch 'master' into dashboard-acl-ux2 2018-03-29 11:32:24 +02:00
bergquist
9e2e6fc586 add fallback for gravatar in org/admin view
closes #11095
2018-03-27 22:52:29 +02:00
bergquist
627df67992 dashboards: reject updates of provisioned dashboards 2018-03-27 15:12:47 +02:00
bergquist
d6faa3d06f provisioning: improve UX when saving provisioned dashboards 2018-03-26 15:08:46 +02:00
ryan
71ef9b6db5 Merge remote-tracking branch 'grafana/master' into annotations-created
* grafana/master: (26 commits)
  notes about closing #11306
  cleanup
  changelog: unix socket permissions
  Adjust permissions of unix socket
  docs: tweaks
  changelog: adds note about closing #5855
  legend: small refactoring
  Make golint happier
  mysql: skip tests by default
  mssql: update query editor help
  mysql: fix precision for the time column in table/annotation query mode
  postgres: fix precision for the time column in table/annotation query mode
  mssql: fix precision for the time column in table/annotation query mode
  mssql: remove UTC conversion in macro functions
  mssql: fix timeGroup macro so that it properly creates correct groups
  small screen legend right also work like legend under in render + set scrollbar to undefined in destroyScrollbar so it doesnt become disabled when toggeling between right and under
  fixed so legend right works like legend under on small screens
  Alerting: move getNewState to EvalContext
  graphite: adds more traces for alerting
  sql datasource: extract common logic for converting time column to epoch time in ms
  ...
2018-03-24 11:39:35 +01: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
6f363153d7 Adjust permissions of unix socket
fixes #8358
2018-03-23 16:09:04 +01:00
ryan
7defb1adf5 remove dashboardId check... i can't figure out how the tests work 2018-03-23 12:54:53 +01:00
ryan
e92ea79524 get circle to run tests again 2018-03-23 12:48:03 +01:00
ryan
2116152295 add dashboardId to test 2018-03-23 12:35:39 +01:00
ryan
a58b4ff2d6 remove api tests 2018-03-23 12:13:38 +01:00
ryan
b39fb7fdd5 fix operator 2018-03-23 12:01:21 +01:00
ryan
db92a96067 move dashboard error to API (not sql) 2018-03-23 11:36:44 +01:00
Julian Kornberger
0a415c50d0 Make golint happier 2018-03-22 22:38:44 +01:00
ryan
20353db966 convert epoch to milliseconds 2018-03-22 16:21:47 +01:00
ryan
a2bbd89a9e adding updated column 2018-03-22 15:52:09 +01:00
ryan
df94b380f4 Merge remote-tracking branch 'grafana/master' into annotations-created
* grafana/master:
  Make golint happier
2018-03-22 14:59:14 +01:00
Julian Kornberger
7aab6a8887 Make golint happier 2018-03-22 12:40:21 +01:00
ryan
3898ea02e6 adding created column 2018-03-22 02:22:58 +01:00
bergquist
f142548969 dataproxy: adds dashboardid and panelid as tags
closes #11315
2018-03-20 22:23:28 +01:00
Daniel Lee
1cef373d16 Merge remote-tracking branch 'upstream/master' into update-xorm 2018-03-20 19:21:58 +01:00
Daniel Lee
3ca1e06509 session: fork Macaron mysql session middleware
This changes forks the mysql part of the Macaron session middleware.

In the forked mysql file:

- takes in a config setting for SetConnMaxLifetime (this solves wait_timeout
problem if it is set to a shorter interval than wait_timeout)
- removes the panic when an error is returned in the Exist function.
- retries the exist query once
- retries the GC query once
2018-03-16 01:19: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
Mitja Zivkovic
5669596518 add regex search of username and password in urls, which are replaced by strings.Replace 2018-03-15 10:50:57 +01:00
ryan
4f8ee9f5a7 merge with master 2018-03-14 23:52:24 +01:00
Marcus Efraimsson
5fbfd67b94 dashboards: should be possible to browse dashboard using only uid
That is, the slug part of url should be optional.
Closes #11231
2018-03-13 21:06:25 +01:00
Daniel Lee
3f2c086e6f teams: removes quota on route
Got added by mistake a year ago.
2018-03-13 10:56:35 +01:00
Mitsuhiro Tanda
a83ede0193 support POST for query and query_range 2018-03-12 13:25:05 +09:00
Dan Cech
bbd6adabbf
move quota to dedicated service 2018-03-07 17:19:35 -05: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
bergquist
5934521137 fixes invalid link to profile pic when gravatar is disabled
closes #11097
2018-03-06 11:46:50 +01:00
Marcus Efraimsson
3d4e99d8be
Merge pull request #11040 from grafana/permission-checks
Add permission check for dashboard diff api route
2018-02-28 18:23:39 +01:00
Daniel Lee
ecf438f8d0 dashboard: add permission check for diff api route
ref #10770
2018-02-27 17:53:30 +01:00
Marcus Efraimsson
f76b98d252 dashboards: change dashboard/folder permission error messages 2018-02-27 16:04:45 +01:00
Marcus Efraimsson
03f8eff880 dashboards: handle new guardian error responses and update tests
Using a mocked guardian instead and relies on the actual guardian tests for verifying
permission handling correctness
2018-02-27 16:04:45 +01:00
Marcus Efraimsson
3c14cecd50 folders: handle new guardian error responses and add tests 2018-02-27 16:04:45 +01:00
Daniel Lee
3b836c9c5f
Merge pull request #10996 from grafana/snapshot_permissions
Snapshot fixes and changes to snapshot list
2018-02-23 09:17:59 +01:00
Marcus Efraimsson
3f3175972e dashboards: fix batch dashboard/folder delete response
Use message returned from backend and use that as alert success response to user
2018-02-21 16:38:09 +01:00
Daniel Lee
7d9a9fa29c snapshots: change to snapshot list query
Admins can see all snapshots. Other roles can only see their own
snapshots.

Added permission check for deleting snapshots - admins can delete
any snapshot, other roles can delete their own snapshots or
snapshots that they have access to via dashboard permissions.
2018-02-21 13:39:08 +01:00
Marcus Efraimsson
9889c92083 fix typos in api, acl to permissions 2018-02-21 11:50:32 +01:00
Marcus Efraimsson
3df8ae2306 folders: rename folder_acl in api to folder_permission 2018-02-21 11:45:19 +01:00
Marcus Efraimsson
d68099bc4a dashboards: change api route for dashboard permissions
From /api/dashboards/id/:id/acl to /api/dashboards/id/:id/permissions
2018-02-21 11:42:54 +01:00
Marcus Efraimsson
a167e19b37 folders: folder api tests 2018-02-21 11:24:54 +01:00
Marcus Efraimsson
417541c77f folders: folder permissions api tests 2018-02-20 18:11:50 +01:00
Marcus Efraimsson
892bdecb19 folders: folder permission api routes 2018-02-20 15:25:16 +01:00
Marcus Efraimsson
717d8d0c45 folders: fix api error mapping 2018-02-20 15:01:20 +01:00
Marcus Efraimsson
ea7998ca8e folders: use new folder service in folder api routes 2018-02-20 13:57:32 +01:00
Marcus Efraimsson
fce1e3f7f1 Merge branch 'master' into 10630_folder_api 2018-02-19 13:32:45 +01:00
Marcus Efraimsson
53cd39fde5 Shouldn't be able to overwrite a dashboard if you don't have permissions (#10900)
* dashboards: new command for validating dashboard before update

Removes validation logic from saveDashboard and later on use the new command for validating
dashboard before saving a dashboard. This due to the fact that we need to validate permissions
for overwriting other dashboards by uid and title.

* dashboards: use the new command for validating dashboard before saving

Had to refactor dashboard provisioning a bit to be able to sidetrack the permission validation
in a somewhat reasonable way.
Adds some initial tests of the dashboard repository, but needs to be extended later. At least
now you can mock the dashboard guardian

* dashboards: removes validation logic in the save dashboard api layer

Use the dashboard repository solely for create/update dashboards and let it do all
the validation. One exception regarding quota validation which still is in api layer
since that logic is in a macaron middleware.
Need to move out-commented api tests later.

* dashboards: fix database tests for validate and saving dashboards

* dashboards: rename dashboard repository to dashboard service

Split the old dashboard repository interface in two new interfaces, IDashboardService and
IDashboardProvisioningService. Makes it more explicit when using it from the provisioning package
and there's no possibility of calling an incorrect method for saving a dashboard.

* database: make the InitTestDB function available to use from other packages

* dashboards: rename ValidateDashboardForUpdateCommand and some refactoring

* dashboards: integration tests of dashboard service

* dashboard: fix sqlstore test due to folder exist validation

* dashboards: move dashboard service integration tests to sqlstore package

Had to move it to the sqlstore package due to concurrency problems when running
against mysql and postgres. Using InitTestDB from two packages added conflicts
when clearing and running migrations on the test database

* dashboards: refactor how to find id to be used for save permission check

* dashboards: remove duplicated dashboard tests

* dashboards: cleanup dashboard service integration tests

* dashboards: handle save dashboard errors and return correct http status

* fix: remove log statement

* dashboards: import dashboard should use dashboard service

Had to move alerting commands to models package due to problems with import cycles of packages.

* dashboards: cleanup dashboard api tests and add some tests for post dashboard

* dashboards: rename dashboard service interfaces

* dashboards: rename dashboard guardian interface
2018-02-19 11:12:56 +01:00
Torkel Ödegaard
5323971c21
refactoring: alert rule query refactoring (#10941) 2018-02-16 13:56:04 +01:00
Daniel Lee
b9d572bdec teams: adds some validation to the API 2018-02-16 11:46:20 +01:00
Torkel Ödegaard
fcaa8227a6
Dashboard acl query fixes (#10909)
* initial fixes for dashboard permission acl list query, fixes #10864

* permissions: refactoring of acl api and query
2018-02-14 15:04:26 +01:00
Torkel Ödegaard
73eaba076e wip: dashboard acl ux2, #10747 2018-02-14 15:03:22 +01:00
Torkel Ödegaard
ec6f0f94b8 permissions: refactoring of acl api and query 2018-02-14 14:31:20 +01:00
Torkel Ödegaard
8dd4d505ee Merge branch 'dashboard-search-permissions-filter' 2018-02-14 10:48:55 +01:00
Marcus Efraimsson
cb8c82f7f6 Merge branch 'master' into 10630_folder_api 2018-02-12 15:14:41 +01:00
Leonard Gram
9a7eb5c327 Merge branch 'master' into provisioning 2018-02-12 14:19:20 +01:00
Marcus Efraimsson
12a6de7461 dashboard: always make sure dashboard exist in dashboard acl http api (#10856) 2018-02-12 09:26:09 +01:00
Marcus Efraimsson
e1e0b5f951 teams: use orgId in all team and team member operations (#10862)
Also fixes issue in org users tests for postgres
2018-02-09 17:26:15 +01:00
Torkel Ödegaard
e949eb3f58 Merge branch 'master' into dashboard-search-permissions-filter 2018-02-09 15:16:34 +01:00
Marcus Efraimsson
a86f2fa34b user picker should only include users from current org (#10845) 2018-02-09 10:42:37 +01:00
Torkel Ödegaard
8e8f3c4332 dashboard and folder search with permissions 2018-02-08 17:11:01 +01:00
Leonard Gram
5a85fb6d32 Merge branch 'master' into provisioning 2018-02-08 13:43:19 +01:00
Marcus Efraimsson
0e8377a9f4 Update logic for create/update dashboard, validation and plugin dashboard links (#10809)
* enables overwrite if dashboard allready exist in folder

* dashboard: Don't allow creating a folder named General

* dashboards: update logic for save/update dashboard

No id and uid creates a new dashboard/folder.
No id and uid, with an existing title in folder allows overwrite
  of dashboard.
Id without uid, allows update of existing dashboard/folder without
  overwrite.
Uid without id allows update of existing dashboard/folder without
  overwrite.
Id without uid, with an existing title in folder allows overwrite
  of dashboard/folder and updated will have the uid of overwritten.
Uid without id, with an existing title in folder allows overwrite
  of dashboard/folder and new will have the same uid as provided.
Trying to change an existing folder to a dashboard yields error.
Trying to change an existing dashboard to a folder yields error.

* dashboards: include folder id when confirmed to save with overwrite

* dashboards: fixes due to new url structure

Return importedUrl property in response to importing dashboards and
getting plugin dashboards and use this for redirects/links in the
frontend.
2018-02-08 12:48:38 +01:00
Leonard Gram
b549d29319 Merge branch 'master' into provisioning 2018-02-08 11:01:09 +01:00
Torkel Ödegaard
0e61a670bb fix: error handling now displays page correctly, fixes #10777 2018-02-06 12:28:17 +01:00
Daniel Lee
2d1bd270fb Stale permissions (#10768)
* dashfolders: hide permissions in settings if folder has changed

and the dashboard has not been saved yet. Otherwise the use will
see stale permissions from the original folder.

* dashfolders: return folder url for inherited permissions
2018-02-05 14:28:24 +01:00
Marcus Efraimsson
55100d5ff9
Merge pull request #10760 from grafana/10749_link_to_folder
Fix link to folder from permissions list
2018-02-05 11:34:59 +01:00
Marcus Efraimsson
7d3b990e91 permissions: fix link to folder from permissions list
Also, closing Add Permissions CTA when DashboardPermissions and
FolderPermissions unmounts.
Fixes #10749"
2018-02-05 11:10:37 +01:00
Carl Bergquist
cc0cc8dd73 changes to new urlformat for home dashboard (#10738) 2018-02-05 10:24:48 +01:00
Torkel Ödegaard
07fa2f1722
fix: alert list links did not work, changed dashboardUri to Url, this is breaking api change in alert api (#10756) 2018-02-05 09:42:41 +01:00
Marcus Efraimsson
3a906ea335 Merge branch 'master' into 10630_folder_api 2018-02-02 14:34:10 +01:00
bergquist
130a2b6499 handle new error message 2018-02-02 11:06:32 +01:00
Daniel Lee
512f6992f1 dashfolders: rename Root folder to General. Closes #10692 2018-02-02 10:39:26 +01:00
Marcus Efraimsson
04a9a650e7 folders: changes and updated tests after merging permissions and new url structure 2018-02-01 22:07:27 +01:00
Marcus Efraimsson
5912cf4dc2 folders: rename api files 2018-02-01 18:41:50 +01:00
Marcus Efraimsson
4e0542d740 dashboards: revert logic of returning 404 in dashboard api if it's a folder for now 2018-02-01 18:41:04 +01:00
Marcus Efraimsson
b07ac3c054 Merge branch '7883_new_url_structure' into 10630_folder_api 2018-02-01 18:29:00 +01:00
bergquist
fcd86fb24f make it easier for dashboards to generate ur; 2018-02-01 14:08:51 +01:00
bergquist
74ca6f6dbf changes dashboard url in alertlist 2018-02-01 14:08:51 +01:00
Marcus Efraimsson
ef90b3e49c Merge branch '7883_new_url_structure' into 7883_frontend_step2 2018-02-01 11:08:39 +01:00
Marcus Efraimsson
b135df9a6c Merge remote-tracking branch 'upstream/master' into 7883_new_url_structure 2018-02-01 10:48:06 +01:00
Carl Bergquist
eff687bece
Merge pull request #10694 from grafana/7883_backend
backend for new url structure.
2018-02-01 09:35:00 +01:00
Marcus Efraimsson
90933b0621 dashboard: refactor logic for retrieving url for folder/dashboard 2018-01-31 23:14:48 +01:00
Marcus Efraimsson
c0c3f17d84 dashboards: when restoring a dashboard to an older version, set current uid 2018-01-31 18:40:54 +01:00
Marcus Efraimsson
b23560ed5a dashboards: add validation to delete dashboard by slug
Validates that there are only one folder/dashboard having that slug,
otherwise returns 412 Precondition Failed
2018-01-31 18:40:54 +01:00
Marcus Efraimsson
95d063621e dashboards: new route for deleting dashboards by uid 2018-01-31 18:40:54 +01:00
bergquist
9aa488c084 Merge remote-tracking branch 'origin/7883_frontend_step' into 7883_backend
* origin/7883_frontend_step:
  dashboards: make scripted dashboards work using the old legacy urls
  dashboards: redirect from old url used to load dashboard to new url
  dashboards: add new default frontend route for rendering a dashboard panel
  dashboards: fix links to recently viewed and starred dashboards
  dashboards: use new *url* prop from dashboard search for linking to dashboards
  dashboards: when saving dashboard redirect if url changes
  dashboards: add new default frontend route for loading a dashboard
  dashboards: return url in response to save dashboard. #7883
2018-01-31 15:57:03 +01:00
Marcus Efraimsson
57edf89033 dashboards: make scripted dashboards work using the old legacy urls
Scripted dashboards are still requested from /dashboard/script/scripted.js
#7883
2018-01-31 14:07:49 +01:00
Marcus Efraimsson
a99331cdb9 dashboards: redirect from old url used to load dashboard to new url
If legacy backend routes (/dashboard/db/<slug> and /dashboard-solo/db/<slug>)
are requested we try to redirect to new routes with a 301 Moved Permanently
 #7883
2018-01-31 14:06:19 +01:00
Daniel Lee
79fe01959b alerting: small refactoring 2018-01-31 10:47:31 +01:00
bergquist
bb3183f6cd removes uniqnes check on slug when saving dashboards 2018-01-31 10:29:52 +01:00
Marcus Efraimsson
369597f7b2 dashboards: return url in response to save dashboard. #7883 2018-01-31 00:09:14 +01:00
Daniel Lee
eb765d288c alertlist: disable pause button when user does not have permission 2018-01-30 23:35:27 +01:00
Marcus Efraimsson
fd59241e35 dashboards: revert adding api for retrieving uid by slug
Since we're already have possibility to get a dashboard by slug
it makes little sense to have a separate endpoint in api for
retrieving uid by slug.
#7883
2018-01-30 23:18:34 +01:00
Marcus Efraimsson
9fb7b887db dashboards: add url property to dashboard meta and search api responses
#7883
2018-01-30 23:18:34 +01:00
Marcus Efraimsson
7ee691dc48 dashboards: api for retrieving uid by slug. #7883 2018-01-30 23:18:34 +01:00
Marcus Efraimsson
13d5db7d19 dashboards: add support for retrieving a dashboard by uid
Introduces new url in api /dashboards/<uid> for fetching dashboard by unique id
Leave the old dashboard by slug url /dashboards/db/<slug> for backward
compatibility and for supporting fallback
WIP for #7883
2018-01-30 23:18:34 +01:00
Marcus Efraimsson
46e1296700 dashboards: return uid in response to creating/updating a dashboard. #7883 2018-01-30 23:18:34 +01:00
Daniel Lee
f5107d5023 alerting: add permission check in api for pausing alerts 2018-01-30 14:41:25 +01:00
Daniel Lee
87d6d791d5 dashfolders: adds comment for dashboard api tests 2018-01-30 14:09:30 +01:00
Daniel Lee
2b7984355a dashfolders: adds comment for dashboard acl test 2018-01-30 13:28:00 +01:00
Daniel Lee
a00a42d9ee api: extract api test code to common_test.go 2018-01-30 13:17:48 +01:00
Marcus Efraimsson
f08932b78a WIP: folder api. #10630 2018-01-30 10:53:28 +01:00
Daniel Lee
0fb05bcf59 Merge remote-tracking branch 'upstream/master' into dashboard_permissions 2018-01-30 09:26:23 +01:00
Daniel Lee
d74a98feff dashfolders: link to folder for inherited permissions
In the permissions view in dashboard settings, this adds a
link to the parent folder for inherited permissions. Which
allows the user to easily navigate to the folder and change
inherited permissions.
2018-01-29 16:10:47 +01:00
Marcus Efraimsson
3d1c624c12 WIP: Protect against brute force (frequent) login attempts (#10031)
* db: add login attempt migrations

* db: add possibility to create login attempts

* db: add possibility to retrieve login attempt count per username

* auth: validation and update of login attempts for invalid credentials

If login attempt count for user authenticating is 5 or more the last 5 minutes
we temporarily block the user access to login

* db: add possibility to delete expired login attempts

* cleanup: Delete login attempts older than 10 minutes

The cleanup job are running continuously and triggering each 10 minute

* fix typo: rename consequent to consequent

* auth: enable login attempt validation for ldap logins

* auth: disable login attempts validation by configuration

Setting is named DisableLoginAttemptsValidation and is false by default
Config disable_login_attempts_validation is placed under security section
#7616

* auth: don't run cleanup of login attempts if feature is disabled

#7616

* auth: rename settings.go to ldap_settings.go

* auth: refactor AuthenticateUser

Extract grafana login, ldap login and login attemp validation together
with their tests to separate files.
Enables testing of many more aspects when authenticating a user.
#7616

* auth: rename login attempt validation to brute force login protection

Setting DisableLoginAttemptsValidation => DisableBruteForceLoginProtection
Configuration disable_login_attempts_validation => disable_brute_force_login_protection
#7616
2018-01-26 10:41:41 +01:00
Daniel Lee
bc5fae5367 dashfolders: merge conflict 2018-01-25 14:54:50 +01:00
bergquist
67a9e6a71d provisioing: add lookup table provisioned dashboards 2018-01-23 21:52:55 +01:00
Torkel Ödegaard
dbfaf5dac8 refactor: minor refactoring of PR #10560 2018-01-23 13:03:44 +01:00
Torkel Ödegaard
a24aa3ae28 Merge branch 'generic-oauth-jwt' of https://github.com/DanCech/grafana 2018-01-23 12:44:27 +01:00
Carl Bergquist
184e7046df
Merge pull request #10059 from FunkyM/local-image-store
Add support for internal image store
2018-01-22 11:03:00 +01:00
Daniel Lee
94a54248c1 dashfolders: show folders use can save to in picker
Instead of returning all folders a user has some sort of access to,
this change creates a new end point that returns folders the user
has write access to. This new endpoint is used in the folder picker
2018-01-20 01:58:28 +01:00
Dan Cech
04e17c145f
support for decoding JWT id tokens 2018-01-18 18:25:58 -05:00
Torkel Ödegaard
2d192f6cc8 Merge branch 'dashboard_permissions' of github.com:grafana/grafana into dashboard_permissions 2018-01-18 18:24:17 +01:00
Torkel Ödegaard
cfa775e012 ds: updated ds nav 2018-01-18 18:17:58 +01:00
Daniel Lee
f64637c2c5 dashfolders: stop user locking themselves out of a folder 2018-01-18 14:30:04 +01:00
bergquist
5eb36e65f2 use context over golang.org/x/net/context 2018-01-16 12:32:58 +01:00
Daniel Lee
a5830c6dbc Merge remote-tracking branch 'upstream/master' into dashboard_permissions 2018-01-16 12:02:13 +01:00
m-pavel
dff66559e4 Use URLEncoding instead of StdEncoding to be sure state value will be corectly decoded (#10512) 2018-01-15 08:49:30 +01:00
Martin Szulecki
c82e23d96e imguploader: Add support for new internal image store (#6922) 2018-01-12 21:40:12 +01:00
Daniel Lee
545d7b9477 dashfolders: convert folder settings to React 2018-01-11 15:42:45 +01:00
Daniel Lee
c27a74bb6b dashfolders: check permissions for new dashboard
ref #10275. Use the parent folder permissions if new dashboard and
it does not have an id yet.
2018-01-09 14:44:36 +01:00
Daniel Lee
ae69c96518 dashfolders: allow any signed in user to get list of teams 2018-01-09 14:44:36 +01:00
Daniel Lee
b7f023bc26 fix gofmt warning 2018-01-09 14:44:36 +01:00
Daniel Lee
3ae1bf0c16 dashfolders: permissions for saving annotations
ref #10275 Use folder permissions instead of hard coded
permissions on the annotations routes.
2018-01-09 14:44:36 +01:00
Daniel Lee
61ed0b0381 dashfolders: remove role requirements on dashboard routes
and rely on the permission system instead.
2018-01-09 14:44:36 +01:00
Alexander Zobnin
a4972f44ad fix missing profile icon (#10469) 2018-01-09 13:58:03 +01:00
Torkel Ödegaard
c42a232644 Merge branch 'react-mobx' 2018-01-04 09:12:57 +01:00
Torkel Ödegaard
029317ed18 tech: alert list react migration progress 2017-12-31 14:16:19 +01:00
bergquist
8a5fe5b0df renderer: avoid calling Handle twice 2017-12-28 14:37:10 +01:00
Marcus Efraimsson
af34f9977e Add avatar to team and team members page (#10305)
* teams: add db migration for email column in teams table

* teams: /teams should render index page with a 200 OK

* teams: additional backend functionality for team and team members

Possibility to save/update email for teams.
Possibility to retrive avatar url when searching for teams.
Possibility to retrive avatar url when searching for team members.

* teams: display team avatar and team member avatars

Possibility to save and update email for a team

* teams: create team on separate page instead of modal dialog
2017-12-20 21:20:12 +01:00
Torkel Ödegaard
36fe8f5873 menu: fixed create default url 2017-12-15 15:17:05 +01:00
Torkel Ödegaard
a8a5f8181b fix: viewers can edit now works correctly 2017-12-15 14:19:49 +01:00
Torkel Ödegaard
2797e8e2d0 profile: use name or fallback for profile page 2017-12-15 13:06:11 +01:00
Torkel Ödegaard
fdf4bad1b7 fix: sidemenu profile main text is now username instead of name 2017-12-15 13:03:07 +01:00
Torkel Ödegaard
c395237710 Merge branch Grafana v5 'develop' branch 2017-12-15 12:06:09 +01:00
Torkel Ödegaard
8905c8e5fb Merge branch 'team_member_count' of https://github.com/bergquist/grafana into develop 2017-12-15 11:53:47 +01:00
bergquist
256f7176a2
teams: add team count when searching for team
closes #10207
2017-12-15 11:08:06 +01:00
Torkel Ödegaard
581257416e Merge remote-tracking branch 'origin/develop-icons' into develop 2017-12-14 19:56:19 +01: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
Marcus Efraimsson
e136b7c286 dashfolders: /dashboards should render index page with a 200 OK 2017-12-14 11:30:57 +01:00
Daniel Lee
f1b1dbc6dd dashboard: fix test after merge conflict 2017-12-14 09:34:00 +01:00
Trent White
e2bbb85daa new icons created and added to nav 2017-12-13 17:48:44 -05:00
Torkel Ödegaard
a7645b710d Merge remote-tracking branch 'origin/master' into develop 2017-12-13 19:18:10 +01:00
Carl Bergquist
35106537f2 Replace Read Only Editor role with ViewersCanEdit setting (#10166)
* removes readonly editor role

* adds viewersCanEdit setting

This enable you to allow viewers to edit/inspect
dashboards in grafana in their own browser without
allowing them to save dashboards

* remove read only editor option from all dropdowns

* migrates all read only viewers to viewers

* docs: replace readOnlyEditor with viewersCanEdit
2017-12-13 18:53:42 +01:00
Torkel Ödegaard
7f0440fded minor tweaks 2017-12-13 18:00:16 +01:00
Torkel Ödegaard
ccbd18006e ux: org user management changes 2017-12-13 13:16:44 +01:00
Torkel Ödegaard
22aa1f7e42 ux: change members to users 2017-12-13 11:21:33 +01:00
Torkel Ödegaard
05cc1f85c3 Merge branch 'refactor-user-group-to-team' of https://github.com/alexanderzobnin/grafana into user-group-to-team 2017-12-12 17:07:00 +01:00
Torkel Ödegaard
89db9cc976 fix: fixed dashboard api tests 2017-12-12 16:15:24 +01:00
Torkel Ödegaard
8a61e0967e Merge branch 'master' into develop 2017-12-12 13:22:13 +01:00
Torkel Ödegaard
cafed8ce8f Merge branch 'master' into develop 2017-12-12 13:19:07 +01:00
bergquist
ff1b71bc20 allow overriding dashboards from api 2017-12-12 13:18:00 +01:00
bergquist
c68e7c7283 avatar: avoid concurrent map writes 2017-12-12 11:25:47 +01:00
Alexander Zobnin
26281dd9d8 refactor: format files by gofmt 2017-12-11 19:46:05 +03:00
Carl Bergquist
5d70a36ad8
Merge pull request #10150 from jomenxiao/jomenxiao/render_setting_lang
[render image]add encoding param
2017-12-11 10:36:38 +01:00
jomenxiao
ad2a69bff4 add encoding param 2017-12-11 16:01:17 +08:00
bergquist
f7ed24475c wait for all sub routines to finish
simple solution for waiting for all go sub routines to
finish before closing Grafana. We would use errGroup
here as well but I dont like spreading context's all
over the place.

closes #10131
2017-12-11 08:53:06 +01:00
Alexander Zobnin
5d3bfee2f1 refactor: user groups to teams, rename backend files 2017-12-08 18:51:59 +03:00
Alexander Zobnin
d8612380e9 refactor: rename User Groups to Teams 2017-12-08 18:25:45 +03:00
Marcus Efraimsson
b03b360414 dashfolders: Create nav model for folder page client side #10083 2017-12-08 14:08:16 +01:00
Marcus Efraimsson
017b337f00 dashfolders: create folder page
Fixes #10085
2017-12-07 19:32:38 +01:00
Marcus Efraimsson
2ea663df78 dashfolders: New Dashboard Folder page
Fixes #10083. Permissions page is just a placeholder
for now.
2017-12-07 17:30:54 +01:00
bergquist
5aab6b5c20 removes last pieces of dashboard.json 2017-12-07 16:26:07 +01:00
bergquist
f5eac2e91d dashboards as cfg: expose dashboard service as interface 2017-12-07 15:27:01 +01:00
bergquist
16f072b320 dashboards as cfg: move saving logic for dashboards into its own service 2017-12-07 15:27:01 +01:00
bergquist
9cebb23e01 dashboards as cfg: revert minor changes 2017-12-07 15:27:01 +01:00
Torkel Ödegaard
beb9f8ee74 Merge remote-tracking branch 'origin/master' into develop 2017-12-07 14:14:50 +01:00
Torkel Ödegaard
90bcec8178 nav: updated nav item id for manage dashboards 2017-12-05 12:25:59 +01:00
Torkel Ödegaard
90da964a14 refactoring PR #10068 2017-12-05 12:19:01 +01:00
Alexander Zobnin
4d7ff4de15 move import menu item to the original place 2017-12-04 18:00:22 +03:00
Alexander Zobnin
44ea0ff71d Move import dashboard from modal to the page 2017-12-04 15:55:37 +03:00
bergquist
d6d64c53cd typo 💥 2017-12-01 16:23:55 +01:00
Torkel Ödegaard
68580f06a3 page header now on 99% of pages 2017-12-01 13:49:15 +01:00
Torkel Ödegaard
6bff416430 navigation: more progress on new page header 2017-12-01 12:51:46 +01:00
Torkel Ödegaard
75bb894485 ux: new page-header design, most pages beside admin done 2017-12-01 11:32:00 +01:00
Torkel Ödegaard
e53b55479a ux: made plugins page work 2017-12-01 10:47:21 +01:00
Torkel Ödegaard
6f5a9bf768 ux: new page header progress 2017-11-30 17:28:24 +01:00
Torkel Ödegaard
b2add1977a ux: progress on new page header 2017-11-30 16:35:27 +01:00
Torkel Ödegaard
74ceb76ec0 ux: work on page header 2017-11-30 15:37:03 +01:00
Torkel Ödegaard
645f49eda4 ux: updating header design for pages 2017-11-30 11:31:38 +01:00
jomenxiao
3f95180c98 fix render http[get] params error 2017-11-28 22:20:22 +08:00
Torkel Ödegaard
9fc22e5a66 Merge branch 'master' of github.com:grafana/grafana into develop 2017-11-21 16:05:18 +01:00
bergquist
3a772c7f7f allows head requests for /api/health endpoint
closes #9955
2017-11-21 15:03:04 +01:00
Torkel Ödegaard
0d12b37dfd fix: alert list panel now works correctly after adding manual annotation on dashboard, fixes #9951 2017-11-21 11:28:17 +01:00
Torkel Ödegaard
fc1d8416a7 working on dashboard search 2017-11-20 12:47:03 +01:00
Torkel Ödegaard
0e44fe082b Merge branch 'master' into develop 2017-11-17 15:49:17 +01:00
Torkel Ödegaard
303e3de488 fix: fix for avatar images when gzip is turned on, fixes #5952 2017-11-17 13:13:58 +01:00
bergquist
0f69e06fcf removes invalid comment 2017-11-16 16:55:02 +01:00
Marcus Efraimsson
909601d6ab api: fix so that datasources functions returns Response 2017-11-16 16:29:05 +01:00
Marcus Efraimsson
89b27b35ba fix: Use Response as return type 2017-11-16 16:19:01 +01:00
Marcus Efraimsson
540d540ea9 fix: return id from api when creating new annotation/graphite annotation, fixes #9798
When creating a region annotation the response will include both
id (region start id) and endId (region end id), if not only id.
2017-11-16 16:19:01 +01:00
bergquist
36676e23c1 datasource as cfg: adds readonly datasources 2017-11-15 14:30:32 +01:00
Daniel Lee
0d85c63fff middleware: recovery handles panics in all handlers
Also, changes the order of the middleware so that recovery is after the
gzip middleware. Otherwise, a 200 OK is returned instead of a 500 error.
2017-11-15 13:57:33 +01:00
Torkel Ödegaard
97cc454ded ux: minor changes 2017-11-01 14:23:46 +01:00
Torkel Ödegaard
84b10df887 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-10-31 16:14:40 +01:00
Daniel Lee
752453f204 dashboards: fix link to bulk edit 2017-10-29 20:20:51 +01:00
Torkel Ödegaard
cae852a1a2 updated icons 2017-10-27 08:33:04 +02:00
Torkel Ödegaard
9605ab4475 Merge branch 'master' into develop 2017-10-26 15:59:50 +02:00
Daniel Lee
7f3293ce80 dashfolders: rough draft of bulk edit 2017-10-25 16:12:03 +02:00
Carl Bergquist
c91a1e994b Merge pull request #9594 from bergquist/datasources_optimistic_concurrency
datasources: change to optimistic concurrency
2017-10-25 12:44:36 +02:00
bergquist
d68bfaa8be datasource as cfg: typo 2017-10-25 12:21:06 +02:00
Torkel Ödegaard
a299118c92 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-10-24 20:29:53 +02:00
Daniel Lee
f70fb7dbf3 dashboard: fix home dashboard getting started panel 2017-10-24 19:22:56 +02:00
bergquist
9b6535cca1 alerting: only editors can pause rules
closes #9640
2017-10-24 11:01:08 +02:00
Torkel Ödegaard
b44daaabf2 Merge branch 'master' into develop 2017-10-24 09:06:09 +02:00
Torkel Ödegaard
9cce5217d0 build: fixed gofmt issue and addd mock response feature 2017-10-23 09:57:28 +02:00
bergquist
139f077453 prometheus: enable gzip for /metrics endpoint
closes #9464
2017-10-23 09:35:46 +02:00
Torkel Ödegaard
1fd2270a93 build: split circle test shell scripts 2017-10-23 09:06:50 +02:00
bergquist
89923bf77a datasources: change to optimisic concurrency
prerequisite for #9504
2017-10-23 07:55:16 +02:00
Torkel Ödegaard
fff0fa2aee Merge branch 'master' into develop 2017-10-22 11:51:14 +02: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
Alexander Zobnin
74e90d01ec Fixes for annotations API (#9577)
* annotations: throw error if no text specified and set default time to Now() if empty, #9571

* annotations: fix saving graphite event with empty string tags

* docs: add /api/annotations/graphite endpoint docs, #9571
2017-10-18 10:13:02 +02:00
Torkel Ödegaard
6f71af449b ux: new fixes 2017-10-18 09:48:37 +02:00
Daniel Lee
5f6ab1e370 styleguide: fix link in index 2017-10-16 14:11:52 +02:00
Daniel Lee
b866383ec0 api: fix for dashboard version history 2017-10-16 14:09:52 +02:00
Torkel Ödegaard
a3bd761b0c ux: testing out new icons 2017-10-14 21:17:16 +02:00
Torkel Ödegaard
48c8e4d627 fix: various fixes for new grid 2017-10-12 17:38:49 +02:00
Torkel Ödegaard
88ceb19d96 Merge branch 'master' into develop 2017-10-12 16:32:44 +02:00
bergquist
b5727949fd logging: dont use cli logger in http_server 2017-10-12 15:29:01 +02:00
bergquist
88f55b01d8 oauth: raise error if session state is missing
ref #9476
2017-10-12 15:25:27 +02:00
bergquist
0848ba2e9c oauth: provide more logging for failed oauth requests 2017-10-12 15:25:27 +02:00
Carl Bergquist
ee5f69beb4 metrics: disable gzip for /metrics endpoint (#9468)
Prometheus client lib support gzip by itself. Which caused the
response to be double gzipped sometimes. We should use the Grafana
middle ware instead.

closes #9464
2017-10-12 12:02:36 +02:00
Carl Bergquist
9d53653647 Merge pull request #9378 from mattbostock/verify_tls
Bugfix: Always verify TLS unless explicitly told otherwise
2017-10-12 11:11:02 +02:00
bergquist
4ca3cc90dd Merge branch 'mattbostock-verify_datasource_tls' 2017-10-12 10:39:07 +02:00
bergquist
c0d257a0ee Merge branch 'verify_datasource_tls' of https://github.com/mattbostock/grafana into mattbostock-verify_datasource_tls 2017-10-12 10:15:32 +02:00
Alexander Zobnin
04ea7efac9 annotations: add endpoint for writing graphite-like events (#9495)
* annotations: add endpoint for writing graphite-like events

* annotations: fix new line handling in tooltip

* annotations: support tags in prior to Graphite 0.10.0 format
2017-10-12 10:12:15 +02:00
Torkel Ödegaard
3a089dd04c newgrid: various fixes 2017-10-11 21:36:03 +02:00
Matt Bostock
a286ffa5f2 Alias macron package in app_routes.go
...to make this file compatible with goimports:
https://godoc.org/golang.org/x/tools/cmd/goimports
2017-10-11 08:18:03 +01:00
Torkel Ödegaard
df61558018 grid: fixed geting started panel pos 2017-10-10 19:48:06 +02:00
Torkel Ödegaard
647a3cc5ae Merge branch 'master' into develop 2017-10-09 16:01:54 +02:00
Daniel Lee
8423260f58 gzip: plugin readme content set explicitly
Macaron's gzip middleware tries to automatically figure out the content
type for a file when gzipped and seems to mostly fail with plugin
readmes. This change sets the content type to plain text.

Fixes #9344. Ref #5952.
2017-10-09 10:17:45 +02:00
Torkel Ödegaard
25aa9df270 Create annotations (#8197)
* annotations: add 25px space for events section

* annotations: restored create annotation action

* annotations: able to use fa icons as event markers

* annotations: initial emoji support from twemoji lib

* annotations: adjust fa icon position

* annotations: initial emoji picker

* annotation: include user info into annotation requests

* annotation: add icon info

* annotation: display user info in tooltip

* annotation: fix region saving

* annotation: initial region markers

* annotation: fix region clearing (add flot-temp-elem class)

* annotation: adjust styles a bit

* annotations: minor fixes

* annoations: removed userId look in loop, need a sql join or a user cache for this

* annotation: fix invisible events

* lib: changed twitter emoij lib to be npm dependency

* annotation: add icon picker to Add Annotation dialog

* annotation: save icon to annotation table

* annotation: able to set custom icon for annotation added by user

* annotations: fix emoji after library upgrade (switch to 72px)

* emoji: temporary remove bad code points

* annotations: improve icon picker

* annotations: icon show icon picker at the top

* annotations: use svg for emoji

* annotations: fix region drawing when add annotation editor opened

* annotations: use flot lib for drawing region fill

* annotations: move regions building into event_manager

* annotations: don't draw additional space if no events are got

* annotations: deduplicate events

* annotations: properly render cut regions

* annotations: fix cut region building

* annotations: refactor

* annotations: adjust event section size

* add-annotations: fix undefined default icon

* create-annotations:  edit event (frontend part)

* fixed bug causes error when hover event marker

* create-annotations:  update event (backend)

* ignore grafana-server debug binary in git (created VS Code)

* create-annotations: use PUT request for updating annotation.

* create-annotations: fixed time format when editing existing event

* create-annotations: support for region update

* create-annotations: fix bug with limit and event type

* create-annotations: delete annotation

* create-annotations: show only selected icon in edit mode

* create-annotations: show event editor only for users with at least Editor role

* create-annotations: handle double-sized emoji codepoints

* create-annotations: refactor

use CP_SEPARATOR from emojiDef

* create-annotations: update emoji list, add categories.

* create-annotations: copy SVG emoji into public/vendor/npm and use it as a base path

* create-annotations: initial tabs for emoji picker

* emoji-picker: adjust styles

* emoji-picker: minor refactor

* emoji-picker: refactor - rename and move into one directory

* emoji-picker: build emoji elements on app load, not on picker open

* emoji-picker: fix emoji searching

* emoji-picker: refactor

* emoji-picker: capitalize category name

* emoji-picker: refactor

move buildEmojiElem() into emoji_converter.ts for future reuse.

* jquery.flot.events: refactor

use buildEmojiElem() for making emojis, remove unused code for font awesome based icons.

* emoji_converter: handle converting error

* tech: updated

* merged with master

* shore: clean up some stuff

* annotation: wip tags

* annotation: filtering by tags

* tags: parse out spaces etc. from a tags string

* annotations: use tagsinput component for tag filtering

* annotation: wip work on how we query alert & panel annotations

* annotations: support for updating tags in an annotation

* linting

* annotations: work on unifying how alert history annotations and manual panel annotations are created

* tslint: fixes

* tags: create tag on blur as well

Currently, the tags directive only creates the tag when the
user presses enter. This change means the tag is created on
blur as well (when the user clicks outside the input field).

* annotations: fix update after refactoring

* annotations: progress on how alert annotations are fetched

* annotations: minor progress

* annotations: progress

* annotation: minor progress

* annotations: move tag parsing from tooltip to ds

Instead of parsing a tag string into an array in the annotation_tooltip
class, this moves the parsing to the datasources. InfluxDB ds already
does that parsing. Graphite now has it.

* annotations: more work on querying

* annotations: change from tags as string to array

when saving in the db and in the api.

* annotations: delete tag link if removed on edit

* annotation: more work on depricating annotation title

* annotations: delete tag links on delete

* annotations: fix for find

* annotation: added user to annotation tooltip and added alertName to annoation dto

* annotations: use id from route instead from cmd for updating

* annotations: http api docs

* create annotation: last edits

* annotations: minor fix for querying annotations before dashboard saved

* annotations: fix for popover placement when legend is on the side (and doubel render pass is causing original marker to be removed)

* annotations: changing how the built in query gets added

* annotation: added time to header in edit mode

* tests: fixed jshint built issue
2017-10-07 10:31:39 +02:00
Matt Bostock
83f1ae4e3e OAuth: Rename sslcli
Rename `sslcli` to the more descriptive `oauthClient`.
2017-10-06 17:10:03 +01:00
Matt Bostock
ccf093da81 OAuth: Separate TLS client auth and CA config
It should be specify to either use TLS client authentication or use a
user-supplied CA; previously you had to enable client authentication to
use a custom CA.
2017-10-06 17:10:03 +01:00
Matt Bostock
f2f8ca52d9 OAuth: Check both TLS client cert and key
If either is set, try to use them.

This should help avoid a situation where someone has half-configured TLS
client authentication and it doesn't work without raising an obvious
error.
2017-10-06 17:10:03 +01:00
Matt Bostock
16c5d0e4b7 Always verify TLS unless explicitly told otherwise
TLS was not being verified in a number of places:

- connections to grafana.com

- connections to OAuth providers when TLS client authentication was
  enabled

- connections to self-hosted Grafana installations when using the CLI
  tool

TLS should always be verified unless the user explicitly enables an
option to skip verification.

Removes some instances where `InsecureSkipVerify` is explicitly set to
`false`, the default, to help avoid confusion and make it more difficult
to regress on this fix by accident.

Adds a `--insecure` flag to `grafana-cli` to skip TLS verification.

Adds a `tls_skip_verify_insecure` setting for OAuth.

Adds a `app_tls_skip_verify_insecure` setting under a new `[plugins]`
section.

I'm not super happy with the way the global setting is used by
`pkg/api/app_routes.go` but that seems to be the existing pattern used.
2017-10-06 17:09:27 +01:00
Torkel Ödegaard
d38c891fac merge with master 2017-10-02 14:14:45 +02:00
Mitsuhiro Tanda
fe9fca381c move cloudwatch crendential related code 2017-09-29 13:45:11 +09:00