Commit Graph

269 Commits (3844f26f6216c8f6217f90ed6eedaf2eac7bbb6a)

Author SHA1 Message Date
Alex P 43db95f2cc Allow users to toggle between coloring text or background with single stat thresholds 2017-12-14 19:07:19 -08:00
Jared Scheib f23075cbc4 Rename superAdminFirstUserOnly to superAdminNewUsers & flip default logic accordingly
Signed-off-by: Michael de Sa <mjdesa@gmail.com>
2017-12-13 14:49:49 -08:00
Michael Desa d875757ce3 Add bolt implementation of chronograf.ConfigStore 2017-12-13 10:38:01 -08:00
Michael de Sa fcd25ad580 Implement Config GET service method
Signed-off-by: Jared Scheib <jared.scheib@gmail.com>
2017-12-12 17:06:57 -08:00
Deniz Kusefoglu c2b356b1c5
Merge branch 'master' into multiple-event-handlers 2017-12-08 12:20:40 -08:00
Jared Scheib 482a4de6c1 Merge branch 'master' into multitenancy 2017-12-06 19:05:16 -08:00
Jared Scheib bbe1330cbf Merge branch 'multitenancy' into multitenancy_reset_current_org 2017-12-05 18:47:05 -08:00
Deniz Kusefoglu ace69cc49b
Merge branch 'master' into multiple-event-handlers 2017-12-05 16:18:01 -08:00
Jared Scheib 808163fe69 Merge branch 'multitenancy' into multitenancy_fix_layouts 2017-12-05 16:03:05 -08:00
Michael Desa 161081fcba Remove Organization field from layouts 2017-12-05 17:28:33 -05:00
Jared Scheib 987d462de3 Merge branch 'multitenancy' into multitenancy_reset_current_org 2017-12-05 13:37:46 -08:00
Jared Scheib 93f11e1325 Merge remote-tracking branch 'origin/master' into multitenancy 2017-12-05 11:43:23 -08:00
Jared Scheib e64c072388
Merge pull request #2435 from influxdata/multitenancy_prevent_bad_add_org_user
Prevent unintended update of existing user on Add; fix duplicate User & Org creation client UX
2017-12-04 14:15:27 -08:00
Jared Scheib 7eed603bf7 Change ErrOrganizationNameTaken to ErrOrganizationAlreadyExists for consistency 2017-11-30 20:12:00 -08:00
Jared Scheib f8920cf39b
Merge branch 'multitenancy' into multitenancy_reset_current_org 2017-11-30 19:07:40 -08:00
deniz kusefoglu 00dca72f19 Rename AlertHandlers to AlertNodes 2017-11-30 16:16:44 -08:00
Chris Goller f9ce2da57f Update alert rules to remove Alert and AlertNode
Signed-off-by: Deniz Kusefoglu <denizk@gmail.com>
2017-11-30 16:32:47 -06:00
Chris Goller cee9904742 Add kapacitor alert handler definitions 2017-11-30 16:32:47 -06:00
Michael Desa e27936ee69 Add Num to UsersStore interface 2017-11-30 12:55:59 -05:00
Michael Desa 9ef1e57934 Unscope sources by role
Previously, as a misunderstanding of
https://github.com/influxdata/chronograf/issues/1915 we allowed
sources to be scoped by role within an organization. This was incorrect.
We no longer user the roles implementation of a chronograf.SourcesStore
and just use the organizations store.

We've left the code around a roles SourcesStore in place, since it may
be useful to us in the future. It may be worth removing if it is
determined that this behavior is not desirable.
2017-11-29 17:32:41 -05:00
Chris Goller 6564712e9d Merge branch 'master' into gauge-cell-type
Conflicts:
	bolt/internal/internal.pb.go
	bolt/internal/internal.proto
	server/cells.go
