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: Refactor to OCB based agent #1755

Merged
merged 21 commits into from
Aug 2, 2024
Merged

feat: Refactor to OCB based agent #1755

merged 21 commits into from
Aug 2, 2024

Conversation

dpaasman00
Copy link
Contributor

@dpaasman00 dpaasman00 commented Jul 11, 2024

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.

  • Updated workflows can be seen passing on this PR.
  • Check out the branch locally and run make release-test to verify updated release process works.
    • Unzip some of the resulting tar balls in the dist folder to verify contents. New contents include the opamp supervisor and a supervisor config. Can experiment with running them if you'd like.
  • Some new Makefile commands were added for running with supervisor. First call make install-tools and then make agent. Copy the example supervisor config in config into your local folder as supervisor-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 in dist. Now you should be able to run make run-supervisor and see your agent connect to bindplane. Call make 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
  • Changes are tested
  • CI has passed

@dpaasman00 dpaasman00 force-pushed the feat/agent-2.0 branch 7 times, most recently from 8cbab65 to 143afe7 Compare July 16, 2024 12:23
@dpaasman00 dpaasman00 marked this pull request as ready for review July 17, 2024 17:47
@dpaasman00 dpaasman00 requested review from BinaryFissionGames and a team as code owners July 17, 2024 17:47
@dpaasman00 dpaasman00 requested a review from tbm48813 July 17, 2024 17:47
Copy link
Contributor

@BinaryFissionGames BinaryFissionGames left a 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.

.goreleaser.yml Show resolved Hide resolved
buildscripts/download-dependencies.sh Outdated Show resolved Hide resolved
exporter/azureblobexporter/factory_test.go Outdated Show resolved Hide resolved
manifests/minimal/manifest.yaml Outdated Show resolved Hide resolved
manifests/minimal/manifest.yaml Outdated Show resolved Hide resolved
manifests/observIQ/README.md Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Comment on lines -90 to -92
- src: release_deps/config.yaml
dst: "."
strip_parent: true
Copy link
Contributor

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

Copy link
Contributor Author

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

Copy link
Contributor

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?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yea, blanked on that

manifests/observIQ/manifest.yaml Show resolved Hide resolved
@jsirianni jsirianni requested review from jsirianni and removed request for tbm48813 July 30, 2024 13:05
Copy link
Member

@jsirianni jsirianni left a 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.

.github/workflows/tests.yml Show resolved Hide resolved
.goreleaser.yml Show resolved Hide resolved
Copy link
Contributor

@BinaryFissionGames BinaryFissionGames left a 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.

.github/workflows/multi_build.yml Outdated Show resolved Hide resolved
manifests/observIQ/README.md Show resolved Hide resolved
Comment on lines -90 to -92
- src: release_deps/config.yaml
dst: "."
strip_parent: true
Copy link
Contributor

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?

@dpaasman00 dpaasman00 merged commit 0456ee4 into release/v2.0.0 Aug 2, 2024
16 checks passed
@dpaasman00 dpaasman00 deleted the feat/agent-2.0 branch August 2, 2024 15:08
dpaasman00 added a commit that referenced this pull request Aug 16, 2024
* 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
dpaasman00 added a commit that referenced this pull request Sep 11, 2024
* 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
dpaasman00 added a commit that referenced this pull request Oct 7, 2024
* 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
dpaasman00 added a commit that referenced this pull request Nov 14, 2024
* 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
dpaasman00 added a commit that referenced this pull request Dec 9, 2024
* 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
dpaasman00 added a commit that referenced this pull request Dec 16, 2024
* 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
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.

3 participants