Commit Graph

239 Commits (d49de192f00fba0a3dac974aa06c1c57e032976c)

Author SHA1 Message Date
Jade McGough c21a378629 db creation seems to be working 2017-03-22 23:21:21 -07:00
Jade McGough 523a0788f7 WIP 2017-03-22 22:21:25 -07:00
Jade McGough 15b2744a5c write db info to dbresponse 2017-03-22 13:46:30 -07:00
Jade McGough 6a4c4122bb it's working! 2017-03-22 13:27:36 -07:00
Jade McGough 19729da202 cleanup 2017-03-22 11:29:38 -07:00
Jade McGough cea9d9a8dc uuuugh 2017-03-22 04:01:55 -07:00
Jade McGough 056abde56d WIP 2017-03-22 01:40:30 -07:00
Jade McGough 36ffe0c436 dbs GET returns list of databases 2017-03-21 12:59:27 -07:00
Jade McGough e1ccda806c WIP db endpoint 2017-03-20 15:26:48 -07:00
Jade McGough b443d857ca add db and rp routes to mux.go 2017-03-20 14:23:29 -07:00
Jade McGough 4ac8d72902 link to retention policies in db response 2017-03-20 11:58:09 -07:00
Jade McGough 626b313d98 add links to retentionpolicy swagger 2017-03-20 11:52:49 -07:00
Jade McGough 5859beb603 add links to database swagger object 2017-03-20 11:48:25 -07:00
Chris Goller 02c85cd2a0 Fix reporting stats to update uptime 2017-03-17 09:59:52 -05:00
Jade McGough b9e101c831 add example for retention policy 2017-03-14 16:53:41 -07:00
Jade McGough 310f7dc7c5 fix swagger errors, add tags 2017-03-14 16:44:44 -07:00
Jade McGough 141c93bc5f db rp server endpoint objects 2017-03-14 16:05:13 -07:00
Jade McGough 460f23c0c0 first whack at db rp server endpoints 2017-03-14 15:31:57 -07:00
Jade McGough be2860af7d db rp documentation WIP 2017-03-14 14:01:28 -07:00
Andrew Watkins 81f5ca9ebb Make name not required 2017-03-13 15:15:01 -07:00
Chris Goller 01588e0e08 Add ping and detection of influxdb source types 2017-03-13 16:45:05 -05:00
Chris Goller a12fb32a2e Update user's roles validation 2017-03-10 18:06:06 -06:00
Chris Goller 9bd8a95e2a Update roles to check if role already exists 2017-03-10 17:24:52 -06:00
Chris Goller 2652a3aeb0 Add ability to update roles on a user resource 2017-03-10 16:52:24 -06:00
Chris Goller d5addb2038 Fix updating of OSS user permissions 2017-03-10 14:53:30 -06:00
Chris Goller 44aa0526ed Update user/role responses to return empty arrays 2017-03-10 13:24:48 -06:00
Chris Goller b60901e766 Add structured logging to underlying http server 2017-03-06 15:16:45 -06:00
Chris Goller 8dc012aeac Update to fix go linter issues 2017-03-06 10:11:52 -06:00
Chris Goller 33cdb383c8 Update swagger documentation for roles and users examples 2017-03-01 19:39:03 -06:00
Chris Goller 8d014e9b94 Update InfluxEnterprise users to return their roles 2017-03-01 19:13:44 -06:00
Chris Goller 27b50fde22 Update schema for /permissions endpoint to have scopes 2017-02-27 13:31:38 -06:00
Chris Goller 5dcc5213db Update source timeseries client to change if meta server is set 2017-02-24 14:48:42 -06:00
Chris Goller bbd899cecb Merge branch 'master' into feature/#54-tr-enterprise-client
Conflicts:
	bolt/internal/internal.pb.go
2017-02-24 13:02:32 -06:00
Chris Goller 275116711f Merge branch 'master' into feature/connection-info#825
Conflicts:
	CHANGELOG.md