2017-11-27 16:08:42 -06:00
Andrew Watkins 208575b0cf Format TimeShift struct property descriptions 2017-11-21 10:37:07 -08:00
Chris Goller 1d11677c5f Add colors to all cells 2017-11-21 12:16:23 -06:00
Jared Scheib f38b80a30d Merge branch 'master' into multitenancy 2017-11-14 00:05:18 -08:00
Luke Morris 43338cbdcb Reuse chronograf.Organization type 2017-11-10 18:31:30 -08:00
Luke Morris 31277c432c Rename whitelistOnly => public 2017-11-10 18:23:41 -08:00
Michael Desa dc1ee40bc6 Add WhitelistOnly to organizations
Fix adding default role to organization
2017-11-10 15:57:48 -05:00
Andrew Watkins 6093ddc52f WIP Add shifts to queryConifg on backend 2017-11-10 11:06:48 -08:00
Michael Desa 12facba297 Ensure users name, provider, and scheme are unique 2017-11-10 12:29:17 -05:00
Chris Goller 349dd12f20 Refactor and simplify auto group by (:interval:) template variable 2017-11-09 10:02:24 -08:00
Chris Goller eb82ec4131 Refactor and simplify auto group by (:interval:) template variable 2017-11-08 11:27:35 -06:00
Michael Desa cbbf9d96d7 Add comments suggested from PR review
Add tests to server/stores_test.go
2017-11-07 13:59:40 -05:00
Michael Desa 8e9037e081 Add Role to chronograf.Source 2017-11-06 11:24:10 -05:00
Michael Desa 3370774e8f Add default org logic to OrganizationsStore
Update resource handlers to appropriate consume default organization IDs
2017-11-06 10:14:12 -05:00
Michael Desa a7ddb15c5c Add comment to default role in chronograf.go 2017-11-06 09:46:00 -05:00
Michael Desa 45f1410fd6 Add default role to chronograf.Organization 2017-11-06 09:46:00 -05:00
Michael Desa 6f72d72fca Fix over-stringification of organization on roles 2017-11-02 21:52:30 -04:00
Michael Desa 14beabb6fd
Merge pull request #2215 from influxdata/multitenancy_add_orgs_to_me
Add CurrentOrganization & Organizations to me resp
2017-11-02 15:38:49 -04:00
Michael Desa ac3a175c75 Ensure uniqueness of organization names in bolt 2017-11-02 13:04:41 -04:00
Michael Desa da1fa2141b Add CurrentOrganization & Organizations to me resp
Remove CurrentOrganization from chronograf.User
2017-11-02 11:59:53 -04:00
Michael Desa 6fbfde5060 Add comments throughout codebase 2017-11-01 12:30:42 -04:00
Michael Desa 391bd189c1 Add support for super admin 2017-10-31 18:27:24 -04:00
Michael Desa 20c61a76e4 Change OrganizationID to Organization in Roles
Fix formatting of proto file
2017-10-30 12:28:57 -04:00
Jared Scheib 5bed2cfc4f Merge remote-tracking branch 'origin/multitenancy' into multitenancy_orgs
Signed-off-by: Michael de Sa <mjdesa@gmail.com>
2017-10-26 18:21:30 -04:00
Michael Desa bf6c77ee5f Provide route to change current users organization
Add current Organization to JWT.
Use OrganizationUsersStore to retrieve Users that are not me.

Signed-off-by: Michael de Sa <mjdesa@gmail.com>
2017-10-26 18:06:52 -04:00
Nathan Haugo a1ea2c058e Merge pull request #2140 from influxdata/feature/kapa-insecure
Add insecure ssl support to connect to kapacitor
2017-10-26 10:40:28 -04:00
Jared Scheib 68e08b979f Update Organization comments on resources
Remove `omitempty` on Organization field

Signed-off-by: Michael de Sa <mjdesa@gmail.com>
2017-10-25 14:56:08 -04:00
Michael de Sa bea78d0c84 Remove Organization from bolt Stores
Previously, each store depended on having an organization set on the
implentation of a store. This was used to segment different
organizations into different buckets. This PR undoes that work.

