Commit Graph

1685 Commits (6a99416ab2e47daa935ef2ba73d19366b2baaf2f)

Author SHA1 Message Date
Johnny Steenbergen 8251c362ee chore(pkger): refactor parser notification rule state out into stateful type
this PR also drops a bunc of dead code that was necessary for times of integration.

references: #17434
2020-04-17 14:02:29 -07:00
jlapacik 90fb7543ce Merge branch 'master' into chore/merge-master 2020-04-16 14:43:52 -07:00
Johnny Steenbergen 21694416a3 chore(pkger): refactor parser dashboard state out into stateful type
references: #17434
2020-04-16 13:27:36 -07:00
Johnny Steenbergen f084a93fa2 chore(pkger): refactor parser telegraf config state out into stateful type
references: #17434
2020-04-16 12:05:07 -07:00
Lyon Hill c02e83038f
fix: org filtering for both kv and tenant need to match behaviors. (#17758) 2020-04-16 12:22:21 -06:00
Johnny Steenbergen da2cf7e94a chore(pkger): refactor parser task state out into stateful type
references: #17434
2020-04-16 10:06:44 -07:00
Alirie Gray 4e690062cb
fix(labels): prevent adding duplicate labels to resources in kv (#17340) 2020-04-16 09:02:50 -07:00
jlapacik 7541af8414 chore: merge master into algow 2020-04-15 14:42:03 -07:00
Johnny Steenbergen 94ae519cc6 chore(pkger): refactor parser notification endpoint state out into stateful type
references: #17434
2020-04-15 14:26:25 -07:00
Pavel Závora bbfb460be5
Merge pull request #17732 from influxdata/sranka-context-aware-client-write
fix(http/write_handler): propagate context to http request
2020-04-15 07:06:43 +02:00
Johnny Steenbergen c8a79f5653 chore(pkger): refactor parser variable state out into stateful type
references: #17434
2020-04-14 16:48:56 -07:00
Johnny Steenbergen cb7f8ba521 chore(pkger): refactor parser check state out into stateful type
references: #17434
2020-04-14 15:43:50 -07:00
Johnny Steenbergen 68183bb156 chore(pkger): refactor embedded types out of stateful types 2020-04-14 14:12:23 -07:00
Johnny Steenbergen c718b676ef chore(pkger): refactor pkger data model to separate parsed and stateful datum 2020-04-14 09:28:09 -07:00
Pavel Závora 744a2c15c9
fix(http/write_handler): propagate context to http request
_http.NewRequestWithContext_ (available since golang 1.13) ensures that the supplied context also controls the entire lifetime of a request and its response.
2020-04-14 11:17:55 +02:00
Johnny Steenbergen e09d65f361 fix(swagger): fix indention problem in swagger doc
closes: #17652
2020-04-10 14:11:56 -07:00
Johnny Steenbergen cee77081b2 feat(pkger): extend tasks with unique constraints 2020-04-08 14:38:32 -07:00
Brett Buddin 6516b598c7
chore(swagger): Add "now" to the query API endpoint. 2020-04-08 13:04:25 -04:00
Brett Buddin dab8269841
fix(query): Respect the now-time of the compiled query if it's provided. 2020-04-08 11:50:47 -04:00
Gianluca Arbezzano 0a363b2ba7 feat(tracing): add userID to lookup traces
This commit adds `user_id` as a tag for traces. It helps to lookup and
filter traces we need by userID.

OrgID is harder to get right, so I will open an issue, but it will be
nice to have it in as well.

Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
Co-authored-by: George MacRorie <gmacrorie@influxdata.com>
2020-04-08 14:19:05 +02:00
Alirie Gray 8975fd2365
refactor(tenant): move bucket and urm auth layers to tenant service (#17474)
Co-authored-by: Lyon Hill <lyondhill@gmail.com>
2020-04-07 11:13:27 -07:00
Ariel Salem ffa48c59b8
fix(ui): fixed dark lines in checks (#17651) 2020-04-07 10:56:55 -07:00
Lyon Hill 4421a39639
feat(tenant): Build out the onboarding system in tenant and integrate it into launcher (#17558)
We are adding in a setup/user route this is not in swagger at the moment but will be
added once we feel it is stable.
2020-04-06 15:58:15 -06:00
Jonathan A. Sternberg d3fa60991f
Merge branch 'master' into chore/merge-master 2020-04-06 12:17:47 -05:00
Jonathan A. Sternberg 0ae8bebd75
refactor: rewrite imports to include the /v2 suffix for version 2 2020-04-03 12:39:20 -05:00
Jonathan A. Sternberg 469c5849c4
Merge branch 'master' into feat/use-algo-w 2020-04-03 09:30:04 -05:00
Johnny Steenbergen e6317a04ee chore(pkger): refactor summary/diff types for Endpints|Checks|Variables 2020-04-02 12:35:51 -07:00
Lorenzo Affetti 13fc4f335d
test(launcher): e2e test memory limits 2020-04-02 11:20:42 +02:00
Johnny Steenbergen f5b9a30b1f feat(pkger): extend labels diff and summary types to include PkgName and Remove
the pkgName refers to the unqiue label resource within the pkg and the
Remove field indicates the label will be removed when applying the pkg
2020-04-01 14:13:45 -07:00
Johnny Steenbergen 34c3b35ca3 feat(pkger): add stack state management for buckets 2020-04-01 13:09:14 -07:00
Johnny Steenbergen 098fd27ab4 feat(pkger): extend DiffBucket with name for existing and new bucket values
provides mapping between pkgName and resource the diff represents. Now that
stacks are in place, the existing bucket may change names.
2020-03-31 13:34:40 -07:00
Lyon Hill 1a66ca3900
feat(tenant): Add in api elements to tenant service (#17447)
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>

Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
2020-03-27 08:56:22 -06:00
Johnny Steenbergen 8c70dc9b23 feat(pkger): add create stack endpoint for http server 2020-03-26 12:37:43 -07:00
Ariel Salem 4f65cda351
fix(ui): fixed threshold check bug that wouldn't allow threshold checks to be created where fields had spaces in them (#17391) 2020-03-23 19:17:52 -07:00
Christopher M. Wolff 20c2439230
refactor(http): change *ast.Package to json.RawMessage in query requests (#17316) 2020-03-23 12:39:24 -07:00
Marc Delagrammatikas ea8e6d15d0 refactor: fixes typo in OnboardInitialUser method
Fixes typo introduced by 7b99c28a99
2020-03-20 10:48:20 -07:00
Marc Delagrammatikas 7b99c28a99 refactor: rename Generate to OnboardInitialUser
Renaming Generate in anticipation of a new method that will onboard
users other than the initial user. The intent is to simplify multi-user
setups.

Co-authored-by: Chris Goller <goller@gmail.com>
2020-03-18 15:35:26 -07:00
Johnny Steenbergen 97e56c0f00 fix(http): fixup logging for http middleware 2020-03-17 10:49:16 -07:00
Lorenzo Affetti 8a368fabfa
fix(http): make label service authorized by default
Fix resource type for label backends.
2020-03-16 11:32:35 +01:00
Gavin Cabbage 14ba382e4f
fix(buckets): return unauthorized if no org is found for user (#17264) 2020-03-13 15:35:33 -04:00
Alirie Gray 991002d83b
fix(labels): add check for write permissions to create label (#17174) 2020-03-12 10:51:50 -07:00
Kelvin Wang c511f06fa5 feat(cmd/influx): add profile management 2020-03-12 11:09:54 -04:00
Lorenzo Affetti 76067d548e
Merge pull request #17201 from influxdata/fix/notification-endpoint-auth
fix(authorizer): fix endpoint handler auth
2020-03-11 18:30:36 +01:00
Lorenzo Affetti 4e22b0b1af
fix(authorizer): fix endpoint handler auth 2020-03-11 18:09:53 +01:00
Gavin Cabbage f5e8547482
fix(buckets): prevent returning system buckets to unauthorized users (#17117) 2020-03-11 13:06:08 -04:00
Greg f98874566c
fix: allow authorized label service to be called indirectly (#17111)
* fix: allow authorized label service to be called indirectly

17071 exists because pkger loads all service resources as authorized on
start, resulting in them all being authorized when referenced indirectly
(not hit directly via api by consumer). Rather than restructure pkger to
only authorize direct services, this allows proper indirect auth to
labels (the cause of 17071).

* Add orgService to tests

* Add resource types to find orgID from
2020-03-11 10:58:39 -06:00
Jonathan A. Sternberg 7012470479
Merge branch 'master' into feat/use-algo-w 2020-03-10 14:52:28 -05:00
Lorenzo Affetti fd729f8a38
fix(http): refactor document service and fix auth 2020-03-09 20:32:31 +01:00
Jonathan A. Sternberg 8d2ba699a0
refactor(http): remove the spec and update lang usage (#17148)
This removes the spec and updates the lang package usage to make use of
passing in the runtime as a parameter.

It removes all direct dependendencies on the flux runtime from the http
package.
2020-03-09 13:30:43 -05:00
Jonathan A. Sternberg 0d6e4e310b
Merge branch 'master' into feat/use-algo-w 2020-03-06 16:46:49 -06:00
Jonathan A. Sternberg 834a8740e0
refactor(task/backend): move the task/backend constants to the global package (#17133)
This moves a few types and constants to the global package so it can be
used without importing the `task/backend` package. These constants are
referenced in non tasks-specific code.

This is needed to break a dependency chain where the task backend will
call into the flux runtime to perform parsing or evaluation of a script
and to prevent the http package from inheriting that dependency.
2020-03-06 16:19:32 -06:00
Johnny Steenbergen 6818925643 feat(pkger): add support for exporting all and filter by resource types
note: all associations are still included for resources that match the
filte criteria.
2020-03-06 11:51:38 -08:00
Brett Buddin de0b92ebc9
fix(http): Revert d51447fc34. 2020-03-06 12:24:12 -05:00
Jonathan A. Sternberg bcbb9df72e
refactor(task): tasks will now use the flux language service (#17104)
The tasks subsystem will now use the flux language service to parse and
evaluate flux instead of directly interacting with the parser or
runtime. This helps break the dependency on the libflux parser for the
base influxdb package.

This includes the task notification packages which were changed at the
same time.
2020-03-05 14:36:58 -06:00
Brett Buddin f897c15187
Merge pull request #17091 from influxdata/bb/require-content-type
fix(http): Require Content-Type for query endpoint
2020-03-05 12:06:48 -05:00
Alirie Gray dff47721ce
fix(secrets): wrap secrets service in authorizer (#17099) 2020-03-05 08:35:14 -08:00
Jonathan A. Sternberg a907e05426
refactor(http): modify query handler to use a language service (#17074)
The language service abstracts away the parse source which breaks the
dependency without moving any of the code.
2020-03-05 10:32:17 -06:00
Brett Buddin d51447fc34
fix(http): Require Content-Type for query endpoint. 2020-03-05 11:12:33 -05:00
Alirie Gray c4e9201859
refactor(api): add HTTPC client service to notification rules API (#17087) 2020-03-04 16:32:33 -08:00
Jorge Landivar 3c8ad39733 fix(checks): typo causing panic in checks endpoint 2020-02-28 10:54:06 -06:00
Lorenzo Affetti d4af93eec2
refactor(http): make client contain every service available, and make it more pluggable 2020-02-26 17:45:38 +01:00
Gavin Cabbage fe21b9eb88
feat(http): checks client (#16922) 2020-02-26 11:34:10 -05:00
pierwill d70076e643
fix(http): Add secure flag to session cookie (#16574) 2020-02-25 14:37:11 -08:00
Lorenzo Affetti 4a83a80784
Merge pull request #16998 from influxdata/fix/add-document-service
feat(http): add document service to http Service
2020-02-25 22:47:37 +01:00
Alirie Gray 0ed292b1be
fix(tasks): update tasks authorization (#16994) 2020-02-25 12:59:59 -08:00
Lorenzo Affetti 3171cf0656
feat(http): add document service to http Service 2020-02-25 16:22:33 +01:00
Alirie Gray 3120b4c47e
refactor(tasks): add Client to http TaskService (#16912) 2020-02-24 11:41:21 -08:00
Lorenzo Affetti 9defb8a77f
feat(http): add document service 2020-02-21 15:58:40 +01:00
tmgordeeva 890c943643
fix(backup): handle backup with no credentials file (#16877)
* fix(backup): handle backup with no credentials file

Backups and restores should work whether or not the original installation uses
a credentials file and whether or not the backup contains a credentials file.
2020-02-14 09:19:58 -08:00
George f239a2ed9c
fix(kv): remove URM and Authorizations by UserID Index (#16852)
* Revert "fix(kv): Don't stop when key not found from index."

This reverts commit bd9167d383.

* Revert "fix(kv): push down org ID to skip in delete URM (#16841)"

This reverts commit a5f508de77.

* Revert "fix(kv): delete authorization from correct index bucket (#16835)"

This reverts commit 7349216e94.

* Revert "feat(kv): Index Authorizations by User ID (#16818)"

This reverts commit df36fe957b.

* Revert "feat: add indexes to urm for user lookups (#16789)"

This reverts commit 9561d0a4f4.
2020-02-13 15:27:57 +00:00
Nathaniel Cook 03f65cf045
fix(influxql): add explicit routing to influxql service (#16832)
Prior to this change influxql requests were sent to the same back end as Flux queries.
This MAY not always be the case. Now InfluxQL queries are specifically routed to the InfluxQLService.
In the case of this OSS build the FluxService and InfluxQLService are the same.
2020-02-12 10:07:29 -07:00
Johnny Steenbergen e650c941c7 fix: remove duplicate content types from httpc requests
2 issues from investigating this error. First is the status check func
did not identify it was a media unsupported issue adn tries to unmarshal
the empty response body. The 2nd, was the double content type headers were
causing an error. Locally this error does not surface, cannot repoduce on
macos, but in cloud it is persistent.

closes: #16819
2020-02-11 11:14:44 -08:00
George df36fe957b
feat(kv): Index Authorizations by User ID (#16818)
* feat(kv): add user id index on authorizations

* chore(auths): test FindAuthorizations both with and without a populated index

* chore(kv): cleanup index skipping flag in auths service

* fix(kv): bad flag around auth by user index population

* fix(kv): auth by user index lookup use correct buckets

* chore(kv): ensure indexer is called as expected when auth user index missing

* chore(kv): add benchmarks around authorization lookup
2020-02-11 17:34:20 +00:00
kelwang 2761c1f48a
Merge pull request #16786 from influxdata/feat_cli_secret
feat(cmd/influx): add secret cli
2020-02-10 10:39:18 -07:00
Nathaniel Cook 9f7d4f9be0
feat(query): adds support for influxql as language type for queries (#16712)
This change allows for the InfluxQL language type to be used with the
/v2/query API endpoint.

This change also introduces a way to give the transpiler an explicit
bucket name instead of using the DBRPMapping service.
Requests to the endpoint will know the bucket name directly but will
likely not have run the migration step to populate the DBRP mappings.
2020-02-07 15:20:50 -07:00
Kelvin Wang e3acd7f86b feat(http): add secret service 2020-02-07 15:54:28 -05:00
Johnny Steenbergen 684f7b82ad feat(pkger): extend HTTP API to enable users to submit multiple pkgs in one call 2020-02-07 08:08:58 -08:00
Michael Desa c8edf66ee4
chore(http): export NewBucketResponse function
This function is required for maintaining a similar buckets reponse.
2020-02-06 16:01:30 -08:00
Johnny Steenbergen 64c8707594 feat(pkger): add support for env references for buckets 2020-02-04 17:00:11 -08:00
Johnny Steenbergen 8150e1b51a chore(http): refactor bkt service to use API type 2020-02-04 14:41:56 -08:00
Johnny Steenbergen 236f52ba62 fix(http): improve error handling and response to api consumer for org service 2020-02-04 09:43:51 -08:00
Johnny Steenbergen 343c9b166b chore(pkger): consolidate pkger http server into pkger
this is the last step for pkger to follow the service definition pattern
that is in the works. Some bits from http were moved into kit/transport/http
for reusability. End result is to hopefully axe http pkg for resuable types in
kit. Long ways off still...
2020-02-03 12:39:47 -08:00
Johnny Steenbergen 2b0b32abe8 chore(http): pull out eror handler into kit pkg for portability 2020-02-03 12:39:47 -08:00
Jade McGough e78be03465
Merge pull request #16527 from oiooj/pr-panic
fix(http): fix /telegrafs panics when using org=org_name parameter
2020-01-26 19:48:49 -08:00
kun 8e6ce60cf5 fix(http): fix /telegrafs panics when using org=org_name parameter 2020-01-27 11:04:11 +08:00
Johnny Steenbergen 592e9369a7 feat(pkger): add support for inspecting url paths to grab extension for pkger decoding 2020-01-23 14:14:28 -08:00
Andrew Watkins 78c1e9e19e
refactor(ui/views): normalization (#16616)
* refactor: move views logic to separate directory

* refactor: normalize views

* fix: spinners

* fix: dont render views until status is done

* fix(http/dashboards): view shape not returning from getDashboard

* test: delete irrelevant and redundant test

* fix: go tidy

* test: skipping monaco test

* chore: sort type exports

* chore: cleanup
2020-01-23 13:17:08 -08:00
Jacob Marble b836ab9c17
feat(storage): implement backup and restore (#16504)
* feat(backup): `influx backup` creates data backup

* feat(backup): initial restore work

* feat(restore): initial restore impl

Adds a restore tool which does offline restore of data and metadata.

* fix(restore): pr cleanup

* fix(restore): fix data dir creation

* fix(restore): pr cleanup

* chore: amend CHANGELOG

* fix: restore to empty dir fails differently

* feat(backup): backup and restore credentials

Saves the credentials file to backups and restores it from backups.

Additionally adds some logging for errors when fetching backup files.

* fix(restore): add missed commit

* fix(restore): pr cleanup

* fix(restore): fix default credentials restore path

* fix(backup): actually copy the credentials file for the backup

* fix: dirs get 0777, files get 0666

* fix: small review feedback

Co-authored-by: tmgordeeva <tanya@influxdata.com>
2020-01-21 14:22:45 -08:00
Andrew Watkins a4e3dce135
refactor(ui): normalize cells (#16569)
* wip: cells reducer

* wip: normalize cells

* refactor(norm): dashboards

* chore: move GetResources to resources dir

* feat: introduce GetResource component

* feat: introduce GetTimeRange component

* refactor(cells): move updateCells to cells thunks

* refactor: move clone cell

* refactor: stop passing entire dashboard to dashboard page

* chore: cleanup

* fix: overlays not rendering

* refactor: move GlobalAutoRefresh polling to container

* refactor: stop passing entire dashboard object

* fix: deletion of dashboards

* fix: runtime error and formatting
2020-01-21 10:54:24 -08:00
Lorenzo Affetti 0e0b36be0c feat(task): make task query without returning content 2020-01-17 16:51:01 +01:00
Lorenzo Affetti ceb6598cbf
Merge pull request #16548 from influxdata/feat/ret-no-cont-with-err
feat(query): add 'Prefer: return-no-content-with-error' behavior
2020-01-17 16:24:55 +01:00
Zoe Steinkamp f4ba7db697 fix: Fixing master gauge issues 2020-01-16 13:55:30 -07:00
Zoe Steinkamp cd8eeaaf95
Merge pull request #16532 from influxdata/zs-optionalsuffix15909
Zs optionalsuffix15909
2020-01-16 09:14:13 -07:00
Zoe Steinkamp 8835f4ea1d feat(ui): add the optional suffix and prefix to guage (#15909) 2020-01-16 08:40:40 -07:00
Zoe Steinkamp 9afac5bac6 feat(ui): add the optional suffix and prefix to guage (#15909) 2020-01-16 08:40:40 -07:00
Zoe Steinkamp eef22147ad fix(tasks): validate check params new backend error message 2020-01-16 08:40:17 -07:00
Zoe Steinkamp d8df75e6c3 fix(tasks): validate check params new backend error message 2020-01-16 08:40:17 -07:00
Zoe Steinkamp 030a7312eb fix(tasks): validate check params new backend error message 2020-01-16 08:40:17 -07:00
Zoe Steinkamp 4a17bf1424 fix(tasks): validate check params new backend error message 2020-01-16 08:40:17 -07:00
Zoe Steinkamp 1b4496d0fc fix(tasks): validate check params new backend error message 2020-01-16 08:40:17 -07:00
Zoe Steinkamp 75e7e0d369 fix(tasks): validate check params new backend error message 2020-01-16 08:40:17 -07:00
Lorenzo Affetti 1d0ea8ab64 feat(query): add 'Prefer: return-no-content-with-error' behavior 2020-01-15 16:42:29 +01:00
Johnny Steenbergen 41beaf0bd5 fix(pkger): fixes issue where pkger can't discern the mime/content type of a package
also makes the yaml decoder the default. To foten we end up in application/octet-stream
which is the default for many different mime types. This provides a mechanism
around that so that when the automagical detection fails it can allow the user
to provide it via the CLI.
2020-01-14 15:44:48 -08:00
Stuart Carnie 1a97dcf17a
Merge pull request #16531 from influxdata/sgc/issue/5661
feat(http): Enforce limits in write handler and expose config options
2020-01-14 15:37:38 -07:00
Johnny Steenbergen 63fd1e2e9a feat(pkger): make pkger packages CRD compliant 2020-01-14 13:20:00 -08:00
Stuart Carnie 4122a5dfec
feat(http): Enforce limits in write handler and expose config options 2020-01-14 09:13:40 -07:00
Johnny Steenbergen fe12fd051e feat(pkger): add jsonnet support for package files 2020-01-13 09:55:08 -08:00
Johnny Steenbergen fdc3e7658c feat(pkger): add ability to supply a pkg from a url
the following is now possible from the CLI(same in REST API):
  influx pkg -u 1717709ffa/bucket_pkg_json
2020-01-12 07:53:58 -08:00
George 560cd3faee
fix(http): expose max batch size bytes limit open on *APIBackend (#16497) 2020-01-10 16:00:37 +00:00
George a0c18c9ef7
feat(http): add configurable limit to points batch size on write endpoint (#16469) 2020-01-10 11:02:44 +00:00
Alirie Gray 4ad9e6b6b5
fix(tasks): add content length check to decode force run request (#16458) 2020-01-08 18:55:42 -08:00
Johnny Steenbergen c8aabaf515 chore(http): fixup middleware stack and normalize metrics into same buckets for id fields 2020-01-08 15:05:34 -08:00
Lorenzo Affetti dc4900e252 feat(query): add dialect to discard output 2020-01-08 16:46:52 +01:00
Gavin Cabbage 6fe69549d4 feat(query): add source to query request via user agent header 2020-01-07 09:28:49 -05:00
Ariel Salem 4dbc7ec771
chore(ui): refactored variables client API to oats generated types and API (#16400)
chore(ui): refactored variables client API to oats generated types and API
2020-01-06 12:57:52 -08:00
Deniz Kusefoglu 219d73bf60
fix(notificationrules): Correct logic on matching notification rules (#16328)
* fix(notificationrules): Correct logic on matching notification rules

* feat(nrs): Add more tests
2019-12-31 23:44:27 +00:00
Deniz Kusefoglu fcc39e371f
feat(checks): Add custom check type (#16350)
* feat(checks): Add custom check type

* feat(checks): Remove alert builder from custom check

* feat(checks): Add AlertBuilderAction to list of possible actions

* feat(checks): Query visualization does not make sense for custom check

* feat(check): check editor should only reexecute queries if view query changes

* Update ui/src/timeMachine/components/TimeMachineFluxEditor.tsx

Co-Authored-By: Bucky Schwarz <hoorayimhelping@users.noreply.github.com>

* Address PR review

Co-authored-by: Bucky Schwarz <hoorayimhelping@users.noreply.github.com>
2019-12-31 20:21:48 +00:00
Johnny Steenbergen e6f1805e5e chore(inmem): nuke the duplicative inmem store
use kv store... its a thing
2019-12-30 11:04:45 -08:00
Johnny Steenbergen cce279a80e feat(pkger): add ability to provide secrets alongside package when applying
this provides the ability to add secret refs at runtime instead of adding
them to the pkg.
2019-12-27 12:41:42 -08:00
Ariel Salem 79c5c79286
feat(ui): added notification rule & checks last run status & error (#16338)
feat(ui): added last run status checks for notification rules and check rules, readded updateCheck to fix linter and functionality issues with program and added tests to ensure check creation and update stability
2019-12-27 10:14:34 -08:00
Johnny Steenbergen 5569193116 fix: add custom marshaler to dashboard builder config to stop breaking all external api clients with nil vals 2019-12-26 14:53:14 -08:00
Johnny Steenbergen 1c2421cb9c feat(pkger): add export support for tasks 2019-12-23 15:41:14 -08:00
Johnny Steenbergen c9431bceb8 feat(pkger): add apply functionality for task resource 2019-12-23 13:56:42 -08:00
Johnny Steenbergen 8e87498317 feat(pkger): add dry run functionality for task resource 2019-12-23 11:40:28 -08:00
Johnny Steenbergen af5b7fd7d3 feat(pkger): add export support for notification rules 2019-12-21 14:58:02 -08:00
Greg abd8ce0089
feat(http): add functionality to retrieve/store telegraf config as toml (#16132) 2019-12-20 14:20:13 -07:00
Johnny Steenbergen 61dceaa727 feat(pkger): add application functionality for the notification rules resource 2019-12-20 12:48:46 -08:00
Johnny Steenbergen 02aec6ed29 feat(pkger): add dry run functionality for notification rules 2019-12-19 16:31:22 -08:00
Johnny Steenbergen a8a4d3d0b2 feat(pkger): add export functionality to checks resource 2019-12-18 17:52:28 -08:00
Johnny Steenbergen 677e836bf4 feat(pkger): add apply functionality for checks
this work is to support pkger, but was able to add back in the
skipped tests. seeing failures upstream, and didn't catch it in
influxdb b/c the tests were being skipped.

closes: #14799
2019-12-18 15:02:03 -08:00
Johnny Steenbergen 1db3256980 feat(pkger): add check dry run functionality 2019-12-18 12:15:08 -08:00
Johnny Steenbergen 13ac83e0c4 chore: refactor bits of checks and its dependencies for readability 2019-12-18 11:07:19 -08:00
George ff38420558
feat(tasks): remove flux stats from run log and replace with trace id (#16263)
* feat(tasks): trace id in task run logs

* refactor(tracing): move trace info utility into kit/tracing package
2019-12-18 16:30:38 +01:00
Johnny Steenbergen 213cdf58a9 chore(http): cleanup http pkg's check implementation cruft 2019-12-17 21:49:34 -08:00
Greg 41e771a464
feat(http): expose list of available telegraf plugins (#16233) 2019-12-17 16:53:19 -07:00
Johnny Steenbergen 2fb1a5d3eb chore(http): refactor source http service client to use httpc.Client 2019-12-17 13:19:33 -08:00
Johnny Steenbergen f527636fe0 chore(http): refactor user http service to use the httpc.Client 2019-12-17 12:49:14 -08:00
Johnny Steenbergen 1c2b900687 chore(http): refactor auth service http client to use httpc.Client
normalizing the auth service http client to follow suit with other services.
2019-12-17 12:18:16 -08:00
Johnny Steenbergen d42bbb3c64 feat(pkger): add support for exporting notification endpoints 2019-12-17 11:33:34 -08:00
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
Johnny Steenbergen 9d5392cfd9 fix(logging): add debug logging for all http requests 2019-10-07 14:19:21 -07:00
Jakub Bednář ea9cf13af6
fix(notification/rule): fixed http NotificationRule (#15245)
* Fixed handler path for a list of all labels for a notification rule
* Fixed filtering NotificationRules by limit and offset
2019-10-07 09:36:55 +02:00
George 9f5390e449
feat(auth): add jwt support in auth middleware (#15152) 2019-09-27 12:12:41 +01:00
Jakub Bednář 732c0cc28d
fix(http): update NotificationRuleBase and NotificationRule schema to reflect reality (#15244)
* NotificationRuleBase: the endpointID should be required and editable, there is missing a links property
 * NotificationRule: add discriminator
 * add a missing TraceSpan parameter into a GetNotificationRules and GetChecks
2019-09-26 12:07:44 +02:00
Jakub Bednář 95d6301458
fix(http): add a discriminator for a Threshold schema, add links into CheckBase schema (#15198) 2019-09-26 11:09:59 +02:00
Michael Desa ca937eaf11
fix(http): lookup task before clearing it's id from the notification rule 2019-09-25 16:33:05 -04:00
Johnny Steenbergen 4da248ec30
Merge pull request #15275 from influxdata/task/15258_remove_senstive_data_logging
chore(http): remove logging of senstive data
2019-09-25 10:13:10 -07:00
Johnny Steenbergen fc955c5abe chore(http): remove logging of senstive data
after discussion with team, dropping the request logging was decided on.
2019-09-25 09:49:09 -07:00
Jakub Bednář ff2747a728
fix(http/check): fix handler path for a list of all labels for a check (#15216) 2019-09-25 09:07:24 +02:00
Jakub Bednář d23b1f9904
fix(http): add discriminator for Check schema (#15178) 2019-09-25 08:50:09 +02:00
Brandon Farmer f61fe82708 fix(influxdb): Always return user status 2019-09-24 15:19:16 -07:00
Michael Desa d48b28e533
fix(http): prevent writing to http request multiple times
Closes https://github.com/influxdata/influxdb/issues/15260

Additionally, we look up a task before clearing the taskID from the
check.
2019-09-24 15:48:36 -04:00
Kelvin Wang 4aa6df1c34 fix(cmd/influx): org add/remove members 2019-09-24 13:26:18 -04:00
kelwang c3127c8cdd
Merge pull request #15179 from bednar/check-cron
fix(alerts): remove the cron option from checks/rules
2019-09-23 21:28:02 -04:00
kelwang 236e8c14ee
Merge pull request #15150 from bednar/flux-paren-expression
fix(http): add ParenExpression
2019-09-23 21:26:57 -04:00
Jakub Bednář 9f0d9f6ecb fix(http): fix NotificationEndpoint: (#15148)
* Add TraceSpan parameter to GetNotificationEndpoints operation
* Fixed handler path for a list of all labels for a notification endpoint
* Fixed filter NotificationEndpoints by limit and offset
2019-09-23 15:55:37 -07:00
Brandon Farmer d83fabeabc feat(influxdb): user disabling 2019-09-23 11:57:16 -07:00
Jakub Bednar 8089b9c7ea fix(http): fix capitalization 2019-09-23 10:30:20 +02:00
Jakub Bednar 83997a7345 fix(http): add ParenExpression 2019-09-23 10:29:09 +02:00
Jakub Bednar 265bc7bf2a fix(alerts): remove the cron option from checks/rules 2019-09-23 10:20:22 +02:00
Scott Anderson c24710a00d
chore(swagger): general cleanup of swagger.yml (#15223) 2019-09-21 10:15:42 -06:00
Jonathan A. Sternberg cbd04f2884
refactor: http error serialization matches the new error schema (#15196)
The http error schema has been changed to simplify the outward facing
API. The `op` and `error` attributes have been dropped because they
confused people. The `error` attribute will likely be readded in some
form in the future, but only as additional context and will not be
required or even suggested for the UI to use.

Errors are now output differently both when they are serialized to JSON
and when they are output as strings. The `op` is no longer used if it is
present. It will only appear as an optional attribute if at all. The
`message` attribute for an error is always output and it will be the
prefix for any nested error. When this is serialized to JSON, the
message is automatically flattened so a nested error such as:

    influxdb.Error{
        Msg: errors.New("something bad happened"),
        Err: io.EOF,
    }

This would be written to the message as:

    something bad happened: EOF

This matches a developers expectations much more easily as most
programmers assume that wrapping an error will act as a prefix for the
inner error.

This is flattened when written out to HTTP in order to make this logic
immaterial to a frontend developer.

The code is still present and plays an important role in categorizing
the error type. On the other hand, the code will not be output as part
of the message as it commonly plays a redundant and confusing role when
humans read it. The human readable message usually gives more context
and a message like with the code acting as a prefix is generally not
desired. But, the code plays a very important role in helping to
identify categories of errors and so it is very important as part of the
return response.
2019-09-19 10:06:47 -05:00
Jonathan A. Sternberg ff7d13a10a
docs(http): fix the documentation for the query swagger endpoint (#15181)
The `/query` swagger endpoint now specifies that error messages are
returned as the standard JSON schema. The standard JSON schema has also
been changed slightly so that only `code` and `message` are documented
and the intention is that we will flatten the message from an
`influxdb.Error` before we encode the JSON.
2019-09-18 18:31:12 -05:00
Chris Goller 5b4c0db4a0
test(http): add unit tests for /api/v2/write (#15128)
test(http): add unit tests for /api/v2/write
2019-09-12 13:57:06 -05:00
Chris Goller 1d14ba1d1c
feat(http): add validation checks to PUT requests (#15096)
feat(http): add validation checks to PUT requests
2019-09-12 13:42:37 -05:00
Chris Goller bb72fdeae0 test(http): add unit tests for /api/v2/write
We have been tracking down odd error messages when writing data and
found the problem to be internal server errors when writing empty
bodies.

I added fairly comprehensive test coverage for /api/v2/write as well
as simplify and clarify the error messages.
2019-09-12 13:39:24 -05:00
kelwang 63c5311494
Merge pull request #15111 from bednar/notification-endpoint
docs(http): update NotificationEndpoint swagger definition to reflect reality
2019-09-12 11:09:17 -04:00
Kelvin Wang aed8035472 fix(notification/endpoint): pagerduty clientURL should be optional 2019-09-11 15:26:50 -04:00
kelwang f9b8ae32a5
Merge pull request #15010 from influxdata/invalid_post_bucket_request
fix(http): post bucket validation.
2019-09-11 09:54:01 -04:00
Jakub Bednar a8ad9e2615 docs(http): update NotificationEndpoint swagger definition to reflect reality 2019-09-11 11:53:44 +02:00
Chris Goller 280b78e45d feat(http): add validation checks to PUT requests
It was possible to create checks with invalid data causing
odd internal errors to return from the layers far down below.

Likely, we need to add more checks to the validation, but, I have
not thoroughly checked.
2019-09-10 09:29:04 -05:00
Michael Desa 515df68a83
fix(http): add return after returning system bucket errror 2019-09-10 09:47:44 -04:00
Michael Desa ea1b7bec09
fix(pagerduty/rule): change url to clientURL for pagerduty endpoint/rule
Closes https://github.com/influxdata/influxdb/issues/15042

Previously, there was an optional URL provided for the pagerduty
endpoint. However, the pagerduty API url does not change and as a result
it should not have been a parameter. The Pagerduty API does require a
`clientURL` that is presented in the pagerduty UI when an alert is
triggered. Currently that value will default to the alerts history page
for the organization.
2019-09-09 19:09:35 -04:00
Chris Goller 623224614e feat(kv): random ids without comma, space, backslash for org and bucket
At times snowflake id generation would create org and bucket IDs with
characters that had special meaning for the storage engine.

The storage engine concats the org and bucket bytes together into a
single 128 bit value.  That value is used in the old measurement
section.  Measurement was transformed into the tag, _measurement.

However, certain properties of the older measurement data location
are still required for the org/bucket bytes.  We cannot have
commas, spaces, nor backslashes.

This PR puts a specific ID generator in place during the creation of
orgs and buckets.  The IDs are just random numbers but with each
of the restricted chars incremented by one.  While this changes the
entropy distribution somewhat, it does not matter too much for our
purposes.

... because now org and bucket ids are checked for previous existence
transactionally in the key-value stores.  If the ID does already exist
then we try to generate a new key up to 100 times.
2019-09-08 01:50:05 -05:00
Jade McGough c1cd152363
feat(http): Add bucket types (#15045) 2019-09-06 17:52:54 -07:00
Kelvin Wang d08122124f feat(notification/endpoint): add headers to http endpoint 2019-09-06 12:38:42 -04:00
Kelvin Wang db33f4bd24 fix(http): post bucket validation. 2019-09-06 11:24:52 -04:00
Russ Savage 225f426e08
fix(slack): remove option for token in UI (#14998)
* fix(slack): remove option for token in UI

* fix(slack): fix linting

* fix(slack): updating tests

* fix(slack): updating go tests

* fix(slack): fixing js test
2019-09-05 22:28:35 -07:00
Jade McGough 6e6e7fef9b
feat(http): block writes to system buckets (#14920) 2019-09-05 11:22:18 -07:00
Kelvin Wang f1675a33d5 fix(http): fix check update swagger 2019-09-05 13:58:35 -04:00
Kelvin Wang a83f8dd205 feat(http): add rule query endpoint 2019-09-05 10:22:07 -04:00
Jade McGough d147874c1e
fix(kv): mock system buckets (#14884) 2019-08-30 12:47:06 -07:00
Michael Desa bc77f94024
fix(notification/check): rename _check_type to _type in check object in flux
Previously we passed a property called _check_type instead of just passing a property called _type.
2019-08-30 10:54:16 -04:00
Deniz Kusefoglu 9450149561
Add Any to rule levels (#14866)
* WIP

* Fix UI linter errors from swagger changes to Level Rule

* Prevent same level selection on changes from

* Remove unused get

* Fix prettier error

* chore(notification/rule): change level rule to check level for rules
2019-08-29 17:46:00 -07:00
Michael Desa 0da82319a8
feat(notification/check/threshold): add createEmpty false to aggregateWindow 2019-08-29 18:36:18 -04:00
Kelvin Wang 7a677e9532 fix(http): fix notfication endpoint secret store 2019-08-28 16:02:17 -04:00
Jade McGough 2fa1ca3f49
feat: add metadata for system buckets when org is created (#14741)
feat: add metadata for system buckets when org is created
2019-08-28 12:50:23 -07:00
Jade McGough cd2e29cbcb
feat(swagger): notification rule tag filtering (#14793)
feat(swagger): notification rule tag filtering
2019-08-28 09:25:54 -07:00
Michael Desa 02bda26866
feat(deadman): add staleTime duration to deadman check
fix(deadman): change timeSince to a duration string instead of int
2019-08-28 10:16:38 -04:00
Deniz Kusefoglu 8766243470
Rule Check Endpoint polish (#14817)
* Make endpoint description field normal sized

* Add password type to secret inputs

* de-snarkify and remove defaults from new-endpoint-draft

* Make new tag rules unique

* Remove hardcoded fields in initRuleDraft

* Add tag rule make statusRule is equal to level

* Status rule can be "is equal to"

* Remove cron option from rule

* Add the text lastupdated to cards

* Fix offset and every copy

* Improve Tags in checks

* Move threshold deadman selector to conditions card

* Filter empty tag rules on notification rules

* Make dismiss button gray

* Fix review comments

* remove irrelevant tests

* Fix missing url field from http rule
2019-08-27 19:35:20 -07:00
Michael Desa b26ed76d6a
fix(notification/check): ensure cloud integration works
fix(notification/check): include tags in check object in generated flux

Closes https://github.com/influxdata/influxdb/issues/14769

fix(notification/check): use selected field in threshold functions

Closes https://github.com/influxdata/influxdb/issues/14776

fix(testing): add selected field for check tests

fix(check): use real flux for threshold check

feat(notification/check): generate flux for deadman checks

chore(endpoint): rename webhook endpoint to http endpoint

fix(notification/rule): fetch url for flux script off of endpoint

fix(notification/rule): clean up slack and http rules

fix(notification/rule): change MessageTemp to MessageTemplate

fix(rules): pass endpoint in to rule during create

fix(ui): rename webhook to http

feat(notification/check): namespace deadman under alerts

fix(notification/check): nest tags under tags key in data object in flux

wip

feat(kv): log error if urm cannot be deleted for notification rule

fix(notification/rule): remove name from notify call in slack rule

chore(ui/cypress/e2e): skip rule create test
2019-08-27 15:02:53 -04:00
Michael Desa add4bcb873
fix(http): remove non-txn task Create/Update/Delete for nofitication rules 2019-08-26 07:55:43 -04:00
Michael Desa df628f21de
fix(http): remove non-txn task Create/Update/Delete for checks 2019-08-26 07:55:43 -04:00
Jakub Bednář 2e746d8179
docs(http): update suggestions swagger definition to reflect reality (#14725) 2019-08-26 08:12:39 +02:00
Jakub Bednář 094d8e3174
docs(http): update swagger for easily use in clients (#14724)
* added missing Permission types: notificationRules, notificationEndpoints, checks
* Authorization links use Link as a type
* Run's logs are readonly
* TaskCreateRequest and TaskUpdateRequest has description property to update Task description
2019-08-26 08:11:52 +02:00
Deniz Kusefoglu 0bee8ac0eb
Feat/monitoring labels (#14751)
* add labels to alerting swagger

* Add labels to checks

* Add labels to rules

* Add labels to endpoints

* Fix endpoint swagger bugs

* Update endpoint swagger to reflect reality

* Add endpoint delete and update to cards

* add equality

* Add rule patch

* Update endpoint should put

* Update http/swagger.yml

Co-Authored-By: Christopher Henn <chris@chrishenn.net>

* Apply suggestions from code review

Co-Authored-By: Christopher Henn <chris@chrishenn.net>

* fix updateEndpoint
2019-08-22 16:22:01 -07:00
Kelvin Wang 4a7679b693 feat(http): checks query endpoint 2019-08-22 14:40:42 -04:00
docmerlin (j. Emrys Landivar) 19fe098888 chore(ci): update go-tools 2019-08-22 10:55:05 -05:00
Michael Desa c433f50cec
chore(alerts_notifications): add misc changes to alerts ui for demo
Create view with checkID in NewVEO

fix ruleToDraftRule bug

Fix no thresholds error

Get correct view status for rendering cell

Fix editVEO flow

Add notification endpoint ID to initRule

Remove task type from check and notification rule

mock generate AST

use check query in EditCheckEO

wip

Create default http notification endpoint

Co-authored-by: Michael Desa <mjdesa@gmail.com>

Dont save view if no dashboardID in saveCheck

Execute queries in editCheckEO

Fix check remove bug

Disable Advanced view and multiple queries in check builder

Disable alerting button if draftQuery is not alertable

chore(kv/check): remove createCheckTask from KV as the result of #14728
2019-08-21 17:28:49 -04:00
kelwang 99cebbbdc1
Merge pull request #14714 from influxdata/create_task_in_stack
chore(http): split taskservice from check and notification
2019-08-20 11:20:15 -04:00
Lyon Hill 0b247cce5b
feat(task): Remove token's from task structures (#14712)
* feat(task): Remove token's from task structures

We had previously removed token's from the task api but left the token in place in several locations in the stack.
Now we can cleanly remove the extra tokens.
2019-08-20 08:42:40 -06:00