2017-02-24 11:29:43 -06:00
Chris Goller 1839cb9885 Fix enterprise create user to add permissions 2017-02-24 01:16:28 -06:00
Chris Goller d279778f4a Enhance server logging for connection errors 2017-02-24 00:34:50 -06:00
Chris Goller 46b1a08aa5 Merge branch 'master' into feature/#54-tr-enterprise-client
Conflicts:
	Makefile
	chronograf.go
	server/routes.go
	server/users.go
2017-02-23 23:26:09 -06:00
Chris Goller a4a5b53bf5 Add roles endpoint and switching between OSS and enterprise 2017-02-23 21:54:20 -06:00
Chris Goller 2ee0008f42 Merge pull request #922 from influxdata/feature/oauth-google
Support Multiple OAuth2 Providers - Add Heroku and Google
2017-02-23 17:34:01 -06:00
Tim Raymond 38c9abc1c9 Merge branch 'master' into feature/oauth-google
Conflicts:
	server/dashboards.go
	server/server.go
	ui/.eslintrc
	ui/src/index.js
2017-02-23 18:13:39 -05:00
Jared Scheib 1a99240fd5 Merge 'master' into 751-stack_graph, resolve conflicts 2017-02-23 14:33:07 -08:00
Tim Raymond d4788c5f83 Move OAuth configuration into server/server.go
This uses a provide() function in server/server.go, to push the
necessary oauth2.Provider and oauth2.Mux into the scope of the
server.Mux. This allows the server.Mux to configure its routes without
caring which Providers are enabled, which switches/ENVs are set etc. It
configures its routes optimistically and leaves the higher-order logic
to decide whether to actually invoke the logic used by the mux to
configure routes for that provider.
2017-02-23 17:17:28 -05:00
Jared Scheib 10771838ea Add stacked and stepplot graph display options as new types to canned Docker graphs and swagger def 2017-02-23 14:08:45 -08:00
Chris Goller 5aa6a4ef2b Add roles to chronograf 2017-02-23 16:02:53 -06:00
Chris Goller 5e99657bb7 Add examples for most swagger JSON schemas 2017-02-22 12:52:55 -06:00
Chris Goller cbbee60ad6 Update swagger to include users and permissions endpoints 2017-02-22 11:35:19 -06:00
Chris Goller cc11f8831f Add dashboards PATCH for incremental update of name or cells 2017-02-22 11:08:50 -06:00
Chris Goller e1c7cd1878 Update dashboards to have a minimum width/height of 4 2017-02-22 11:05:20 -06:00
Chris Goller 72dbae043f Add tests to sources/users endpoints 2017-02-21 23:54:24 -06:00
Chris Goller 1fcdee485f Add tests for /me endpoint 2017-02-21 21:36:23 -06:00
Chris Goller 292c1b5b1e Update comments for go vet 2017-02-21 21:35:24 -06:00
Tim Raymond 3af13aa490 Add organization restriction on Heroku provider
This allows operators to permit access to Chronograf only to users belonging
to a set of specific Heroku organizations. This is controlled using the
HEROKU_ORGS env or the --heroku-organizations switch.
2017-02-21 13:09:42 -05:00
Chris Goller d1c71a1afe Fix server tests with additional links 2017-02-19 14:37:45 -06:00
Chris Goller c29b9fc3cb Add permissions endpoint to get all possible permission strings 2017-02-19 14:00:34 -06:00
Chris Goller 3eb7da2f1a Refactor Influx OSS users 2017-02-19 00:54:52 -06:00
Chris Goller 31c42c6969 Add routes for users 2017-02-17 20:47:23 -06:00
Chris Goller 8ccda8b64d Add permissions to users 2017-02-17 16:03:49 -06:00
Chris Goller 7653dfdfec Add get of all users for a data source 2017-02-17 15:13:51 -06:00
Chris Goller cdd4575b98 Add GET/POST handlers for source users 2017-02-17 14:33:10 -06:00
Chris Goller 67746b86c5 Refactor proxy into influx 2017-02-17 14:02:02 -06:00
Chris Goller 26b10dabd7 Update users to be go 1.7 compatible 2017-02-17 13:52:21 -06:00
Chris Goller 9b24351732 Refactor users and add client usersstore 2017-02-17 13:37:00 -06:00
Tim Raymond d17507a8cd Rename JWTMux to CookieMux
JWTMux was a disingenuous name because while JWTs are a very good choice
for a cookie encoding, they were not strictly required for use with this
mux. To better indicate the responsibilities of this mux, it's been
renamed "CookieMux," since its responsibilities end with persisting the
oauth2.Authenticator's encoded state in the browser. It is up to the
oauth2.Authenticator to choose the encoding.
2017-02-17 12:57:08 -05:00
Tim Raymond 0ebe675f6e Configure Mux to use Heroku OAuth2 provider
If a --token-secret, --heroku-client-id, and --heroku-secret are
provided to Chronograf, it will add Heroku as an OAuth2 provider. These
tokens can be obtained (as of this writing) by visiting your "manage
account" page, navigating to "Applications," and then clicking "Register
New API Client" under the "API Clients" section.
2017-02-16 12:56:59 -05:00
Chris Goller 2017944b68 Add unified OAuth2 logout route redirecting to provider logout
Signed-off-by: Tim Raymond <tim@timraymond.com>
2017-02-15 16:29:13 -06:00
Chris Goller 7e28642e8c Add routes for oauth providers 2017-02-15 14:07:33 -06:00
Hunter Trujillo 6d601d527f Add frontend support for OAuth changes. 2017-02-15 11:57:52 -07:00
Chris Goller 7b4a649130 Add --public-url CLI option to support google oauth redirect uri 2017-02-14 23:34:15 -06:00
Chris Goller b9b37f3b90 Add google oauth provider. Need redirect_uri 2017-02-14 23:11:11 -06:00
Chris Goller 3eb39d85a8 Remove unneeded authenticator from github 2017-02-14 23:09:34 -06:00
Tim Raymond d07c7ca1d6 Reorganize OAuth2 Logic
Created an oauth2 package which encapsulates all oauth2 providers,
utility functions, types, and interfaces. Previously some methods of the
Github provider were used as http.HandlerFuncs. These have now been
pulled into a concrete type called a JWTMux to implement other Oauth2
providers.

