Commit Graph

133 Commits (db/update-protos)

Author SHA1 Message Date
Johnny Steenbergen 4838a94eed feat(pkger): add export stack command to influx CLI
closes: #18271
2020-06-02 08:18:11 -07:00
Johnny Steenbergen 3dcd5d496f feat(pkger): add ability to export by stack
this ability exports all resources associated with a stack by the same
metadata.name fields as the original application had done it. This can
be used as a means to snapshot the current state of the stack. This can
be used for source control or other means.

closes: #18271
2020-06-02 08:18:11 -07:00
Johnny Steenbergen 53794bfae5 feat(pkger): make all pkg applications stateful
if no stack is provided then one will be provided for you.

closes: #17997
2020-05-28 16:59:21 -07:00
Johnny Steenbergen b25b4021c3 chore(pkger): refactor return values for Apply/DryRun to enable extending it
references: #17997
2020-05-28 15:34:15 -07:00
Johnny Steenbergen 37d44d882d chore(pkger): handle edge cases for telegraf configs that manifest from user interaction
closes: #17434
2020-05-06 16:49:50 -07:00
Johnny Steenbergen 3eb5af969a chore(pkger): handle edge cases for tasks that manifest from user interaction
references: #17434
2020-05-06 16:49:50 -07:00
Johnny Steenbergen 7be0d8289b chore(pkger): handle edge cases for rules that manifest from user interaction
references: #17434
2020-05-06 16:18:48 -07:00
Johnny Steenbergen 7f8aa4c40f chore(pkger): handle edge cases for endpoints that manifest from user interaction
references: #17434
2020-05-06 15:56:32 -07:00
Johnny Steenbergen b4b52570b4 chore(pkger): handle edge cases for labels that manifest from user interaction
references: #17434
2020-05-06 15:26:01 -07:00
Johnny Steenbergen d4aa3be8db chore(pkger): handle edge cases for dashboards that manifest from user interaction
references: #17434
2020-05-06 15:12:30 -07:00
Johnny Steenbergen 485cc3ea54 chore(pkger): handle edge cases for checks that manifest from user interaction
references: #17434
2020-05-06 14:57:04 -07:00
Johnny Steenbergen 24dd13bcc6 chore(pkger): handle edge cases for buckets that manifest from user interaction
references: #17434
2020-05-06 14:19:44 -07:00
Johnny Steenbergen f575ea8d41 chore(pkger): handle edge cases that can manifest from users in the platform and stateful pkg applications
references: #17434
2020-05-06 13:01:50 -07:00
Johnny Steenbergen 3fd731511a chore(pkger): make integration stack tests indpendent 2020-05-05 11:01:13 -07:00
Johnny Steenbergen 784b222d4d feat(pkger): enforce metadata.name dns name compliance
this PR includes a lot of small changes to names in existing test pkgs.
the tests are updated to follow suit.