Signed-off-by: Jared Scheib <jared.scheib@gmail.com>
2017-10-25 14:29:14 -04:00
Michael Desa a6d565fd7c Add Organizations to Dashboards 2017-10-25 14:00:06 -04:00
Michael Desa eca0be45e2 Add Organization to layouts 2017-10-25 12:52:56 -04:00
Michael Desa 89fef060b7 Add Organization to chronograf.Server 2017-10-25 12:42:50 -04:00
Michael Desa 7b21a6b970 Add Organization to Sources 2017-10-25 11:51:15 -04:00
Jared Scheib 7fce5fe0fc Merge branch 'master' into multitenancy 2017-10-24 17:58:15 -07:00
Jared Scheib 30b8d3cdca Make all Store names plural for consistency 2017-10-24 15:54:24 -07:00
Michael Desa 571ac39154 Add OrganizationUsersStore
bolt/organization_users_store contains a boltdb implementation of a
chronograf.UsersStore that filters the results based on the organization
that is set on the context.

Signed-off-by: Jared Scheib <jared.scheib@gmail.com>
2017-10-24 13:29:46 -04:00
Andrew Watkins 26e03d4fb2 Merge pull request #2128 from influxdata/feature/qc-v2-alias
FEATURE:  queryConfig v2 && custom field alias persistence
2017-10-20 20:32:33 -07:00
Michael de Sa 9a8e96378a Nest resources under Organizations
For each organization, we create a set of buckets for each associated
resource (sources, servers, layouts, and dashbaords).

The bucket name is the path join of the resource bucket name and the
oranizations name. If the organizations name is empty, then the bucket
name is the resource bucket name (this is backwards compatible with how
resources are currently stored).

Signed-off-by: Jared Scheib <jared.scheib@gmail.com>
2017-10-20 13:50:19 -04:00
Michael Desa 2d8d2dcee7 Implement basic bolt OrganizationsStore 2017-10-20 11:13:13 -04:00
Michael de Sa 08cf76ea2b Define Organization and OrganizationsStore
Signed-off-by: Jared Scheib <jared.scheib@gmail.com>
2017-10-20 10:10:38 -04:00
Chris Goller 4b12179b02 Add insecure ssl support to connect to kapacitor 2017-10-19 22:48:31 -05:00
Jared Scheib c994e8c5ac Set Scheme to be OAuth2 explicitly for all users
Add Provider to Users authenticated via /me

Signed-off-by: Michael de Sa <mjdesa@gmail.com>
2017-10-19 14:32:33 -05:00
Michael Desa 34414df016 Fix wrong authorization level on selected routes
Fix leaking of username on failed authorization

Add comment to chronograf.UserQuery

Fix logic in hasPrivilege method
2017-10-18 15:45:06 -04:00
Michael Desa 0d235f646d Generalize chronograf.UsersStore Get method
The `Get` method on the UsersStore was generalize by changing the second
parameter to a struct. This allows the Store to retrieve users by more
than simply their name.

-Get(ctx context.Context, name string) (*User, error)
+Get(ctx context.Context, q UserQuery) (*User, error)
2017-10-18 14:17:42 -04:00
Chris Goller b5446a633f Update upper bound relative duration template expansion of :interval: 2017-10-17 14:26:26 -05:00
Nathan Haugo fe62e9fdb4 Remove debugging lines and add case for less than 1 ms 2017-10-16 16:23:22 -05:00
Nathan Haugo 608d11e143 Made changes due to review 2017-10-16 16:15:12 -05:00
Chris Goller 14e49c0ef9 Rename queryConfig field to Value and support top/bottom 2017-10-16 10:56:12 -05:00
Nathan Haugo 9911e1f769 Add support for millisecond groupbys 2017-10-11 13:14:44 -07:00
Chris Goller 0d3762e272 WIP supporting integers/floats for influxql arguments 2017-10-11 14:45:01 -05:00
Chris Goller a5d28c3eca Update queryConfig arguments to be optional in JSON response 2017-10-10 23:32:08 -05:00
Chris Goller 7f3986f982 Refactor query config field arguments to be fields 2017-10-10 18:04:45 -05:00
Chris Goller 5f4ce64a11 Refactor queryConfig to have field aliases and function arguments 2017-10-10 17:01:50 -05:00
Jared Scheib 35d6f0b8c3 Use string IDs in JSON res and req for Users
Signed-off-by: Michael de Sa <mjdesa@gmail.com>
2017-10-10 12:27:55 -07:00
Jared Scheib 37183d871c Implement CRUD routes & operations for Chronograf User
Move source Users code into source_users and source_users_test files.
Use the UsersStore for both InfluxDB and Chronograf users.

