-
Notifications
You must be signed in to change notification settings - Fork 29
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: Refactor to OCB based agent #1755
Conversation
8cbab65
to
143afe7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some comments.
One thing I noticed is that our scripts for updating otel/module versions won't update those manifest files; I don't think that needs to be a part of this PR, but just noting that it's something we'll want to get to in the future.
- src: release_deps/config.yaml | ||
dst: "." | ||
strip_parent: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like you have to remove this from the nfpms section as well?
make release-test
errors for me: nfpm failed for observiq-otel-collector_v1.56.0-SNAPSHOT-3edff07f_linux_ppc64.rpm: matching "./release_deps/config.yaml": file does not exist
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yea good call, I think I removed it in one of my later pr's but forgot to do so here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this file is still referenced in the dockers section, which causes release-test to fail. Can we remove config.yaml form there too?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yea, blanked on that
26fe69a
to
5436dbc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is building fine for me. For next steps, we need to consider the systemd unit file and container images in addition to the install scripts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think once we fix these last few things, this should be good to merge.
- src: release_deps/config.yaml | ||
dst: "." | ||
strip_parent: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this file is still referenced in the dockers section, which causes release-test to fail. Can we remove config.yaml form there too?
* wip * refactor repo * update workflow go versions * update build flow to install-tools * update build license check * new make target * rename to manifests * update release workflow * package supervisor with agent * resolve errs with gcp exporters * update version to have go.mod * get google exporters correctly importing version * manifest documentation * use updated version commit in google exporters * include supervisor as prebuilt binary * remove config.yaml from release pkg since its not used by supervisor/agent now * feedback 1/n * rebase cleanup * update go version in a few actions, use https git clone for contrib * change tool cache and fix release-test * replace rest of tool caches
* wip * refactor repo * update workflow go versions * update build flow to install-tools * update build license check * new make target * rename to manifests * update release workflow * package supervisor with agent * resolve errs with gcp exporters * update version to have go.mod * get google exporters correctly importing version * manifest documentation * use updated version commit in google exporters * include supervisor as prebuilt binary * remove config.yaml from release pkg since its not used by supervisor/agent now * feedback 1/n * rebase cleanup * update go version in a few actions, use https git clone for contrib * change tool cache and fix release-test * replace rest of tool caches
* wip * refactor repo * update workflow go versions * update build flow to install-tools * update build license check * new make target * rename to manifests * update release workflow * package supervisor with agent * resolve errs with gcp exporters * update version to have go.mod * get google exporters correctly importing version * manifest documentation * use updated version commit in google exporters * include supervisor as prebuilt binary * remove config.yaml from release pkg since its not used by supervisor/agent now * feedback 1/n * rebase cleanup * update go version in a few actions, use https git clone for contrib * change tool cache and fix release-test * replace rest of tool caches
* wip * refactor repo * update workflow go versions * update build flow to install-tools * update build license check * new make target * rename to manifests * update release workflow * package supervisor with agent * resolve errs with gcp exporters * update version to have go.mod * get google exporters correctly importing version * manifest documentation * use updated version commit in google exporters * include supervisor as prebuilt binary * remove config.yaml from release pkg since its not used by supervisor/agent now * feedback 1/n * rebase cleanup * update go version in a few actions, use https git clone for contrib * change tool cache and fix release-test * replace rest of tool caches
* wip * refactor repo * update workflow go versions * update build flow to install-tools * update build license check * new make target * rename to manifests * update release workflow * package supervisor with agent * resolve errs with gcp exporters * update version to have go.mod * get google exporters correctly importing version * manifest documentation * use updated version commit in google exporters * include supervisor as prebuilt binary * remove config.yaml from release pkg since its not used by supervisor/agent now * feedback 1/n * rebase cleanup * update go version in a few actions, use https git clone for contrib * change tool cache and fix release-test * replace rest of tool caches
* wip * refactor repo * update workflow go versions * update build flow to install-tools * update build license check * new make target * rename to manifests * update release workflow * package supervisor with agent * resolve errs with gcp exporters * update version to have go.mod * get google exporters correctly importing version * manifest documentation * use updated version commit in google exporters * include supervisor as prebuilt binary * remove config.yaml from release pkg since its not used by supervisor/agent now * feedback 1/n * rebase cleanup * update go version in a few actions, use https git clone for contrib * change tool cache and fix release-test * replace rest of tool caches
Proposed Change
Initial refactoring of repo to be based on the OCB and Supervisor. This project now consists of a collection of components (exporters, extensions, plugins, processors, and receivers), OCB manifests, and release tooling. Deleted folders and files that are no longer necessary. The OCB and Supervisor are installed as tools after running
make install-tools
.With several changes, here's how the different aspects can be tested/verified.
make release-test
to verify updated release process works.dist
folder to verify contents. New contents include the opamp supervisor and a supervisor config. Can experiment with running them if you'd like.make install-tools
and thenmake agent
. Copy the example supervisor config inconfig
into yourlocal
folder assupervisor-config.yaml
. Update the authorization header and endpoint params as needed, and complete the name of the agent executable with your GOOS and GOARCH so it matches the bin indist
. Now you should be able to runmake run-supervisor
and see your agent connect to bindplane. Callmake kill
in another terminal to fully stop the supervisor.Next Steps
The next steps to take are updating the install scripts so they are able to start the agent with the supervisor on start up. The Updater for the agent also needs to be revisited and updated accordingly.
Checklist