Welcome, and thank you for your interest in contributing to the opamp-go library!
Whether you're submitting a bug fix, implementing a new feature, or updating documentation, we appreciate your effort in making opamp-go better! If you're new to the project, don’t hesitate to ask for help — we value collaboration and learning.
Before getting started, please ensure you’re familiar with the contribution process by reviewing this guide. Also, check out the OpenTelemetry contributing guide for general contribution guidelines.
-
Ensure you have Go installed (check the required version in go.mod).
-
Install Docker, which is required for generating protobuf files.
To set up and run opamp-go locally, follow these steps:
Clone the repository with submodules:
git clone --recurse-submodules git@github.com:open-telemetry/opamp-go.git
cd opamp-go
If you've already cloned the repository without submodules, initialize them with:
git submodule update --init
This will fetch all files for opamp-spec
submodule.
Note that opamp-spec
submodule requires ssh git cloning access to github and won't work if you only have https access.
Generate the protobuf Go files:
make gen-proto
This should compile internal/proto/*.proto
files to internal/protobufs/*.pb.go
files.
Note that this is tested on linux/amd64 and darwin/amd64 and is known to not work on darwin/arm64 (M1/M2 Macs). Fixes are welcome.
-
Draft a new release
on the releases page in GitHub. -
Create a new tag for the release and target the
main
branch. -
Use the
Generate release notes
button to automatically generate release notes. Modify as appropriate. -
Check
Set as a pre-release
as appropriate. -
Publish release
If you have any questions or run into issues while contributing, feel free to reach out to the OpenTelemetry community:
-
Slack: Join the CNCF #otel-opamp Slack channel to connect with other contributors and get access to SIG meeting notes
-
GitHub Issues & Discussions: Report bugs or propose features via GitHub Issues.
We’re excited to have you contribute and look forward to your ideas and improvements! 🚀