pivotal-cf / aqueduct-courier

CLI component that collects telemetry from Tanzu Application Service
Apache License 2.0
7 stars 4 forks source link

[Feature] configurable --target during send #5

Closed aegershman closed 5 years ago

aegershman commented 5 years ago

In order to ingest our telemetry data for our own consumption, the telemetry send command should accept a --target flag to shuttle the data to endpoints other than the Pivotal one.

Although the produced tarball could be consumed by us, being able to leverage the send command let's us easily integrate our existing CI process to send telemetry data to both Pivotal and our own endpoints.

background

With that said, I do not have an endpoint to receive the data to yet, nor a system to marshal / process / visualize the data yet. We're currently working on some in-house tools, and as telemetry starts to get fleshed out, we'll start putting engineering time into it. I'm also not 100% sure what we'd do about the --api-key yet, would have to do a little reverse-engineering of how things work. As a sidenote, if the strategy of telemetry is to have customers collect / visualize their own data, it could be beneficial to have some API contracts for how data will be structured & the structure of HTTP payloads, and/or publishing some sample data. It would also be beneficial to know a little bit about how the data is being processed so that customers can get ideas on how to use the data for themselves 👍

Thoughts? thanks for your time

idoru commented 5 years ago

Hi, thanks for your feedback. We don't allow this to be changed at runtime because we'd like to avoid any situation where data is inadvertently sent to a different location.

The sending is fairly simple, so you could use cURL or another utility to send the payload wherever you like. If you're keen to use the binary itself, it's worth noting that the target URL is configurable at compile time (see https://github.com/pivotal-cf/aqueduct-courier/blob/master/ci/tasks/build-binaries). So if you really wanted to use this for sending to your own endpoint, you could build your own binary with a different target.