JWTMux has all of the functionality required to take a token from any
provider and store it as a JWT in a browser, and that is the extent of
its responsibilities. It implements the oauth2.Mux interface which would
potentially allow other strategies of oauth2 credential storage.
2017-02-14 16:18:41 -05:00
Chris Goller f1e7ae30c3 WIP 2017-02-13 18:02:43 -06:00
Chris Goller eb173a879c WIP 2017-02-13 08:45:37 -06:00
Chris Goller 442b892bc3 Fix go vet commiting of NewListener 2017-02-12 21:48:12 -06:00
Chris Goller 44c40d4c7b Add TLS w/ env vars TLS_CERTIFICATE/TLS_PRIVATE_KEY 2017-02-12 21:33:27 -06:00
Chris Goller 7c81fca497 Add HSTS handler to add headers for upcoming TLS support 2017-02-12 18:21:49 -06:00
Chris Goller 0b7e3b8fe1 Update chronograf sources response 2017-02-12 16:38:05 -06:00
Chris Goller c125c48efc Fix swagger JSON formatting 2017-02-10 13:57:12 -06:00
Chris Goller 1d9bb70414 Add disable and enable to kapacitor alerts 2017-02-10 13:48:42 -06:00
Chris Goller 13d7b8ff90 Merge pull request #859 from influxdata/feature/server-gzip
Add gzip compression to all of our server responses and caching for assets
2017-02-10 10:27:21 -06:00
Jade McGough 8cc684588e add metaURL to source 2017-02-09 23:14:04 -06:00
Jade McGough 4074698814 add metaUrl to swagger 2017-02-09 23:11:51 -06:00
Chris Goller f37bed5403 Fix url_prefixer to write asset headers 2017-02-09 17:13:34 -06:00
Chris Goller 0b8c334c9d Add gzip compression to all of our server respones 2017-02-09 14:35:38 -06:00
Chris Goller 1402a4916d Update swagger spec to include alertNodes for kapacitor 2017-02-09 00:50:59 -06:00
Chris Goller aa4b6fb689 Add kapacitor alert node structs 2017-02-08 22:18:23 -06:00
Chris Goller 7deaf845a7 Merge pull request #852 from influxdata/feature/kapacitor-detail-field
Update kapacitor alert rule to have detail field
2017-02-08 20:50:48 -06:00
Chris Goller 98198dbf5b Update kapacitor alert rule to have detail field 2017-02-07 17:09:14 -06:00
Chris Goller 2e4172ae7e Add temporary /chronograf/v1/query endpoint to parse InfluxQL 2017-02-06 09:40:05 -06:00
Chris Goller 1522dc6e4e Remove explorations from backend server 2017-02-01 15:09:02 -06:00
Chris Goller cfc3bf357f Add BASE_PATH env var to -basepath cli option 2017-01-28 10:47:30 -06:00
Chris Goller 456b02a7b3 Update dashboard swagger definition to use LayoutQuery instead of a string 2017-01-27 19:08:40 -06:00
Tim Raymond ee8b9345e9 Fix typo
Spelling is hard.
2017-01-27 19:31:57 -05:00
Tim Raymond 594c1fc587 Merge branch 'master' into feature/tr-host-under-path
Conflicts:
  - CHANGELOG.md
