Commit Graph
38884 Commits
Author SHA1 Message Date
Tobias Skarhed 9e87dbb153 CSV Export: Timezone based on dashboard setting (#18002)
* Timezone export CSV based on dashboard setting

* Add options object and interface
2019-07-09 16:16:46 +02:00
Leonard Gram 25506829be LDAP: Adds back support for single bind. (#17999) 2019-07-09 14:12:17 +02:00
Ryan McKinley d918d1f5f4 Reducers: consistent result for first/last reducer shortcut (#17911)
* find the last non-null value

* also fix first

* check empty first

* remove unused import

* adding lastNotNull
2019-07-09 13:56:00 +02:00
gotjosh 332920954e SAML: Show SAML login button even if OAuth is disabled (#17993)
* Move the SAML button outside of the oauth div
* Don't attempt to search cookies with an empty name
2019-07-09 10:15:52 +01:00
Sofia Papagiannaki 78ca55f3d7 Fix: Break redirect loop if oauth_auto_login = true and OAuth login fails (#17974)
* Add tests for login view

* Fix OAuth auto login redirect loop

login_error cookie is only set when the OAuth login fails
for some reason. Therefore, the login view should return
immediately if a login_error cookie exists before trying
to login the user using OAuth again.

* Fix test

Use 'index-template' instead of 'index' for testing

* Add some comments
2019-07-09 09:37:24 +03:00
Ryan McKinley 66a4d1a57e Refactor: fix range util imports (#17988) 2019-07-08 10:12:02 -07:00
Ryan McKinley ccc3d88cee Refactor: move dom utils to @grafana/ui (#17976) 2019-07-08 10:02:16 -07:00
kay delaney 98ba3f34a6 Docs: Documents new features available with Loki data source in Explore (#17984)
* Docs: Documents new features available with Loki data source in Explore
Closes #17898

* Docs: Formats note as a quote and adds additional detail regarding live tailing
2019-07-08 17:48:47 +02:00
Martin Chodur c284a11a95 Prometheus: added time range filter to series labels query (#16851)
* fix datasource/prometheus: added time range filter to prom series labels

* fix datasource/prometheus: added missing method to test mock
2019-07-08 17:48:09 +02:00
kay delaney 246358344c Explore: Adds support for new loki 'start' and 'end' params for labels endpoint (#17512)
* Explore: Adds support for new loki 'start' and 'end' params for labels endpoint
Also initializes absoluteRange when explore is initialized
Closes #16788

* Explore: Dispatches updateTimeRangeAction instead of passing absoluteRange when initializing
Also removes dependency on sinon from loki language provider test

* Loki: Refactors transformation of absolute time range to URL params into small utility function

* Makes use of rangeToParams() util function in loki language provider test
Also updates LanguageProvider.request() interface so that url should be type string, and adds optional params argument
2019-07-08 16:14:48 +01:00
Ryan McKinley 8f5df80161 Chore: Removes custom debounce utility in favor of lodash/debounce (#17977) 2019-07-08 15:20:29 +01:00
Marcus Efraimsson 962d4daabd Api: Fix auth tokens returning wrong seenAt value (#17980)
Changes so a non-set seenAt property gets the createdAt value.

Fixes #17953
2019-07-08 14:30:02 +02:00
Ryan McKinley bdaf0aa81a Refactor: move more files to @grafana/data (#17972) 2019-07-06 09:18:23 -07:00
Ryan McKinley fcdc29746f @grafana/data: export dateMath and rangeUtil (#17971) 2019-07-05 23:43:12 -07:00
Ryan McKinley 3f15170914 Refactor: move some files to @grafana/data (#17952)
* moving to data WIP

* more refactoring

* add missing test

* mock full path

* remove sinon from grafana-ui
2019-07-06 08:05:53 +02:00
Tobias Skarhed baed5d7bd9 noImplicitAny: Azure Monitor (#17966) 2019-07-06 07:01:22 +02:00
Ryan McKinley 83366b91de grafana/toolkit: initial CI task and various small improvements (#17914) 2019-07-05 15:09:30 -07:00
Dominik Prokop 8219fdf7c0 First version of prettier checks in toolkit (#17964) 2019-07-05 12:52:51 -07:00
Oleg Gaidarenko e2cf7c9698 LDAP: finishing touches (#17945)
* LDAP:Docs: `active_sync_enabled` setting

Mention `active_sync_enabled` setting and enable it by default

* LDAP: move "disableExternalUser" method

Idea behind new design of the LDAP module is to minimise conflation
between other parts of the system, so it would decoupled as much as
possible from stuff like database, HTTP transport and etc.

Following "Do One Thing and Do It Well" Unix philosophy principal, other things
could be better fitted on the consumer side of things.

Which what this commit trying to archive

* LDAP: correct user/admin binding

The second binding was not happening, so if the admin login/password
in LDAP configuration was correct, anyone could had login as anyone using
incorrect password
2019-07-05 17:49:00 +03:00
Tobias Skarhed 88a2c6fce7 Graphite: Refactor lexer and parser (#17958) 2019-07-05 16:47:21 +02:00
Tobias Skarhed 9b468caea4 noImplicitAny: Datasource files, under 2500 (#17959)
* noImplicitAny on Graphite

* More noImplicitAny
2019-07-05 16:46:46 +02:00
Leonard Gram b67905a963 Auth: saml enabled check. (#17960) 2019-07-05 16:39:52 +02:00
Leonard Gram e574147b1e Auth: SAML login button. (#17932)
* Auth: SAML login button.

* Fixed ts issue
2019-07-05 15:24:52 +02:00
Dominik Prokop c5b6365858 grafana/toolkit: Add support for extensions styling (#17938)
* Add support for static files

* Use url-loader in single css setup

* Add postcss setup

* Expose emotion to plugins and externalise it in toolkit

* Add readme note about emotion
2019-07-05 13:33:42 +02:00
Tobias Skarhed 17b5f48cf6 Datasource: Refactor Graphite to class (#17942)
* Rewrite Graphite Datasources to class

* Graphite: removed unused prop
2019-07-05 13:26:14 +02:00
gotjosh e6b8a1529b SAML: Configuration defaults, examples and dependencies (#17954)
* Add SAML configuration options

* Add crewjam/saml as a depdency

Needed as part of the enterprise SAML integration.

* Vendor github.com/stretchr/testify/require

The package require implements the same assertions as the `assert` package but stops test execution when a test fails.
2019-07-05 11:27:14 +01:00
Alexander Zobnin 48d5a1bcd3 OAuth: deny login for disabled users (#17957) 2019-07-05 11:35:04 +02:00
Hugo Häggmark b1a0bd115c Build: Adds pre-commit check that fails if node versions are not synced (#17820)
* Build: Adds pre-commit check that fails if node versions are not synced

* Build: Throws error instead

* Minor refactoring and testing
2019-07-05 10:46:25 +02:00
Torkel Ödegaard 315177fad7 Docs: minor ha-setup edit (#17950)
* Docs: minor ha-setup edit

* Docs: minor ha-setup edit2
2019-07-05 09:13:15 +02:00
Torkel Ödegaard d1588ec455 Docs: Added very basic docs about revoking user sessions (#17931)
* Docs: Added very basic docs that mention you can log yourself and other out

* Docs: fixed spelling issue
2019-07-05 08:20:21 +02:00
kay delaney b2aa236bdf Docs: Updates documentation regarding logs integration in Explore (#17896)
Closes #17786
2019-07-05 08:18:22 +02:00
Tobias Skarhed 418dba4b21 noImplicitAnys: Fix InfluxDB type issues #17937) 2019-07-05 07:52:23 +02:00
Torkel Ödegaard de71875e6b TimePicker: align position between dashboard and explore (#17940) 2019-07-05 07:49:45 +02:00
Daniel Lee 7e95ded164 AzureMonitor: remove duplicate query logic on the frontend (#17198)
* feat: AzureMonitor implements legend key on backend

To be able to remove the duplicated query logic on the
frontend, the backend code needs to implement alias
patterns for legend keys as well as allowing the default
list of allowed time grains to be overridden. Some metrics
do not support all the time grains and the auto timegrain
calculation can be incorrect if the list is not overridden.

* feat: AzureMonitor - removes duplicate query logic on frontend

* AzureMonitor small refactoring

Extracted method and tidied up the auto time grain
code.

* azuremonitor: support for auto time grains for alerting

Converts allowed timegrains into ms and saves in dashboard json.
This makes queries for alerting with an auto time grain work in
the same way as the frontend.

* chore: typings -> implicitAny count down to 3413

* azuremonitor: add more typings
2019-07-04 22:47:24 +02:00
Tobias Skarhed 55b63905ea UserProfilePage: Fix team avatar urls #17866 (#17930) 2019-07-04 16:54:44 +02:00
kay delaney d4e9a8c009 Explore: Introduces storage keys for last used data source on per-orgId basis (#17934)
* Explore: Introduces storage keys for last used data source on per-orgId basis
Closes #17903
2019-07-04 15:31:15 +01:00
Torkel Ödegaard 57c220c93d Docs: added version notice to new ldap feature docs (#17929) 2019-07-04 14:39:11 +02:00
kay delaney 3a18098760 Explore: Restricts query text edit toggle to metrics mode (#17921)
* Explore: Adds datasource plugin config option 'modesSupportingTextEdit'
This allows one to specify which modes support toggling query text edit on and off
Closes #17904

* Explore: Restricts query text edit toggle to metrics mode
2019-07-04 14:10:44 +02:00
Dominik Prokop cf37b5439f grafana/runtime: Expose SystemJS from @grafana/runtime (#17927)
In 4281344 the loadPluginCss util was migrated to @grafana/runtime package. This made SystemJS to fail loading the css files for a plugin. Root cause was that core and runtime used different SystemJS instances.

To solve the issue, I am exposing SystemJS from @grafana/runtime package to make sure we are always using the same instance. Also, the SystemJS dependency was moved to runtime.
2019-07-04 13:32:09 +02:00
Eduard Sergeev 19ae5351fb Templating: Correctly display __text in multi-values variable after refresh (#17918)
Fixes: #17915 - Templating: __value's are displayed instead of __text's after variable is updated
2019-07-04 08:34:42 +02:00
Dominik Prokop 9f351156c3 grafana/toolkit: bundle plugins with webpack (#17850) 2019-07-03 09:25:12 -07:00
kay delaney 164fb13d99 Explore: Adds orgId to URL for sharing purposes (#17895)
Also replaces one-off segment detection functions in explore.ts with general purpose function
Closes #15462
2019-07-03 16:36:12 +01:00
Ryan McKinley 22e2ac270b grafana/toolkit: copy sass files (#17888)
include sass files in toolkit
2019-07-03 08:17:18 -07:00
Shavonn Brown 874b8abcc0 ChangePassword: Rewrite change password page to react (#17811)
* ChangePassword to React, created PasswordInput component, attempting UserProvider wrapper component, adding flex to btn row

* UserAPI interface, force classes on PasswordInput, remove api call from ChangePassword

* refactored out form

* clean up

* removed unnecessary bind, added loading state and loading component to change password form

* should be OR

* arrow funcs instead of binds, inline-block instead of flex, isSaving instead of isLoading, disabled button instead of spinner

* inline-flex on the react btn

* change state instatiatiation
2019-07-03 17:02:11 +02:00
Torkel Ödegaard b1126cb0ed AngularPanels: Fixed loading state indication for angular panels (#17900) 2019-07-03 16:58:38 +02:00
kay delaney 98147fd52b Explore: Adds support for toggling text edit mode in explore (#17870)
* Explore: Adds support for toggling text edit mode in explore
Also modifies query-row-status css to use relative position instead of absolute
Closes #16770

* Explore: Defines State interface for <QueryRow /> and removes unnecessary constructor
2019-07-03 15:42:03 +01:00
Oleg Gaidarenko 444c4d5999 LDAP: Divide the requests (#17885)
* LDAP: Divide the requests

Active Directory does indeed have a limitation with 1000 results
per search (default of course).

However, that limitation can be workaround with the pagination search feature,
meaning `pagination` number is how many times LDAP compatible server will be
requested by the client with specified amount of users (like 1000). That feature
already embeded with LDAP compatible client (including our `go-ldap`).

But slapd server has by default stricter settings. First, limitation is not 1000
but 500, second, pagination workaround presumably (information about it a bit
scarce and I still not sure on some of the details from my own testing)
cannot be workaround with pagination feature.

See
https://www.openldap.org/doc/admin24/limits.html
https://serverfault.com/questions/328671/paging-using-ldapsearch
hashicorp/vault#4162 - not sure why they were hitting the limit in
the first place, since `go-ldap` doesn't have one by default.

But, given all that, for me `ldapsearch` command with same request
as with `go-ldap` still returns more then 500 results, it can even return
as much as 10500 items (probably more).

So either there is some differences with implementation of the LDAP search
between `go-ldap` module and `ldapsearch` or I am missing a step :/.

In the wild (see serverfault link), apparently, people still hitting that
limitation even with `ldapsearch`, so it still seems to be an issue.

But, nevertheless, I'm still confused by this incoherence.

To workaround it, I divide the request by no more then
500 items per search
2019-07-03 17:39:54 +03:00
Leonard Gram 2596974cd2 Build: fixes missing shebang in release tagging script. (#17894) 2019-07-03 16:00:34 +02:00
Alexander Zobnin 3d848d0fdf Teams: show proper label for each auth provider (#17860)
* Teams: show proper label for each auth provider

Teams: don't sore AuthModule in team_member table, use JOIN to get it instead

* Teams: fix AddTeamMember after last changes

* Teams: add more auth provider labels

* Teams: show external sync badge if LDAP is not enabled

* Teams: tests for getting auth module
2019-07-03 16:52:10 +03:00
Anthony Templeton 0d2be0a7ed Logging: Login and Logout logging actions (#17760) (#17883) 2019-07-03 15:16:00 +02:00