Commit Graph

1162 Commits (719f296d2d78d7d5559471a42fc4820076e660c5)

Author SHA1 Message Date
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
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
Kelvin Wang 03f6214d0e chore(http): split taskservice from check and notification 2019-08-19 18:56:17 -04:00
Andrew Watkins 286d57b0ba
feat(notifications): create notification endpoint overlay (#14693)
* chore: update swagger definitions

* feat(endpoints): introducer endpoint overlay

* wip: change endpoint type

* feat(endpoint): add inputs for supported endpoint types

* wip: connect create endpoint to API

* feat: implement create endpoint

* alerts(e2e): add createEndpoint command

* chore: update swagger
2019-08-19 10:57:20 -07:00
Michael Desa ed853290a3
Merge pull request #14695 from influxdata/feat/notification-flux
feat(notifiction_rule): create notification rule task
2019-08-19 07:51:18 -04:00
Michael Desa 8e56c36737
feat(notification_rule): create notification rule task
feat(notification_rule): generate base flux for notification rule

wip: saving state

fix(notification/endpoint): add comment about weird requirements

feat(notification_rule): create notification rule task
2019-08-16 15:43:15 -04:00
Alirie Gray 28089fdb59 feat(tasks): add ability to find tasks by name 2019-08-16 12:07:11 -07:00
Michael Desa a2a9eb5e49
feat(check): pass ownerID to task on create 2019-08-16 07:12:28 -04:00
Kelvin Wang bbb4fbc50d fix(notification/check): remove authorizationID 2019-08-16 00:00:55 -04:00
Kelvin Wang c5100f3eae feat(http): add notification endpoint 2019-08-15 21:56:21 -04:00
Lyon Hill a8d7870689
feat(task): impersonate user on task execution (#14675)
* feat(task): impersonate user on task execution

Passing tokens to tasks is cumbersome and we needed a way to more easily create tasks. With this change we no longer need a token on task create. We take the user that created the task and pass that in as the "owner". As far as the task is concerned the owner is the source of permissions.

This is done by adding an additional field on task create that is OwnerID. We will no longer respect the token passed in and it will be deprecated soon.

Things to do still:
Task updates need to allow for owners to be set.
2019-08-15 18:31:52 -06:00
kelwang d01b91667d
Merge pull request #14679 from influxdata/notification_auth_id
fix(notification/rule): remove authID requirement
2019-08-15 19:54:18 -04:00
Kelvin Wang f3dcdee504 fix(notification/rule): remove authID requirement 2019-08-15 19:31:45 -04:00
Christopher Henn 33a5d8ff5d feat(ui): integrate notification rule overlays with API 2019-08-15 16:24:52 -07:00
Kelvin Wang f688697ca6 fix(notification/check): convert threshold type 2019-08-15 16:53:46 -04:00
Deniz Kusefoglu e1508ac2e1
feat(checks): add first pass at creating tasks from checks
First pass at flux AST generation from check

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

fix(notification/check): format call expression

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

fix(notification/check): cleanup CheckDefinition

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

fix(notification/check): clean up threshold functions

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

fix(notification/check): clean up message function

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

fix(notification/check): misc fixes

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

fix(notification/check): remove dead code

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

fix(notification/check): move threshold flux generation to check pkg

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

fix(notification/check): move base ast generation to its own package

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

fix(notification/check): add comment for GenerateFluxAST

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

docs(notification/flux): add comments to each exported function

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

feat(notification/check): add tests for GenerateFlux

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

feat(notification/check): add task options to generated flux

fix(notification/check): use flux compatible duration type

test(notification/check): add task option to task definition

test(http): use check Duration in checks http handlers

feat(check): add TaskID to checks base

fix(notification/check): hack around issue with formatting ast package
wtih multiple files

test(check): create task when check is created

A lot of little changes had to happen as a result of this. This change
was rather painful.

feat(checks): add update and delete of task for check

fix(notifications/check): hack around the alerts package not being
available

test(kv): temporarily skip check tests while we merge the pr above
2019-08-15 15:07:09 -04:00
Michael Desa c355e62a27
Revert "feat(notification/check): convert threshold type" 2019-08-15 13:53:44 -04:00
Kelvin Wang d8a88e1865 feat(notification/check): convert threshold type 2019-08-15 12:11:22 -04:00
Russ Savage 8a5d0e6230
feat(templates): adding new templates, removing calls to create templates (#14631)
* adding new templates; removing calls to create templates

* fixing quickstart dashboard creation

* Type dashboard template

* bump templates repo version

* add templateID to template meta in swagger

* Add templateID to document meta type in UI

* add templateID to telegrafPlugin and telegrafplugin info types

* Instantiate templates from static templates

* Get tests to pass

* Fix type conflicts

* Bump templates version

* update changelog
2019-08-14 11:01:19 -07:00
Deniz Kusefoglu 17c40a75de
Visualize check view with check plot (#14599)
* Use CheckPlot to visualize check view

* Revert to add threshold types

* Disable view type dropdown in checkView

* Add proper equality

* Add errors in default cases
2019-08-08 12:25:58 -07:00
Jonathan A. Sternberg cb9d8eafe7
fix(http): use the content type header to determine how to parse http errors (#14596)
This will only attempt to parse an error as JSON if it has the content
type `application/json` so that it stops trying to parse the result as
JSON when it isn't JSON.

While the real error message is included, the addition of the "could not
parse json" makes it very confusing to read and distracts from the real
issue.
2019-08-08 14:23:43 -05:00
Andrew Watkins 7d9ec64eec
build(client): generate client on each build (#14591)
* chore: add new types for NotiicationRules

* build(client): remove client and build each build

* chore: update gitignore to exclude generated client

* fix: allow client dir to be empty

* docs: add README to client dir

* fix(build): add autogen client to eslintignore

* build: gen client for ci js tests
2019-08-07 13:42:35 -07:00
Lyon Hill e922c8a26f
feat(task): add task types (#14567) 2019-08-06 10:27:52 -06:00
zhulongcheng 17de20e80f fix(task): check ErrTaskNotFound err (#14489) 2019-08-06 10:17:30 -06:00
Jakub Bednář b6b5befad7
fix(http): The org parameter takes either the ID or Name interchangeably (#14540) 2019-08-06 06:20:26 +02:00