2017-01-27 19:30:43 -05:00
Tim Raymond 3752affedf Remove extraneous lines
One of these was from experimental work during working on this feature.
The other is just... well, extra.
2017-01-27 19:27:59 -05:00
Tim Raymond 31621b460d Make URLPrefixer use the chronograf.Logger
We have a unified structured logging package in Chronograf, and this
should use it.
2017-01-27 19:24:51 -05:00
Tim Raymond a0ba920046 Move Basepath prop to better match style
Since this is a flag that is being accepted by the application, it makes
sense to group it with the other flags. Also, the `json` struct tag was
a remnant from an earlier attempt at implementing this feature, and is
no longer necessary.
2017-01-27 19:15:56 -05:00
Tim Raymond e3186479cd Move URLPrefixer setup to mux, add default
URLPrefixer had nothing to do with assets, so it actually belongs up in
the mux, where we're assembling handlers together across the
application.

Also, the setup was painful to look at, and others will probably use the
same `Attrs`, so a `NewDefaultURLPrefixer` was added to spawn a prefixer
with only a prefix and a next handler.
2017-01-27 19:14:21 -05:00
Jade McGough e85fed1ddd Merge pull request #808 from influxdata/feature/614-dashboard-view
Feature/614 dashboard view
2017-01-27 15:49:14 -08:00
Tim Raymond 609b7a1d1a Setup front-end to work with a basepath
React-router and also the client that we use in the frontend need to be
informed on how to access the Chronograf backend when it's being hosted
on a route other than /. To accomplish this, a data attribute is written
into the `<div>` which serves as our React root. We then make the React
router aware of this if it's set and also pass the prefix to axios (our
front end HTTP client) by way of window.

Originally, it was desired to have the basepath accessible via an API,
but this proved to be impossible because to access that API, the front
end would already need to know the basepath. The technique we went with
was arrived at independently, but is also used by Jupityr notebooks
which encountered the same problem.
2017-01-27 17:00:08 -05:00