featurebase/idk/cmd
wmanongdo baab212bb1
[CLOUD-934] Optionally broadcast IDK Kinesis errors/panics to externa… (#2185)
* [CLOUD-934] Optionally broadcast IDK Kinesis errors/panics to external storage

- Add a minor public method `idk.Main.SetLog` to allow setting the logger instance
  after initialization.
- Add a Logger implementation that captures recoverable errors and panics
  and pushes to an external store. Meant to decorate an existing Logger
  instance and always delegate to its implementation. Decoration happens
  when all AWS resources are initialized. Before then, the wrapped Logger
  implementation is used.
- If `--error-queue-name/CONSUMER_ERROR_QUEUE_NAME` specified, use an
  ErrorStreamLogger to push errors and panics to an SQS queue with that name.
  Omission of the option preserves current behavior.
- Parse sink ID from the `--stream-name/CONSUMER_STREAM_NAME` expecting the form
  'PREFIX'-VALID_UUID. If the sink UUID is invalid, emit a warning that errors/panics
  will not be written to an SQS queue but will still be logged using the decorated
  Logger instance.
- The inability to push to an SQS queue leads to warnings being emitted to notify
  ECS that no queue will be written to and is NOT a hard error.
- Add SQS interface mock for unit testing.
- Add IDK make targets for generating mock interfaces.

* [CLOUD-934] Execute go mod tidy and go fmt to pass CI/CD checks

* [CLOUD-934] Remove extraneous Makefile in idk/kinesis and fix install-mock-generator target

* [CLOUD-934] Add godocs to exported types and functions

* [CLOUD-934] Changed warning to not sound so ominous and update associated unit test

* [CLOUD-934] Unblock CI/CD at the IDK test stage
2022-08-12 17:59:56 -05:00
..
bankgen FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00
datagen FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00
ingester FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00
kafkagen FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00
kafkaput FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00
molecula-consumer-csv FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00
molecula-consumer-github FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00
molecula-consumer-kafka FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00
molecula-consumer-kafka-delete FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00
molecula-consumer-kafka-sasl FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00
molecula-consumer-kafka-static FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00
molecula-consumer-kinesis [CLOUD-934] Optionally broadcast IDK Kinesis errors/panics to externa… (#2185) 2022-08-12 17:59:56 -05:00
molecula-consumer-sql FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00