Signed-off-by: Michael de Sa <mjdesa@gmail.com>
2017-10-09 14:16:24 -07:00
Nathan Haugo a45fe13e47 Remove debugging artifacts 2017-10-04 12:51:58 -07:00
Nathan Haugo a3c88e28b1 Merge branch 'master' into feature/port-1.3.8.x-pixel 2017-10-04 12:47:23 -07:00
Nathan Haugo e519759729 Fix tests for the updated group by time logic 2017-10-03 16:31:51 -07:00
Nathan Haugo f5ae39cde3 Port changes from 1.3.8.x for pixels per graph to master 2017-10-03 15:53:33 -07:00
Chris Goller 486a5bfb33 Update dashboard cells to have optional data source URI. 2017-10-02 12:50:42 -07:00
Chris Goller a28d3d6466 Update kapacitor AlertRule to containe most Kapacitor Task information 2017-09-09 10:19:52 -05:00
Jared Scheib c785698660 Add Fill prop to chronograf queryConfig 2017-09-05 18:40:40 -04:00
Tim Raymond beda5854c9 Update commenting on new axis options
Existing comments were deemed unclear or inconsistent with convention.
2017-08-24 15:59:46 -07:00
Tim Raymond 98c116114c Add Scale attribute to Cell Axis
This allows clients to specify the magnitude of numbers found on a
particular axis.
2017-08-24 15:59:42 -07:00
Tim Raymond 4a34351b15 Add Prefix, Suffix, and Base to Axes
We would like to add additional user-configurable options to the display
of axes on Dashboards. This adds three fields to expand settings that
the frontend can persist through the API.

One field of interest here is the "Base" field which controls when and
how axes transition the display of values such as bytes, kilobytes,
megabytes, etc. By default, it's returned from the API as "10" to
indicate decimal, but can be set to anything the frontend wishes--the
immediate differing value will be "2" for the aforementioned use case.
2017-08-24 15:59:41 -07:00
Tim Raymond 10497abb2c
Add nanosecond precision to :interval: calc
The UI for selecting time ranges produces nanosecond-precision times
for the template variables in the absolute time range. The regex for
absolute time ranges previously did not account for this precision,
which caused it to break.

This updates the regex to consider the nanosecond parts of an
RFC3339Nano timestamp and updates the associated tests. The Gobular link
has also been updated to a fresh playground used to debug this issue.
2017-08-24 11:37:25 -04:00
Timothy J. Raymond 50a05c7f6e Merge pull request #1859 from influxdata/feature/tr-layout-cell-axes
Add Axes to Layout Cells
2017-08-16 16:45:26 -04:00
Tim Raymond 2f63c1222e
Add Axes to Cells on Layouts
This allows a creator of a layout to specify the visible extents of
graphs for individual cells. For example, a cell displaying a
percentage could be limited to values between 0 and 100.

Existing canned layouts need to updated as a separate step. However,
this adds support for Axes to appear in them as well.
2017-08-10 13:52:43 -07:00
Tim Raymond 57e26abfe8
Add absolute time range support to :interval:
Previously, users of the :interval: macro were restricted to using a
relative time range in their queries, or the :dashboardTime: macro. This
permits users to also supply an absolute time range in the form of:

time > '2017-01-01T00:00:00Z' and time < '2017-06-01T00:00:00Z'
2017-08-08 11:09:51 -07:00
Tim Raymond b4a4fd6c9c Remove omitempty from Axis Label
If the key is always present in the response, it's easier for the front
end to perform tests on contents of its key.
2017-08-02 13:08:33 -04:00
Tim Raymond 63cddc96e4 Merge branch 'master' into feature/1602-graph-bounds-setting
Also removed LegacyBounds marshaling since it was no longer necessary

Conflicts resolved:
	bolt/internal/internal.go
	bolt/internal/internal.pb.go
	bolt/internal/internal.proto
	bolt/internal/internal_test.go
	chronograf.go
	server/cells_test.go
	server/dashboards_test.go
	server/swagger.json
