Commit Graph

118 Commits (e0353f48e0fa2a5165ca39451447bdf20e8830f1)

Author SHA1 Message Date
Nathaniel Cook 6a48f13577 Merged pull request #826 from influxdata/nc-repl-http
fix: Update REPL to use HTTP API
2018-09-14 16:21:28 -06:00
Kelvin Wang f636c52fa5 feat(scraper): add scraper lib 2018-09-14 16:59:18 -04:00
Kelvin Wang ae31bebad5 first commit 2018-09-14 16:58:11 -04:00
Christopher Henn 00b61c948b Implement macros API 2018-09-14 13:45:42 -07:00
Nathaniel Cook d65a864ec5 fix: Update REPL to use HTTP API 2018-09-14 14:03:35 -06:00
Jade McGough 0b70dc99c4
don't store references to internal buckets (#789)
* add types to bucket service tests

* add type to bucket cmd interface

* bucket type needs to be defined in json for POST creations

* rip out bucket type stuff

* remove type from bucket tests

* add InternalBucketID helper fn

* remove more code

* remove org from internal bucket ID
2018-09-14 09:26:59 -07:00
Chris Goller 9673a425ec feat(http): add flux AST and Spec endpoints to fluxd 2018-09-13 23:01:07 -05:00
Nathaniel Cook 672e2d5fe7 chore: Updates to be able to remove platform as a dependency of Flux 2018-09-12 10:18:54 -06:00
Stuart Carnie ac75af2f58 refactor: Migrate query package to influxdata/flux repository 2018-09-06 11:13:48 -07:00
Chris Goller b48fad0c4e
Merge pull request #771 from influxdata/feature/query
feat(http): add flux endpoint /v2/query influx
2018-09-06 11:27:54 -05:00
Jade McGough cd30e5a820
add internal system buckets for orgs (#652)
feat(bolt): add internal system buckets for orgs
2018-09-06 09:19:58 -07:00
Chris Goller 37bd273acd feat(http): add flux endpoint /v2/query influx 2018-09-04 16:08:00 -05:00
Chris Goller 0ecb5aaefc chore(cmd/influxd): rename idpd to influxd 2018-08-31 12:52:40 -05:00
Nathaniel Cook 46a32e874c chore: Update 'from' to match spec
Removes the `db` parameter and used only bucket and bucketID.
2018-08-30 14:51:51 -06:00
Jade McGough b39ba889e4
feat(http): add write path (#682)
feat(http): Add write path with embedded NATS streaming server
2018-08-29 16:15:39 -07:00
Chris Goller 40e56333e1 refactor(http): update authorization to use active/inactive status 2018-08-29 13:07:39 -05:00
Chris Goller d3afb82323 feat(cmd/influx): add enable/disable from influx cli tool 2018-08-29 13:07:39 -05:00
Michael Desa 45233d939a feat(platform): add uniform query endpoint for sources
Using query request struct to query resources

Signed-off-by: Lorenzo Fontana <lo@linux.com>

Use query.ProxyRequest instead query.Request

Signed-off-by: Lorenzo Fontana <lo@linux.com>

Proxy request from idpd

Signed-off-by: Lorenzo Fontana <lo@linux.com>

Comments about the desired results

Signed-off-by: Lorenzo Fontana <lo@linux.com>

V1 endpoints working with flux

Signed-off-by: Lorenzo Fontana <lo@linux.com>

Influxql working for v1

Signed-off-by: Lorenzo Fontana <lo@linux.com>
Co-authored-by: Michael De Sa <mjdesa@gmail.com>

V2 influxql query endpoint working

Signed-off-by: Lorenzo Fontana <lo@linux.com>
Co-authored-by: Michael De Sa <mjdesa@gmail.com>
Signed-off-by: Lorenzo Fontana <lo@linux.com>

V2 Flux compiler support

Co-authored-by: Michael De Sa <mjdesa@gmail.com>
Signed-off-by: Lorenzo Fontana <lo@linux.com>

Improve comments in bolt sources and give error on self

Signed-off-by: Lorenzo Fontana <lo@linux.com>
Co-authored-by: Michael De Sa <mjdesa@gmail.com>

Review tests failing

Signed-off-by: Lorenzo Fontana <lo@linux.com>
Co-authored-by: Michael De Sa <mjdesa@gmail.com>

Avoid type casts for compiler types

Signed-off-by: Lorenzo Fontana <lo@linux.com>
Co-authored-by: Michael De Sa <mjdesa@gmail.com>

Using nil instead of dbrp mapping service for influxql v1

Signed-off-by: Lorenzo Fontana <lo@linux.com>

Check if compiler types are valid for influxql

Signed-off-by: Lorenzo Fontana <lo@linux.com>

Organization as query param in the flux external handler

Signed-off-by: Lorenzo Fontana <lo@linux.com>

feat(http): update swagger documentation for flux query endpoint

feat(http): document query endpoint design

The code documented does not currently work. It is indended that this
will be implemented in follow up PRs.

feat(platform): move source to platform package

The source Query endpoint implements what's in the query swagger docs

Signed-off-by: Lorenzo Fontana <lo@linux.com>
Co-authored-by: Michael De Sa <mjdesa@gmail.com>

feat(platform): allow for encoding and decoding of csv dialects

feat(platform): specify dialect in flux page

Co-authored-by: Andrew Watkins <andrew.watkinz@gmail.com>
Co-authored-by: Michael Desa <mjdesa@gmail.com>
2018-08-28 15:53:20 -04:00
Michael Desa 8bc2d33b78 feat(platform): move chronogaf v2 dashboards to platform
test(testing): add tests for dashboards and cells

test(bolt): all conformance tests for dashbaords and cells

fix(bolt): rename dashboardV2Bucket to dashboardBucket

feat(chronograf): introduce v2 dashboards

Co-authored-by: Andrew Watkins <andrew.watkinz@gmail.com>
Co-authored-by: Michael Desa <mjdesa@gmail.com>

chore(chronograf): add tests for v2 dashboard reducer

Co-authored-by: Andrew Watkins <andrew.watkinz@gmail.com>
Co-authored-by: Michael Desa <mjdesa@gmail.com>

chore(chronograf): create dashboard from dashboard index

Co-authored-by: Andrew Watkins <andrew.watkinz@gmail.com>
Co-authored-by: Michael Desa <mjdesa@gmail.com>

chore(chronograf): move tests to same level of heirarchy as file tested

chronograf(chore): implement import dashboard with v2 api

chore(chronograf): delete dashboards from v2 api

chore(chronograf): add source health handler

chore(chronograf): move sources reducer to sources dir

chore(chronograf): remove stutter in notify

WIP stop namespacing by sourceID

chore(chronograf): no longer namespace routes under sources/:sourceID

WIP move dashtimeV1 to ranges

WIP remove CEO

chrore(chronograf): WIP Remove CEO and QueryMaker

chore(chronograf): introduce updateDashboard v2

chore(chronograf): Change cell to view

A dashboard's cell object now only contains positional information
for the cell in it's grid and a reference to the cell's view data.
A cell's view contains all necessary information for the cell's
visualization.

Add react-grid-layout types

chore(chronograf): introduce add cell

chore(chronograf): fix type errors

Not on DashboardPage

feat(platform): add cell methods to dashboard service interface

feat(mock): update dashboard service with cell methods

feat(testing): add cell methods to testing package

feat(bolt): add dashboard cell methods to bolt dashbaord service

feat(http): add cell routes to dashbaord handler

feat(platform): add dependent create/destroy of views from cells

chore(chronograf): introduce update dashboard cells endpoint

WIP update cells FE

fix(http): rename Cells to cells on dashboard cells response

chore(chronograf): re-introduce dashboard cell dragging

feat(platform): add copy dashboard cell to dashboard service

chore(platform): rename cell to view across codebase

feat(bolt): add replace dashboard tests

Move Layouts to Cells

Introduce delete cell

Fix broken test

fix(platform): update route for copying a a dashboard cell

UI for delete cell

Introduce copy cell

feat(platform): add copy view options to AddDashboardCell

feat(bolt): delete views when dashboard is removed.

Cleanup

Fix type errors

Fix links not updating

Remove annotations from RefreshingGraph

Sources and types work

fix(platform): add TODO.go files back

fix(view): rename visualizationType to type in view JSON

Co-authored-by: Deniz Kusefoglu <deniz@influxdata.com>
Co-authored-by: Michael Desa <mjdesa@gmail.com>

fix(dashboardTime): change dashboardID to string

Co-authored-by: Deniz Kusefoglu <deniz@influxdata.com>
Co-authored-by: Michael Desa <mjdesa@gmail.com>

feat(http): add dashboard api to swagger documentation

review(http): fix comments and function naming

feat(http): update sources swagger documentation

review(http): update the swagger to reflect the implementation

feat(platform): add usingView options to POST /dashboard/:id/cells
2018-08-24 13:22:58 -04:00
Lyon Hill f718b9cdca
feat(task): create validation layer for TaskService (#591)
* feat(task): create validation layer for TaskService
2018-08-20 15:15:04 -06:00
Nathaniel Cook 0654b3cc81 Merged pull request #649 from influxdata/nc-log-traces
feat: Add zap opentracing.Tracer
2018-08-16 14:37:16 -06:00
Nathaniel Cook f6923881f7 feat: Add zap opentracing.Tracer
Propogate opentracing spans through HTTP requests.
Use zap logger to log each span as it is finished.
2018-08-16 14:32:04 -06:00
Jonathan A. Sternberg d1a01acb74 feat(cmd/fluxd): pass the logger to the query controller 2018-08-15 16:14:41 -05:00
Nathaniel Cook 7985d5dd58 update Flux metrics docs 2018-08-14 11:41:02 -06:00
Michael Desa 7b10d5e844
Merge pull request #536 from influxdata/feature/query-v1-sources
Support flux page in platform
2018-08-10 10:24:25 -04:00
Nathaniel Cook 5bde0b5be6 fix: Update query services to use Request type
Moves idpe.QueryService into platform/query.ProxyQueryService
Splits the Request into ProxyRequest and Request.

Changes query.QueryService and query.AsyncQueryService to use a Request
type. This means that the Compiler interface is consumed by the service
to abstract out transpilation vs Flux compilation vs raw spec.

The transpiler handler is removed.

There are separate http handlers and service implementations for each of
the three query services.

Query logging types are moved into platform.

The ResultIterator now expects Cancel to always be called.

The fluxd binary exposes the query endpoint specified in the swagger
file.
2018-08-08 15:31:35 -06:00
Michael Desa abc20e5e05 feat(platform): add chronograf language server to platform binary
Co-authored-by: Andrew Watkins <andrew.watkinz@gmail.com>
Co-authored-by: Michael Desa <mjdesa@gmail.com>
2018-08-08 09:37:37 -07:00
Lyon Hill 212210eaec make necessary changes 2018-08-07 16:51:33 -06:00
Lyon Hill 02d1b6507b feat(task): connect the api to tasks
We need a coordination layer to facilitate the communication in the api to the task service.
The api was also not connected in main to the http service.
2018-08-07 15:53:17 -06:00
Michael Desa 46e1f4c475 feat(cmd/idpd): use bolt source handler in idpd
Co-authored-by: Andrew Watkins <andrew.watkinz@gmail.com>
Co-authored-by: Michael Desa <mjdesa@gmail.com>
2018-08-07 10:45:13 -04:00
Michael Desa 8c87c9d132 revert #442 2018-08-01 14:54:32 -04:00
Leonardo Di Donato 5addb88eb5 MustIDFromString no more requires test instance
It panics now.
2018-08-01 18:20:59 +02:00
Leonardo Di Donato 3191de776d Refactoring code using platform.IDs
Signed-off-by: Leonardo Di Donato <leodidonato@gmail.com>
2018-08-01 18:20:59 +02:00
Leonardo Di Donato 711d4a3f33 Refactoring main package 2018-08-01 18:20:59 +02:00
Nathaniel Cook 1ef9de6aed feat: Add optional http logging to handler 2018-07-30 16:16:37 -06:00
Michael Desa cfe907e8f5 feat(chronograf): all chronograf api handler to platform 2018-07-24 15:55:49 -04:00
Michael Desa 91253bb61c feat(cmd/idpd): use chronograf asset handler in idpd command
Co-authored-by: Michael Desa <mjdesa@gmail.com>
Co-authored-by: Andrew Watkins <andrew.watkinz@gmail.com>
2018-07-24 14:13:53 -04:00
Nathaniel Cook d568d7fd01 feat: Use DBRPMappings in 1.x read path 2018-07-18 09:46:57 -06:00
Mark Rushakoff a1bf6856fc chore(http): integrate with prom.Registry 2018-07-11 16:54:23 -07:00
Mark Rushakoff 15efa9d411 chore(query/control): use non-global prometheus metrics 2018-07-11 16:54:23 -07:00
Nathaniel Cook b63394da0a fix(errors): Update Fluxd errors
This PR also completes some TODOs about kit/errors and http/errors.
2018-06-28 16:56:35 -06:00
Nathaniel Cook 41b822380b chore: Make control.Controller implement AsyncQueryService 2018-06-25 15:24:40 -06:00
Mark Rushakoff c74bcd11b4 chore(query): remove usage of query/id package
It was effectively a copied and pasted platform.ID, so change it to a
type alias. Once our known references to the query/id package are
updated to platform.ID, we'll delete the package.
2018-06-20 12:55:20 -07:00
Mark Rushakoff 638574b131 feat(query): add organization lookup to storage dependencies
This is needed for the `to` function to write to buckets in another
organization.
2018-06-15 07:30:12 -07:00
Nathaniel Cook d1ca38c71f chore(ifql): Rename IFQL to Flux 2018-06-11 09:26:10 -06:00
Nathaniel Cook 28688d09e6 Merged pull request #87 from influxdata/nc-ifqld-verbose
fix(cmd/ifqld): Expose verbose flag via CLI/ENV config
2018-06-11 09:24:23 -06:00
Michael Desa d0a2f84c07 feat(platform): add dashboards service
feat(platform): add dashboard service interface and associated types

feat(bolt): add bolt implementation ofplatform dashboard service

feat(http): add dashboard http handler and http implementation dashboard service

feat(cmd/idpd): use bolt dashboard service in idpd

test(testing): add conformance test for dashboard service

test(bolt): ensure conforms dashboard service conforms to tests

fix(platform): rename DashboardContents to DashboardCellContents in test

fix(bolt): correct mispelled comments
2018-06-04 08:26:19 -07:00
Nathaniel Cook 5e30d7cdd6 chore(query/builtin): Add package to formalize query builtin initialization
Now all packages wishing to consume query package can and must import
query/builtin in order to properly initialize all builtin values.
2018-05-31 12:03:49 -06:00
Nathaniel Cook 0a6b1cbdb9 fix(cmd/ifqld): Expose verbose flag via CLI/ENV config 2018-05-30 17:22:52 -06:00
Jonathan A. Sternberg d340721b31 fix(cmd/transpilerd): fix transpilerd to use only --org-id
This removes the `--org` parameter because we can't properly decode the
name into an organization id without access to the idp daemon. We will
either have to open access to that or not have that feature.
2018-05-30 16:52:43 -05:00
Jonathan A. Sternberg bde1a71bab fix(http): remove the orgID parameter from the transpiler handler
The /query endpoint didn't have an orgID parameter so we can't have one
in the transpiler endpoint. This removes the parameter and replaces it
with a command line parameter that sets which organization we are using
for querying ifql.
2018-05-29 11:01:46 -05:00
Jonathan A. Sternberg e18879370b feat(http): perform error handling in the transpiler and the query service
The query service now handles some errors (not all) from the ifqld
service. This way, the transpiler, which uses the query service, can
report when it encounters an error from ifqld.

The transpiler will now correctly return errors in the JSON response.
2018-05-24 17:14:16 -05:00
Nathaniel Cook 5ecfdcffd2 chore(cmd/influx): Flatten ifql subcommand
Now the commands are:
    influx query
    influx repl
2018-05-24 11:46:40 -06:00
Nathaniel Cook 1e1c6e21e5 chore(idp): Rename cmd/idp to cmd/influx 2018-05-24 11:34:39 -06:00
Jonathan A. Sternberg eb83898c73 feat(cmd/transpilerd): follow the logging style guide for transpilerd
Introduce logging into the http server implementation for when the
server is shutting down and reporting when we receive a signal for a
hard shutdown.
2018-05-23 12:06:09 -05:00
Jonathan A. Sternberg 0cc2440c1f
Merge pull request #30 from influxdata/js-transpiler-shutdown
feat(cmd/transpilerd): update transpilerd to use http server package
2018-05-23 12:05:54 -05:00
Nathaniel Cook 08eb19805d chore(CI): Create nightly builds of ifqld
The builds are really anytime a commit is made to master not nightly.
Builds use goreleaser with the snapshot setting.
2018-05-23 09:13:46 -06:00
Jonathan A. Sternberg d8e4f4f2e0 feat(cmd/transpilerd): update transpilerd to use http server package
The http package now contains a server that handles signals and proper
shutdown procedure. It has now been updated to use it.

The http package has also added a `ListenAndServe` convenience function
that is similar to the `net/http` one, but also takes in a logger and
will automatically use the most common signals when running an http
server.
2018-05-23 09:27:17 -05:00
Jonathan A. Sternberg 71986589fa migrate(cmd/transpilerd): migrate the transpiler and its http handler to platform 2018-05-22 11:13:30 -05:00
Nathaniel Cook affc7e3976 move types around to avoid cyclic imports 2018-05-21 17:02:42 -06:00
Nathaniel Cook 20345b8701 rewrite imports 2018-05-21 15:20:06 -06:00
Nathaniel Cook 61400c0ca7 updates to ifqld to get static services working 2018-05-21 09:22:48 -06:00
Adam 5fb8b1a5dd changes to defaults in the static services 2018-05-21 09:22:48 -06:00
Adam acf70b508e Added static organization and bucket services 2018-05-21 09:22:48 -06:00
Adam 239742f042 First pass at ifqld complete, ready for discussion 2018-05-21 09:22:46 -06:00
Michael Desa f654b59662 feat(platform): add boltdb implementation of services
feat(platform): add id to authorization

feat(platform): add user arg to CreateAuthorization method on auth svc

migrate(platform): move idp command to platform directory

This comit did not move the ifql command as it depends on the query
service which has yet to be migrated.

feat(platform): add optional user name to authorization struct

feat(platform): add organization name to bucket struct

Additionally allow filtering buckets by organization name.

feat(prom): ensure that prom auth svc implement base interface

feat(prometheus): add user to create authorization method

feat(prom): drop user string from create authorization

feat(zap): ensure that zap auth svc implements base service interface

feat(zap): add user to create authorization method

feat(zap): drop user string from create authorization

feat(http): add ids to authorization service

feat(http): ensure that http authoriztaion service implements auth svc interface

feat(http): use authorization ids in authorization handler

squash(http): add check for http status accepted in authorization service

feat(http): clean up authorization service and handlers

feat(http): drop user string from create authorization

fix(http): normalize the http authorization service

feat(http): normalize bucket service and handler methods

Additonally, we added support for DELETE bucket

feat(http): add delete user handler

Additionally, there was a bit of general cleanup

feat(http): add delete route for organization handler and service

Did a bit of additional cleanup of the http code.

test(testing): add service conformance tests

test(testing): add organization service conformance tests

test(testing): add conformance test for orgs service

Additionally, there was a bit of cleanup in the users service tests

test(testing): add conformance test for authorizations service

test(testing): update auth tests to validate that user exists

test(testing): update authorization conformance tests with user name

test(testing): update bucket conformance tests to include organizations

feat(bolt): add bolt implementation services

feat(bolt): add bolt implementation of organization service

feat(bolt): add bolt implementation of users service

feat(bolt): add bolt implementation of authorization service

feat(bolt): add user to create authorization method

feat(bolt): drop user string from create authorization

fix(bolt): set user name on authorization after put

feat(bolt): update bucket servie to include organizations

feat(bolt): add dependent destroy of resources

feat(cmd/idpd): use bolt services in platform server

feat(cmd/idpd): use bolt organization service in platform server

feat(cmd/idpd): use bolt users service in plaform server

feat(cmd/idpd): use bolt client as authorization service

feat(cmd/idp): show user name in output of auth sub command

feat(cmd/idp): clean up bucket subcommand of idp command

fix(cmd/idp): normalize idp command output for users

fix(cmd/idp): normalize auth subcommand output

feat(cmd/idp): add support for delete organiztion command

migrate(idp): move ifql subcommand of idp to platform
2018-05-21 10:08:22 -04:00
Adam 64e3c840ea Relocated several source files from private repo to here. 2018-05-17 11:35:53 -04:00
Michael Desa 4fe8a8bece feat(cmd/idpd): add influxdata platform server
feat(cmd/idpd): add influxdata platform server daemon
2018-05-16 11:45:11 -04:00