Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add support for templated components #8

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

kentquirk
Copy link
Contributor

Which problem is this PR solving?

  • Adds support for components that are defined in a data file and use a Go template to generate config information.

Short description of the changes

  • Create a couple of templated components
  • Create the infrastructure that can load and render them
  • Integrate into HPFS as a component type
  • Extend the generation functions to accept a map of userdata
  • Create a slimmer hpsf demo file (hpsf2)

@kentquirk kentquirk requested a review from a team as a code owner December 16, 2024 22:25
examples/hpsf2.yaml Outdated Show resolved Hide resolved
The API key to use to authenticate with Honeycomb.
type: string
validations: [nonblank]
default: ${HONEYCOMB_TRACES_APIKEY}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
default: ${HONEYCOMB_TRACES_APIKEY}
default: ${HONEYCOMB_API_KEY}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was deliberate to avoid confusion with API keys you may be using for other purposes; it's not a world where one honeycomb key makes sense anymore. I think it's likely that you'll have multiple Honeycomb keys, so I've changed the name to make it even clearer.

pkg/config/loadComponents_test.go Outdated Show resolved Hide resolved
pkg/config/components/honeycombExporter.yaml Outdated Show resolved Hide resolved
@@ -0,0 +1,35 @@
name: ToHoneycomb
kind: HoneycombExporter
summary: Export traces to Honeycomb in Honeycomb's event format
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
summary: Export traces to Honeycomb in Honeycomb's event format
summary: Export telemetry to Honeycomb

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my suggestion here is that this component could be generic enough to emit any kind of data to honeycomb, the export format might not be necessary to call out in the documentation of the component.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This component today only applies to Refinery, but it's a good point that logs can also flow through Refinery. So I changed it to telemetry but left in the "event format" part.

@kentquirk kentquirk requested a review from codeboten December 20, 2024 18:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants