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

Add ability to update and track operator auto-instrumentation images #917

Merged
merged 5 commits into from
Sep 19, 2023

Conversation

jvoravong
Copy link
Contributor

@jvoravong jvoravong commented Sep 7, 2023

Description

  • Introduced the ability to automatically track both native OpenTelemetry and Splunk instrumentation libraries within this Helm chart project.
    • Rationale: Due to the limitations of fetching native OpenTelemetry instrumentation library information, we've implemented CI/CD workflows to automate this process. This ensures that every time the operator subchart is updated, the corresponding instrumentation library information in the values.yaml file is also updated.
    • A running operator doesn't disclose the version information of the instrumentation libraries until deployed. Helm release values cannot be dynamically updated after an install/upgrade to include this information, necessitating this enhancement.
    • No new instrumentation libraries were added. This update merely makes explicit what was previously implicit, enabling easier tracking and management (example).
    • With the instrumentation libraries being explicitly defined, we can now track them in version control and use the otel resource attribute splunk.zc.method to track usage.
  • Began refactoring the GitHub workflow to make the code reusable both in GitHub Actions and locally. Added a --debug parameter for debugging purposes.

Testing

  • Validated by deploying the operator with the latest changes. Ensured that the OTEL_RESOURCE_ATTRIBUTES and OTEL_EXPORTER_OTLP_ENDPOINT values were correctly managed.

Documentation

  • Increased inline code documentation and comments for better maintainability.
  • Updated NOTES.txt to provide users with clearer information regarding the status and capabilities of auto-instrumentation components.

@jvoravong jvoravong force-pushed the otl-2268 branch 5 times, most recently from 19b8fbc to e1c1bbb Compare September 11, 2023 20:24
@jvoravong jvoravong marked this pull request as ready for review September 11, 2023 20:25
@jvoravong jvoravong requested review from a team as code owners September 11, 2023 20:25
Copy link
Contributor

@hughesjj hughesjj left a comment

Choose a reason for hiding this comment

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

I hate how much shell is needed but it's some of the most readable shell I've ever seen

@jvoravong
Copy link
Contributor Author

I hate how much shell is needed but it's some of the most readable shell I've ever seen

Agreed. My longterm vision is to centralize the non-trivial shell code as much as possible so it can easily be executed from the Makefile.

@jvoravong jvoravong merged commit f092f04 into signalfx:main Sep 19, 2023
19 checks passed
@jvoravong jvoravong deleted the otl-2268 branch September 19, 2023 21:21
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