Commit Graph

3137 Commits

Author SHA1 Message Date
Sven Klemm
0f931f9e5e Merge remote-tracking branch 'upstream/master' into macroengine-interpolate 2018-03-01 18:01:54 +01:00
Daniel Lee
cc2f478792 Merge branch 'docs_v5.0' 2018-03-01 09:36:48 +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
Laurent Godet
59704ee939 Fix Github OAuth not working with private Organizations (#11028)
* Fix Github OAuth not working with private organizations

* Update documentation
2018-02-28 13:08:15 +01:00
Marcus Efraimsson
f44e476580 permissions: fix validation of permissions before update
Did a bad pointer comparison so extended the tests for duplicate permissions.
2018-02-28 08:48:28 +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
Marcus Efraimsson
955dfcc8fe dashboards: don't allow override of permissions with a lower precedence
If a dashboard inherits permissions from a folder, don't allow same permission to be added
to the dashboard with a lower permission.
Add backend validation so that you cannot add same permission to folder/dashboard, for example
same user/team with different permissions
2018-02-27 16:04:45 +01:00
Marcel Anacker
69006a7764 Alerting: Fix OK state doesn't show up in Microsoft Teams (#11032)
* Alerting: Fix OK state doesn't show up in Microsoft Teams

* Fix formatting
2018-02-27 15:48:36 +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
Daniel Lee
fe49182b9d snapshots: fixes cleanup of old snapshots
Snapshot cleanup did not work due to time.Now syntax error. Added test
for it as well to catch any future errors.

Added error and debug logging so that it is possible to see any errors in the future.

Removed an unused configuration value and deprecated the remove expired snapshots
setting.
2018-02-22 16:12:16 +01:00
Marcus Efraimsson
6751bbc17f Merge branch 'master' into docs_v5.0 2018-02-22 15:55:44 +01:00
Marcus Efraimsson
3f588b4c48 dashboards: created/updated and createdby/updatedby should be set before save
If creating a new folder/dashboard created/updated and createdby/updatedby should always be set.
If updating an existing folder/dashboard updated and updatedby should always be set.
2018-02-22 11:54:28 +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
8a8f3bd5bb folders: fix typo 2018-02-21 11:28:11 +01:00
Marcus Efraimsson
3c6bc263dc Merge branch 'master' into 10630_folder_api 2018-02-21 11:25:56 +01:00
Marcus Efraimsson
78283b9c77 folders: extend folder service tests 2018-02-21 11:25:21 +01:00
Marcus Efraimsson
a167e19b37 folders: folder api tests 2018-02-21 11:24:54 +01:00
Torkel Ödegaard
2f6e77af1e Merge branch 'master' into docs_v5.0 2018-02-21 10:47:14 +01:00
Marcus Efraimsson
417541c77f folders: folder permissions api tests 2018-02-20 18:11:50 +01:00
Marcus Efraimsson
02278f90a7 dashboards: make fake dashboard guardian available to other packages 2018-02-20 18:08:19 +01:00
Torkel Ödegaard
3964d6b797 fix: added new known data source plugins, and minor migration fix for v1 dashboards 2018-02-20 16:08:43 +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
268fb4dc6c folders: new folder service for managing folders 2018-02-20 13:56:22 +01:00
Marcus Efraimsson
39aba03483 dashboards: created date should be set when creating a folder/dashboard 2018-02-20 13:54:31 +01:00
Torkel Ödegaard
69ccbffaed fix: fixed github oauth login with allowed orgs filter, fixes #10964, reverts #10851 2018-02-20 11:30:18 +01:00
Torkel Ödegaard
21d48df095 fix: plugin dashboard did not get plugin id after import 2018-02-20 11:30:18 +01:00
bergquist
4dc6074e79 provisioning: dont ignore sample yaml files
closes #10963
2018-02-20 08:40:37 +01:00
Carl Bergquist
af7ede6ec5
Merge pull request #10959 from grafana/10957_influx_escaping
influxdb: escape backslashes in tag values (for alerting)
2018-02-19 15:28:55 +01:00
Aleksandar Gyorev
89a17a4ace Correct typo in DashboardInputMissingError 2018-02-19 15:44:20 +02: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
Daniel Lee
f959ba9bcf influxdb: escape backslashes in tag values (for alerting)
Closes #10957. Backslash escaping was already implemented on the
frontend but does not work for queries executed on the backend.
2018-02-19 10:02:14 +01:00
Leonard Gram
fe357a72d9 login: migration fix. 2018-02-16 17:36:28 +01:00
Leonard Gram
0053be9882 login: uses epochs for login throtting.
Closes #10937
2018-02-16 17:25:46 +01:00
Torkel Ödegaard
8af2c9f1f8 test: added integration test for #10941 2018-02-16 14:17:41 +01:00
Torkel Ödegaard
5323971c21
refactoring: alert rule query refactoring (#10941) 2018-02-16 13:56:04 +01:00
bergquist
529fc022d5 db: reduce name column size in dashboard_provisoning
ref #10931
2018-02-16 11:49:17 +01:00
Daniel Lee
b9d572bdec teams: adds some validation to the API 2018-02-16 11:46:20 +01:00
bergquist
b099f0309f cli: download latest dependency by default 2018-02-16 09:54:37 +01:00
bergquist
5bbe047eaa Revert "removes dependencies install for plugins"
This reverts commit 47e363ea15.
2018-02-16 09:49:29 +01:00
bergquist
651103bdda chore: adds comment for exported function 2018-02-15 15:06:03 +01:00