Commit Graph

1346 Commits (3139b0424a604c866162be0ac3f44e4e48a3142c)

Author SHA1 Message Date
Johnny Steenbergen b8652ee178 feat(pkger): add support for secret references to notification endpoints parsing 2019-12-17 11:33:34 -08:00
Johnny Steenbergen a6e768dc7c chore: refactor notication endpoints to make a service out of notification endpoints
this is a blocker for anyone who hits the endpoint services internally. They
had to know that they need to also know of hte secret service then do all that
put/delete alongside the operation. This makes that unified inside the store tx.

one other thing this does is make obvious the dependencies that
notification services has. In this case it is the secrets service it
depends on.
2019-12-17 10:49:06 -08:00
Yiqun Zhang 3f9c2783b9
build: using libflux in OSS 2019-12-16 11:09:39 -05:00
Johnny Steenbergen 88468822e2 feat(testttp): extend testttp with new JSON methods and refactors test to use it 2019-12-13 14:07:11 -08:00
Johnny Steenbergen 39e89eafdf chore(pkger): utilize http client for integration tests for pkger 2019-12-13 09:46:01 -08:00
Johnny Steenbergen 86a359f34b chore(http): refactor http layer to be able to encode/decode influxdb.ID's safely
noticed that I had not used the http server as the entry point for server tests.
This was work to make that happen. Along the way, found a bunch of issues I hadn't
seen before 🤦. There are a number of changes tucked away inside the
other types, that make it possible to encode/decode a type with zero value for
influxdb.ID.
2019-12-13 09:46:01 -08:00
Yiqun Zhang 4ea8d01a23 fix: test baseline to use rust parser! 2019-12-13 11:51:49 -05:00
Johnny Steenbergen bf86cce1f1 feat(httpc): extend httpc Client with JSON shorthand methods
making most common API calls super easy to get up and running
2019-12-12 07:44:31 -08:00
Johnny Steenbergen 3daaa4d307 feat(pkger): add apply functionality for notification endpoints kind 2019-12-11 15:13:42 -08:00
Johnny Steenbergen 69d7eb4455 feat(pkger): add notification endpoint dry run functionality 2019-12-11 15:13:42 -08:00
Johnny Steenbergen 8729cd0959 chore(http): refactor api handler take advantage of route tree instead of switch statement
is very much WIP at this point
2019-12-11 09:53:29 -08:00
Yiqun Zhang f6df30adac
build(flux): update Flux to v0.57.0 2019-12-11 11:19:05 -05:00
Gavin Cabbage 43ff4abffd feat(query): add trace response headers 2019-12-11 09:10:21 -05:00
Jakub Bednář 3e33a03ae1
fix(http): update swagger for easily use in clients (#16067)
* added date-time format for start and stop DeletePredicateRequest
* fixed malformed reference to ViewProperties in PkgChart model
* define separate model for RetentionRule as is in Organizations, Buckets, Labels
* "labels" property from Check and PostCheck should be part of CheckBase (it is ancestor for all Check types)
* "labels" property from NotificationRule and PostNotificationRule should be part of NotificationRuleBase (it is ancestor for all NotificationRule and types)
* "labels" property from NotificationEndpoint and PostNotificationEndpoint should be part of NotificationEndpointBase (it is ancestor for all NotificationEndpoint and types)
* The url property of HTTPNotificationRuleBase should not be required
* Added query link for CheckBase and NotificationRuleBase
2019-12-11 11:24:04 +01:00
Johnny Steenbergen b2ea95f512 feat(http): add notification endpoint service
note: tests are seriously borked here. Cannot reuse any existing testing
as the setup is very particular and the http layer doesn't suppport everyting.
that being said, there are goign to be implicit testing in the
`launcher/pkger_test.go` file. This feels broken, and probably needs to be
readdressed before we GA a 2.0 influxdb....
2019-12-10 12:40:17 -08:00
Jonathan A. Sternberg 791cf15cd3
build(flux): update Flux to v0.57.0 2019-12-10 13:26:10 -06:00
Johnny Steenbergen 417d25537f chore(http): refactor org service to use httpc client 2019-12-10 10:49:22 -08:00
Gavin Cabbage f1975bb268 refactor(logger): use TraceInfo in TraceFields 2019-12-10 09:06:33 -05:00
Gavin Cabbage 5c9c31f3ab feat(query): capture query handler error in trace log 2019-12-10 09:06:33 -05:00
Gavin Cabbage b7c2c997d2 feat(query): annotate logger with trace id 2019-12-10 09:06:33 -05:00
Johnny Steenbergen c24137d9ef fix(http): fixes resource type on variables handler, was incorrect beforehand 2019-12-09 17:47:31 -08:00
Johnny Steenbergen 5cc02de988 feat(httpc): add httpc pkg to resuse code for http client type 2019-12-09 12:17:22 -08:00
Johnny Steenbergen ad841608ca chore(http): refactor bucket|dashboard|label|umr|var http clients to use reusable HTTP client
this is a step towards providing a shared http client that manages  pooling connections,
timeouts, and reducing GC for by not creating/GCing a client each req. Bring on the red!
2019-12-09 09:44:41 -08:00
Johnny Steenbergen 0225160814 fix(http): provides a reusable http client instead of creating/GCing one each time 2019-12-06 18:15:35 -08:00
Ariel Salem 08d8efbaec
feat(ui): added date/time format for graphs (#16148)
* feat(ui): added date/time format for graphs

* fix(ui): removed unnecessary console.log

* feat(ui): updated BE models to reflect necessary updates to structs

* fix(dashboard): updated failing gotests
2019-12-06 12:03:55 -08:00
Deary Hudson III a6941648d2
feat(pkger): pkger to use updated dashboard params (#16142) 2019-12-06 11:13:06 -06:00
Johnny Steenbergen ea67663ab7 fix(pkger): cleanup leftover bits from telegraf and label mapping misses
telegraf was not being mapped correctly for applying the label mapppings
and touched up a bunch of other issues that came up along the way.
2019-12-06 08:51:32 -08:00
Chris Goller 011773ada0
fix(http): remove authorization and user-agent headers from tr… (#16139)
fix(http): remove authorization and user-agent headers from trace
2019-12-05 12:27:15 -06:00
Johnny Steenbergen c76babdce6 feat(pkger): add support for exporting telegraf 2019-12-05 09:58:44 -08:00
Chris Goller 5519faa697
fix(http): remove authorization and user-agent headers from trace
Now, traces will have all headers except authorization and user-agent.
Additionally, I've removed the referer and remoteaddr as they did not
contribute much.

Eventually, this may change to just a small set of headers to record.
2019-12-05 11:30:29 -06:00
Nathaniel Cook 423dc9703c
fix(http/bucket): lift bucket name validation to http layer (#16125)
This removes the bucket name validation from the KV BucketService,
and moves it to the http implementation of the service.
The effect is that API user requests still get validated but direct KV access does not
2019-12-05 10:30:08 -07:00
Jacob Marble 5f19c6cace
chore: Remove several instances of WithLogger (#15996)
* chore: Remove several instances of WithLogger

* chore: unexport Logger fields

* chore: unexport some more Logger fields

* chore: go fmt

chore: fix test

chore: s/logger/log

chore: fix test

chore: revert http.Handler.Handler constructor initialization

* refactor: integrate review feedback, fix all test nop loggers

* refactor: capitalize all log messages

* refactor: rename two logger to log
2019-12-04 15:10:23 -08:00
Chris Goller 27e2531b0a
refactor: add more tracing information to writes (#16118)
refactor: add more tracing information to writes
2019-12-04 16:07:57 -06:00
Johnny Steenbergen 695211aeda feat(pkger): add dry run and apply functionality for telegraf resources 2019-12-04 13:50:42 -08:00
Jakub Bednář f25fe8c5a2 fix(http): Return an empty array if organization has no secret keys (#15363)
* fix(http): Return an empty array if organization has no secret keys

* fix(http): Return an empty array if organization has no secret keys instead nil
2019-12-04 13:29:05 -08:00
Jakub Bednář 01452752ec fix(http): remove a HTTPNotificationRuleBase.url from required properties (#15322) 2019-12-04 13:28:29 -08:00
Chris Goller 632b93ac6b
refactor(http): normalize user-agent names
User-Agent cardinality is unbounded; this attempts to
decrease the number quite a bit.
2019-12-04 15:02:00 -06:00
Deary Hudson III ad961669ae
feat(http): create cell view properties on dashboard creation (#16112) 2019-12-04 13:47:25 -06:00
Edd Robinson d367aee428 refactor: add more tracing information to writes 2019-12-04 18:50:26 +00:00
Michael Desa 1be8c8025a
Merge pull request #16100 from nwneisen/remove-source-endpoint
chore: remove "/sources" endpoint
2019-12-04 11:10:59 -05:00
nwneisen c315c237b5
chore: remove sources and fix resulting breaks
Signed-off-by: nwneisen <nwneisen@gmail.com>
2019-12-04 08:42:42 -07:00
Johnny Steenbergen 5049850cdc fix: broken tests in dashboard http tests 2019-12-03 17:19:03 -08:00
Timmy Luong cf96cc4a84 feat(ui): add positioning option to line graphs 2019-12-03 16:10:50 -08:00
Deary Hudson III e21ebeb30e
feat(http): add cell properties to GET /dashboards/:dashboardID response
issue #16057
2019-12-03 15:45:57 -06:00
Alirie Gray 9417936069
feat(tasks): add ability to filter by active tasks (#15893) 2019-12-02 14:16:10 -08:00
Lyon Hill 997168c0be
fix(endpoint): when looking up a endpoint we should allow org only lookup (#16050)
* fix(endpoint): when looking up a endpoint we should allow org only lookup

In the current system the api always adds "UserID" to the filter. This only
allows the system to look up endpoints that user created. The behavior should be
that we filter based on user input and use authorizor to hide things they shouldn't see.
2019-11-27 09:09:36 -07:00
Bucky Schwarz a90899ebf2 chore(ui): add filter and group concepts to tags in redux 2019-11-26 12:34:07 -08:00
George 3dbb9c0fd2
feat(tracing): dont trace spans with full request paths as operation name in ExtractFromHTTPRequest (#15971)
* feat(tracing): dont trace spans with full URL path names in ExtractFromHTTPRequest

* chore(multiple): replace all occurrences of julienschmidt/httprouter with influxdata/httprouter
2019-11-25 15:22:19 +01:00
Johnny Steenbergen 988fd0ae80 chore(pkger): refactor diff into common types for easier access 2019-11-22 16:09:23 -08:00
Lyon Hill c8de76eaf9 fix(jwt): allow jwt's to be used in query proxy calls (#16010) 2019-11-22 10:12:36 +01:00
Johnny Steenbergen 4d0e0ba1a4 chore(pkger): fixing up the pkger parse error to respect the initial Error call
the errors changed during the pkger http server error improvements and this
fixes it to be similar to what it once was, only now its in a flatter fashion
very similar to the pkger http server apply response.
2019-11-21 17:37:14 -08:00
Johnny Steenbergen 9c525ad413 feat(pkger): add ability to export all and defined list of resources via influx cli to a package
refers: #15921
2019-11-21 10:55:12 -08:00
Scott Anderson b157148472
[chore/swagger] updated summaries and descriptions in swagger.yml (#15994) 2019-11-20 16:33:34 -07:00
Johnny Steenbergen dc2d931f00 feat: add support for setting password and org for a new user in the cli
one thing to note here is that new endpoint was created. there was no
endpoint for setting an initial password that worked. The existin endpoint
was a bit messy and coupled across multiple routes. Having multiple auth
schemes proved incredibly taxing to write against.
2019-11-20 09:16:31 -08:00
Johnny Steenbergen bc083e169c chore: refactor password service to provide userID instead of name 2019-11-20 09:16:31 -08:00
Johnny Steenbergen 1a28a3256e feat(pkger): extend apply HTTP API to return parse err with 422 resp 2019-11-14 12:11:13 -08:00
Johnny Steenbergen d08ebf8658 feat(pkger): improve error handling for parser 2019-11-14 08:32:52 -08:00
Alirie Gray f0ecc0e89d
refactor(tasks): use go Time for Task CreatedAt, UpdatedAt, LatestCompleted, Offset (#15672) 2019-11-12 17:13:56 -08:00
Johnny Steenbergen f6dbfec346 feat: import jsteenb2/testttp directly into pkg 2019-11-12 14:14:40 -08:00
Johnny Steenbergen b58e7947b1 feat(pkger): add support for exporting resource associations
also adds some extra user friendliness. it sorts the pkg created via an
export by resource kinds. It also titles the kinds to make them match the
documentation even though the kind is case insensitive. Easier to read this
way.
2019-11-11 08:51:54 -08:00
Johnny Steenbergen a64b976561 feat(pkger): add export functonality to pkger for existing buckets/labels/dashboards
no associations included at this time. Also fixes http response to be just
the pkg without the envelope. Having that envelope makes the API icky to
work with from any shell script or just saving it to file. This feels more
organic to just drop that envelope.
2019-11-08 16:55:24 -08:00
Ariel Salem 888ce50ef8
fix(http/links): Added query links to checks and notificationRules response, updated swagger.yml (#15807) 2019-11-08 08:23:38 -08:00
Ariel Salem 5ba9142f2f
fix(flakey-test): refactored getSortedBucketNames for more consistency and predictability. Finished DWP API functionality (#15802)
* fix(flakey-test): refactored getSortedBucketNames for more consistency and predictability. Finished DWP API functionality

* fix(FilterRow): removed unnecessary FeatureFlag from component

* chore: updated yml and tests to reflect API changes
2019-11-07 16:19:42 -08:00
Johnny Steenbergen 5eb29e9ed9 feat(pkger): add label associations to variables 2019-11-07 12:33:20 -08:00
Johnny Steenbergen b4b337e414 chore(http): provide mountable router for registering routes on APIHandler 2019-11-07 09:44:24 -08:00
Johnny Steenbergen 2090afa5fd chore(pkger): move pkger http server to http pkg 2019-11-07 09:44:24 -08:00
Johnny Steenbergen 2902638c8a feat(pkger): add pgker http server to the api handler 2019-11-07 09:44:24 -08:00
Ariel Salem 3ba8eaac3e
feat(createdAt): Added createdat and updatedAt to Authorization (#15784)
* feat(auth): add createdAt and updatedAt to authorization

Co-Authored-By: Ariel <ariel.salem1989@gmail.com>

* feat(auth): passing createAuth tests

* test: ensured that createdAt and updatedAt are valid on authorizations
2019-11-07 06:46:30 -08:00
Lyon Hill bb6aa1df3b
feat(task): Add a latestScheduled field for tasks (#15785)
Previously we overwrote the tasks existing latestCompleted to be used for latestCompleted as well as latestScheduled.
For obvious reasons this is confusing and missleading. I believe by seperating the two fields we can have a clear seperation
of concerns.
2019-11-06 15:10:52 -07:00
Deary Hudson III 81965f0b33
feat(kv): unique variable names (#15695)
* feat(kv): unique variable names

- adds system bucket for creating an index of unique variable names
- adds tests
- deleted unit tests for dead code
- removed a test runner for the variable service from http
2019-11-04 14:28:21 -06:00
Johnny Steenbergen eea44f6c72 feat(pkger): add dashboard support to pkger
included is the base for dashboards and association of labels with
dashboards.
2019-11-01 12:20:54 -07:00
Johnny Steenbergen fb5f00e05b chore(http): add missing client methods for label/buckets GET reqs 2019-11-01 11:59:09 -07:00
Deary Hudson 220309e498 feat(pkger): adds label support 2019-11-01 11:59:09 -07:00
Brandon Farmer ce3e2969ae
Merge pull request #15646 from influxdata/system-bucket-deletion
feat(influxdb): Prevent the deletion of system buckets
2019-10-30 16:02:00 -07:00
Brandon Farmer b5744f1fe1 fix(swagger): Fixes conflicting label types 2019-10-30 15:31:37 -07:00
Brandon Farmer e473394e7d feat(influxdb): prevent users from rename system buckets 2019-10-30 12:53:43 -07:00
Gavin Cabbage 75147d014c
feat(tasks): expose lastRunStatus and lastRunError in task API 2019-10-30 14:00:22 -04:00
kelwang 5403e8aaa6
Merge pull request #15607 from influxdata/cli_delete_predicate
feat(cmd/influx): add cli delete predicate
2019-10-29 12:10:20 -04:00
Kelvin Wang 27d15deadb feat(cmd/influx): add cli delete predicate 2019-10-28 11:46:01 -04:00
Gavin Cabbage 6fb8a67ff8
fix(api): change task ID runs success status from 200 to 201 2019-10-26 00:16:48 -04:00
Kelvin Wang 4615a01338 fix(kv): use urm filter to search endpoints 2019-10-24 13:28:34 -04:00
Kelvin Wang 81283b1ac2 fix(kv): find checks by urm 2019-10-24 12:29:48 -04:00
Brandon Farmer 88bf178802 feat(influxdb): Add labels create endpoints
- Notification Rules
- Notification Endpoints
- Checks

Co-authored-by: Deniz Kusefoglu <deniz@influxdata.com>
2019-10-23 09:53:50 -07:00
Alirie Gray a8f5e5ba19
fix(tasks): create API facing interface for task runs (#15539) 2019-10-22 15:35:47 -07:00
Brandon Farmer ea82dc3470 fix(tasks): tasks look up system bucket id 2019-10-21 14:48:47 -07:00
Brandon Farmer b343250390 fix(influxdb): fixes broken tests from system bucket changes 2019-10-21 14:48:47 -07:00
Brandon Farmer 2e0749b3ba feat(influxdb): Add system buckets on org creation
* Only allow users to create user buckets
* Only accept bucket creation parameters on post
2019-10-21 14:48:47 -07:00
Deary Hudson III c04249ec78
fix(http): /api/v2/orgs/:id/owners|members to 404 (#15504)
ensures that the endpoints:
  * /api/v2/orgs/:id/owners
  * /api/v2/orgs/:id/members
404 when the organization resource does not exist
2019-10-21 16:37:30 -05:00
Kelvin Wang e1d246a19d fix(predicate): remove unsupported operator parsing 2019-10-18 15:16:21 -04:00
Kelvin Wang 2837d4ec08 fix(predicate): add string parser 2019-10-18 12:02:53 -04:00
Jade McGough fcc06d4291 feat(http): add predicate endpoint 2019-10-18 12:02:53 -04:00
Kelvin Wang 62f4042853 feat(influxdb): add predicate package 2019-10-18 12:02:52 -04:00
Alirie Gray 552168d3ae
refactor(tasks): use Go time objects for timestamps on task Runs (#15406) 2019-10-17 17:23:45 -07:00
George b3b2f52d57
chore(gateway): log error on unauthorized attempt (#15452) 2019-10-17 17:57:01 +01:00
kelwang 3f168b109d
Merge pull request #15117 from influxdata/clientURL_optional
fix(notification/endpoint): pagerduty clientURL should be optional
2019-10-15 13:11:50 -04:00
Lyon Hill 3c6779f011
feat(task): Allow tasks to run more isolated from other task systems (#15384)
* feat(task): Allow tasks to run more isolated from other task systems

To allow the task internal system to be used for user created tasks as well
as checks, notification and other future additions we needed to take 2 actions:

1 - We need to use type as a first class citizen, meaning that task's have a type
and each system that will be creating tasks will set the task type through the api.
This is a change to the previous assumption that any user could set task types. This change
will allow us to have other service's white label the task service for their own purposes and not
have to worry about colissions between the types.

2 - We needed to allow other systems to add data specific to the problem they are trying to solve.
For this purpose adding a `metadata` field to the internal task system which should allow other systems to
use the task service.

These changes will allow us in the future to allow for the current check's and notifications implementations
to create a task with meta data instead of creating a check object and a task object in the database.
By allowing this new behavior checks, notifications, and user task's can all follow the same pattern:

Field an api request in a system specific http endpoint, use a small translation to the `TaskService` function call,
translate the results to what the api expects for this system, and return results.

* fix(task): undo additional check for ownerID because check is not ready
2019-10-11 08:53:38 -06:00
kelwang 072270d7d8
Merge pull request #15372 from influxdata/cli_list_org_members
fix(cmd/influx): fix list org members
2019-10-10 12:10:25 -04:00
Kelvin Wang c96fe7ed6e fix(cmd/influx): fix list org members 2019-10-10 11:57:03 -04:00
Johnny Steenbergen dbe0103d92 fix(logging): blacklist endpoints with sensitive data from logging body 2019-10-09 13:17:24 -07:00
Johnny Steenbergen 5a546d5827
Merge pull request #15335 from influxdata/2939/add_logging_to_gateway
2939/add logging to gateway
2019-10-07 14:49:36 -07:00