2017-08-02 11:29:29 -04:00
Tim Raymond 89c0d84a8d
Add Label to DashboardCell Axis
It's useful for the frontend to be able to specify a label on a
particular axis. This adds a property to Axis to facilitate that.
2017-08-02 11:12:47 -04:00
Tim Raymond 0a042e2e0f
Convert Axis Bounds to []string
Due to various limitations with the previous implementation of Bounds as
a [2]int64{}, we've decided to change this to a []string{}. This will
allow clients to store arbitrary data specifying a bound and interpret
it as they wish.
2017-07-31 16:35:53 -04:00
Tim Raymond 2684d73d07 Enforce only "x", "y", and "y2" axes
For the forseeable future, we will only be using the "x", "y", and "y2"
axes, even though the underlying serialization can support arbitrary
axes (for the future).

This ensures that only "x", "y", and "y2" axes are present and updates
the Swagger docs to reflect that fact
2017-07-24 14:06:15 -04:00
Tim Raymond bab3c7fa6a s/DashboardRange/Axis, format protobufs, 64-bit
"Axis" is a more consistent and appropriate name. Also, the formatting
the protobufs was all over the place, so this has been made consistent
using a first-column \t. Furthermore, a vim modeline was added to the
bottom to make it easier for editors to autoconfigure themselves to the
right format, since protobufs are not something that we edit everyday.

Also, 32-bit values have been substituted for 64-bit values in Protobuf
definitions.
2017-07-24 14:03:48 -04:00
Tim Raymond 068d0b1383 Add Axes to Dashboard Cells
The frontend would like to store viewport information for each cell so
that visualizations are zoomed to the proper extents upon rendering.
This adds a property to cells called "axes" which takes the following
shape:

```
{
   "axes" : {
      "y" : {
         "bounds" : [
            0,
            2
         ]
      },
      "y2" : {
         "bounds" : [
            1,
            3
         ]
      }
   }
}
```

Bounds specify the visible range for the axis, and are a 2-tuple of the
form [lower, upper]. Bounds are not implicitly inclusive or
exclusive--that determination is left for clients to make. Also, there
are no restrictions on the naming of axes.
2017-07-24 13:45:28 -04:00
Tim Raymond ead7c103ba
Enforce only "x", "y", and "y2" axes
For the forseeable future, we will only be using the "x", "y", and "y2"
axes, even though the underlying serialization can support arbitrary
axes (for the future).

This ensures that only "x", "y", and "y2" axes are present and updates
the Swagger docs to reflect that fact
2017-07-21 12:09:49 -04:00
Tim Raymond b5f2bea66f
s/DashboardRange/Axis, format protobufs, 64-bit
"Axis" is a more consistent and appropriate name. Also, the formatting
the protobufs was all over the place, so this has been made consistent
using a first-column \t. Furthermore, a vim modeline was added to the
bottom to make it easier for editors to autoconfigure themselves to the
right format, since protobufs are not something that we edit everyday.

Also, 32-bit values have been substituted for 64-bit values in Protobuf
definitions.
2017-07-20 14:42:51 -04:00
Tim Raymond e513e61481
Add Axes to Dashboard Cells
The frontend would like to store viewport information for each cell so
that visualizations are zoomed to the proper extents upon rendering.
This adds a property to cells called "axes" which takes the following
shape:

```
{
   "axes" : {
      "y" : {
         "bounds" : [
            0,
            2
         ]
      },
      "y2" : {
         "bounds" : [
            1,
            3
         ]
      }
   }
}
```

Bounds specify the visible range for the axis, and are a 2-tuple of the
form [lower, upper]. Bounds are not implicitly inclusive or
exclusive--that determination is left for clients to make. Also, there
are no restrictions on the naming of axes.
2017-07-19 10:46:32 -04:00
Chris Goller c2adec4709 Add JWT shared secret influxdb auth
Refactor --new-sources to simplify adding shared secrets
2017-07-19 01:39:06 -05:00
Hunter Trujillo 479bc5c80a Merge branch 'master' into feature/1482-custom-time-range
# Conflicts:
#	ui/src/style/pages/dashboards.scss
2017-07-10 16:09:14 -06:00