closes: #17940
2020-05-04 12:40:22 -07:00
Johnny Steenbergen 95ad3c6582 feat(pkger): add the ability to remove a stack and all its associated resources
closes: #17554
2020-05-01 16:18:13 -07:00
Johnny Steenbergen c7e97f1625 feat(pkger): add service and http server integreations for stack lists
references: #17554
2020-04-30 13:24:15 -07:00
Johnny Steenbergen ff27edbea9 feat(pkger): add support for using URLs associated with stack to apply/dry run 2020-04-29 16:48:00 -07:00
Johnny Steenbergen 72906a4484 feat(pkger): add support for stateful label mappings
references: #17434
2020-04-24 17:05:55 -07:00
Johnny Steenbergen 1ac383de66 fix(launcher): removed timed contexts for launcher pkger tests 2020-04-24 10:52:50 -07:00
Johnny Steenbergen 3acd860563 feat(pkger): add stateful management for notification rules
references: #17434
2020-04-23 11:47:32 -07:00
Johnny Steenbergen 47e5facc81 feat(pkger): add stateful management for telegraf configs 2020-04-21 15:47:49 -07:00
Johnny Steenbergen 596d8fde45 feat(pkger): add stateful management for tasks
notes on this commit. This commit was grueling ;-(. The task API is not a friendly
API to consume. There are a lot of non obvious things going on and almost every
one of them tripped me up. Things of note:

* the http.TaskService does not satisfy the influxdb.TaskService,
  making it impossible to use as a dependency if tasks service gets
  split out
* the APIs for create and update do not share common types. For example:
  creating a task takes every field as a string, but in the update it is
  taken as a options.Duration type. A step further and you'll notice that
  create does not need an option to be provided, but the update does. Its
  jarring trying to understand the indirection here. I struggled mightily
  trying to make sense of it all with the indirection and differing types.
  Made for a very difficult task (no pun intended) when it should have been
  trivial. Opportunity here to fix these up and make this API more uniform
  and remove unneccesary complexity like the options type.
* Nested IDs that get marshaled, are no bueno when you want to marshal a task
  that does not have an ID in it, for either user/org/or self IDs. Its a challenge
  just to do that.
* Lots of logs in the kv.Task portion where we hit errors and log and others where
  we return. It isn't clear what is happening. The kv implementation is also very
  procedural, and I found myself bouncing around like a ping pong ball trying to
  make heads or tails of it.
* There is auth buried deep inside the kv.Task implementation that kept throwing me
  off b/c it kept throwing errors, instead of warns. I assume, not sure if I'm
  correct on this, but that the stuff being logged is determined inconsequential
  to the task working. I had lots of errors from the auth buried in there, and hadn't
  a clue what to make of it....

leaving these notes here as a look back at why working with tasks is so
difficult. This API can improve dramatically. I spent 5x the time trying
to figure out how to use the task API, in procedural calls, than I did
writing the business logic to consume it.... that's a scary realization ;-(

references: #17434
2020-04-21 09:14:20 -07:00
Johnny Steenbergen c483aec2d2 feat(pkger): add stateful management for dashboards 2020-04-20 14:04:45 -07:00
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
Johnny Steenbergen 94ae519cc6 chore(pkger): refactor parser notification endpoint state out into stateful type
references: #17434
2020-04-15 14:26:25 -07: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 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
Johnny Steenbergen dd432360cc feat(pkger): update notification rule with unique constraints 2020-04-08 10:36:21 -07:00
Johnny Steenbergen c245f3233b chore(pkger): add stack state management for notification endpoints 2020-04-06 14:56:56 -07:00
Johnny Steenbergen 1e19f38502 chore(pkger): add stack state management for variables 2020-04-06 10:22:55 -07:00
Jonathan A. Sternberg 0ae8bebd75
refactor: rewrite imports to include the /v2 suffix for version 2 2020-04-03 12:39:20 -05:00
Johnny Steenbergen 21d2bf5dc6 chore(pkger): add stack state management for checks 2020-04-02 16:32:20 -07:00
Johnny Steenbergen 762e9a422e feat(pkger): add stack state management for labels 2020-04-02 09:03:59 -07:00
Johnny Steenbergen 34c3b35ca3 feat(pkger): add stack state management for buckets 2020-04-01 13:09:14 -07:00
Johnny Steenbergen 37646464b3 feat(pkger): add stack init cmd to influx cli
closes: #17235
2020-03-27 08:32:58 -07:00
Johnny Steenbergen 8c70dc9b23 feat(pkger): add create stack endpoint for http server 2020-03-26 12:37:43 -07:00
Johnny Steenbergen e116ecaf5e feat(pkger): add CRUD store implmentation 2020-03-20 10:15:02 -07:00
Johnny Steenbergen 2d1186a696 feat(pkger): add human readable random names to pkg resource metadata.name field one export 2020-03-20 08:18:04 -07:00
Johnny Steenbergen 8d546f4197 feat(pkger): extend tasks with ability to define and rename it
closes: #17233
2020-03-19 10:50:53 -07:00
Johnny Steenbergen 51b0b9f681 feat(pkger): extend notification rules with ability to define and rename it 2020-03-19 08:59:07 -07:00
Johnny Steenbergen c6f4d3992e feat(pkger): extend dashboard to be able to define and rename it 2020-03-18 17:02:35 -07:00
Johnny Steenbergen b3927f4945 feat(pkger): extend telegraf configs to be able to define a config and rename it 2020-03-18 15:14:48 -07:00
Johnny Steenbergen 5711415b78 feat(pkger): extend variables to be able to define a variable and rename it 2020-03-17 12:32:19 -07:00
Johnny Steenbergen 136822da51 feat(pkger): extend endpoints to be able to define a endpoint and rename it 2020-03-17 11:31:33 -07:00
Johnny Steenbergen 43de2fb4e8 feat(pkger): extend checks to be able to define a check and rename it 2020-03-17 08:16:04 -07:00
Johnny Steenbergen de32cf94d0 feat(pkger): extend labels to be able to define a label and rename it 2020-03-16 16:20:42 -07:00
Johnny Steenbergen 952d7d7528 feat(pkger): extend buckets to be able to define a bucket and rename it
this work is the first of making resources ALL unique by metadata.name. The
displayName is a means to rename an existing resource. This is all to support
pkger idempotency. The metadata.name field will be the unique identifier within
a pkg.
2020-03-16 14:18:30 -07:00
Johnny Steenbergen de24c0e813 feat(influx): extend pkg export all cmd to allow for filtering of output
currently, support by filtering labelName and or by resource kind

closes: #17029
2020-03-09 09:27:01 -07:00
Johnny Steenbergen 1c9fd705a3 feat(pkger): add support for exporting org resources filtered by label 2020-03-06 14:51:01 -08: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
Johnny Steenbergen fca4e13255 fix(pkger): fix issue with imports causing option task to be injected at wrong point
closes: #17069
2020-03-02 15:19:54 -08:00
Johnny Steenbergen 46758e3370 fix(pkger): correct the export of tasks to include system type tasks
wrong assumption in original design. The system tasks are actually
the CRUD tasks. Name is a bit confusing for user generated tasks.

closes: #17038
2020-02-27 17:16:12 -08:00
Johnny Steenbergen 7cf6167356 feat(influx): extend pkg command with providing env ref entries
this also extend dry run to provide env refs to it. the refactoring was
to enable that bit. Having the ability to dry run with the env ref entries
means we can dry run the pkg with the env ref values to see the impact before
the application takes place.
2020-02-06 08:48:05 -08:00
Johnny Steenbergen bbdd6bf7fc feat(pkger): add env refs for associations 2020-02-05 09:48:50 -08:00
Johnny Steenbergen 036ba49e12 feat(pkger): add env ref fields for remaining resources 2020-02-05 07:47:12 -08:00
Johnny Steenbergen 64c8707594 feat(pkger): add support for env references for buckets 2020-02-04 17:00:11 -08:00
Johnny Steenbergen 63fd1e2e9a feat(pkger): make pkger packages CRD compliant 2020-01-14 13:20:00 -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 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 39e89eafdf chore(pkger): utilize http client for integration tests for pkger 2019-12-13 09:46:01 -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 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 521ce543eb fix(pkger): fix flaky test in pkger service tests
tests failign from a data race caused in the tests setup. an incrementing
const needs something to serialzie it (atmoic in this case) to remove that
data race. This touches that up.
2019-12-09 08:59:44 -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
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
Johnny Steenbergen c76babdce6 feat(pkger): add support for exporting telegraf 2019-12-05 09:58:44 -08: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
Johnny Steenbergen 695211aeda feat(pkger): add dry run and apply functionality for telegraf resources 2019-12-04 13:50:42 -08:00
Johnny Steenbergen 1c6d499711 feat(pkger): extend integration tests to include rollback functionality 2019-11-13 10:45:02 -08:00
Johnny Steenbergen e26b21e261 chore(pkger): add integration tests for pkger service
these tests supply coverage for the happy path of the pkger service
behavior.
2019-11-12 14:05:07 -08:00