Commit Graph

49 Commits (7bb955baa3fbf670ca89c0a7204078ad091ce294)

Author SHA1 Message Date
lukevmorris ae77767c9c Allow InfluxDB and Kapacitor configuration via ENV vars or CLI options (#1129)
* Introduce Kapacitor and InfluxDB as command line options

If omitted, their values will be null at runtime. If supplied, e.g.:
  chronograf
    --kapacitor https://path.to.my:1/kapacitor/instance
    --influxdb  https://path.to.my:1/influxdb/instance
Their values will be accessible via
  Server.Kapacitor
  Server.InfluxDB

* MultiSourcesStore will hold Bolt and config’d sources

* Delegate to db.SourcesStore for now

* Add Username/Password tags for InfluxDB and Kapacitor

* Builders for MultiSourceStore and MultiLayoutStore

* Store Kapacitor and InfluxDB configs in memory

* Typo

* Update CHANGELOG

* Move StoreBuilders to server/builders.go

* Correct these assertions by reversing them

* Kapacitor -> KapacitorURL; InfluxDB -> InfluxDBURL
2017-03-30 09:48:04 -07:00
Andrew Watkins 01ec21b483 Merge pull request #1029 from influxdata/feature/db-manager
Feature/db manager
2017-03-24 10:57:12 -07:00
Jared Scheib 959b387f61 Introduce ability to edit a dashboard cell
* Correct documentation for dashboards

* Exclude .git and use 'make run-dev' in 'make continuous'

* Fix dashboard deletion bug where id serialization was wrong

* Commence creation of overlay technology, add autoRefresh props to DashboardPage

* Enhance overlay magnitude of overlay technology

* Add confirm buttons to overlay technology

* Refactor ResizeContainer to accommodate arbitrary containers

* Refactor ResizeContainer to require explicit ResizeTop and ResizeBottom for clarity

* Add markup and styles for OverlayControls

* CellEditorOverlay needs a larger minimum bottom height to accommodate more things

* Revert Visualization to not use ResizeTop or flex-box

* Remove TODO and move to issue

* Refactor CellEditorOverlay to allow selection of graph type

* Style Overlay controls, move confirm buttons to own stylesheet

* Fix toggle buttons in overlay so active is actually active

* Block user-select on a few UI items

* Update cell query shape to support Visualization and LayoutRenderer

* Code cleanup

* Repair fixture schema; update props for affected components

* Wired up selectedGraphType and activeQueryID in CellEditorOverlay

* Wire up chooseMeasurements in QueryBuilder

Pass queryActions into QueryBuilder so that DataExplorer can provide
actionCreators and CellEditorOverlay can provide functions that
modify its component state

* semicolon cleanup

* Bind all queryModifier actions to component state with a stateReducer

* Overlay Technologies™ can add and delete a query from a cell

* Semicolon cleanup

* Add conversion of InfluxQL to QueryConfig for dashboards

* Update go deps to add influxdb at af72d9b0e4ebe95be30e89b160f43eabaf0529ed

* Updated docs for dashboard query config

* Update CHANGELOG to mention InfluxQL to QueryConfig

* Make reducer’s name more specific for clarity

* Remove 'table' as graphType

* Make graph renaming prettier

* Remove duplicate DashboardQuery in swagger.json

* Fix swagger to include name and links for Cell

* Refactor CellEditorOverlay to enable graph type selection

* Add link.self to all Dashboard cells; add bolt migrations

* Make dash graph names only hover on contents

* Consolidate timeRange format patterns, clean up

* Add cell endpoints to dashboards

* Include Line + Stat in Visualization Type list

* Add cell link to dashboards

* Enable step plot and stacked graph in Visualization

* Overlay Technologies are summonable and dismissable

* OverlayTechnologies saves changes to a cell

* Convert NameableGraph to createClass for state

This was converted from a pure function to encapsulate the state of the
buttons. An attempt was made previously to store this state in Redux,
but it proved too convoluted with the current state of the reducers for
cells and dashboards. Another effort must take place to separate a cell
reducer to manage the state of an individual cell in Redux in order for
this state to be sanely kept in Redux as well.

For the time being, this state is being kept in the component for the
sake of expeditiousness, since this is needed for Dashboards to be
released. A refactor of this will occur later.

* Cells should contain a links key in server response

* Clean up console logs

* Use live data instead of a cellQuery fixture

* Update docs for dashboard creation

* DB and RP are already present in the Command field

* Fix LayoutRenderer’s understanding of query schema

* Return a new object, rather that mutate in place

* Visualization doesn’t use activeQueryID

* Selected is an object, not a string

* QueryBuilder refactored to use query index instead of query id

* CellEditorOverlay refactored to use query index instead of query id

* ConfirmButtons doesn’t need to act on an item

* Rename functions to follow convention

* Queries are no longer guaranteed to have ids

* Omit WHERE and GROUP BY clauses when saving query

* Select new query on add in OverlayTechnologies

* Add click outside to dash graph menu, style menu also

* Change context menu from ... to a caret

More consistent with the rest of the UI, better affordance

* Hide graph context menu in presentation mode

Don’t want people editing a dashboard from presentation mode

* Move graph refreshing spinner so it does not overlap with context menu

* Wire up Cell Menu to Overlay Technologies

* Correct empty dashboard type

* Refactor dashboard spec fixtures

* Test syncDashboardCell reducer

* Remove Delete button from graph dropdown menu (for now)

* Update changelog
2017-03-23 17:12:33 -07:00
Jade McGough 6a4c4122bb it's working! 2017-03-22 13:27:36 -07:00
Chris Goller 02c85cd2a0 Fix reporting stats to update uptime 2017-03-17 09:59:52 -05: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 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
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
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
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
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 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 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 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
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 e6a4635266 Make basepath configureable
/chronograf was hard-coded for developing this feature. This adds a
--basepath flag that lets users configure what the basepath will
actually be
2017-01-27 17:00:08 -05:00
gunnaraasen 58a2a82d52 Add X-Chronograf-Version header 2017-01-23 23:29:12 -08:00
Chris Goller bc3a0e1b3d Add Github organization restriction to authentication 2017-01-06 11:39:20 -06:00
Mark Rushakoff 84d28e3aad Miscellaneous lint cleanup 2016-12-20 12:59:56 -08:00
Chris Goller ad2374fbb7 Merge pull request #700 from influxdata/jz-add-uptime
Add server uptime reporting
2016-12-19 16:10:14 -06:00
Jack Zampolin 9994097ebc Address PR comments 2016-12-19 13:29:33 -08:00
Jack Zampolin 3ab2c13364 Add server uptime reporting 2016-12-19 12:09:59 -08:00
Jade McGough 00f66e7593 fix bugs 2016-12-15 11:27:06 -08:00
Jade McGough 37f7ba5c68 shorten TCPKeepAlive length 2016-12-07 15:17:27 -08:00
Will Piers f3cdf81ab5 Return 418 when auth is turned off 2016-11-21 14:20:33 -07:00
Will Piers d3da8998e8 Add users endpoints/storage plus me endpoint 2016-11-21 14:19:57 -07:00
Chris Goller b63047a402 Add server error logging 2016-11-19 11:41:06 -06:00
gunnaraasen 97a3e0e939 Update reporting tag to use chronograf-ng 2016-11-16 15:25:12 -08:00
Chris Goller 6a167f2a05 Fix layouts to enforce uniqueness 2016-11-14 22:25:38 -06:00
Chris Goller bfb5fcbe02 Revert bin layouts for now 2016-11-14 22:17:09 -06:00
Chris Goller b6a0d7c5cc Add layouts as bindata in case chronograf run as a single-file binary
Using my existing layout chaining, I added layouts wrapped in
go-bindata as the last option for loading layouts.  This means
that the data store is preferred over file system over bindata.

With this functionality, we can simply distribute the single-file
binary.
2016-11-14 19:07:38 -06:00
Chris Goller 07ffedc058 Fix logger panic and put logging of queries into debug 2016-11-12 17:48:49 -06:00
gunnaraasen 8d57cc92ec Add version option 2016-11-09 13:25:07 -08:00
Ross McDonald 483c999200 Minor changes to packaging:
* Change default host from localhost to 0.0.0.0.

* Modify default database name to `chronograf-v1.db`.

* Change default port from 10000 to 8888.
2016-11-08 08:34:03 -06:00
Chris Goller 93b249cc09 Update default cli options to be 0.0.0.0 and 8888 2016-11-07 20:50:06 -06:00
Chris Goller 3bdcb2c578 Merge pull request #387 from influxdata/remove-mrfusion
Remove mrfusion name from source
2016-11-07 11:33:23 -06:00
Chris Goller 16c14521df Merge pull request #386 from influxdata/update-cli-options
Update cli options
2016-11-07 11:29:05 -06:00
Chris Goller ee82586ded Remove mrfusion name from source 2016-11-07 11:22:23 -06:00
Chris Goller 680f3ef68c Update cli/env options to use port 10000 and remove TLS for now 2016-11-07 11:09:51 -06:00
Chris Goller 7096e2ee70 Update layouts to not use UUIDs in name and only use filesystem 2016-11-07 10:10:26 -06:00
Chris Goller dd6da581df Update to store alert information in boltdb 2016-11-03 19:52:13 -05:00
gunnaraasen 39d21014dc Add usage stats reporting 2016-10-28 14:34:55 -07:00
Chris Goller d6a067427b Fix mux paths to be hardcoded; clarify server start; fix golint 2016-10-28 11:27:06 -05:00
Chris Goller d1359c09b3 Refactor to remove autogenerated code. 2016-10-26 22:10:52 -05:00