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

Plugin API structure #1199

Closed
wilsonehusin opened this issue Dec 10, 2020 · 2 comments
Closed

Plugin API structure #1199

wilsonehusin opened this issue Dec 10, 2020 · 2 comments
Labels
lifecycle/consideration Requires discussion before advancing lifecycle/stale

Comments

@wilsonehusin
Copy link
Contributor

wilsonehusin commented Dec 10, 2020

Describe the solution you'd like

There is a lack of interface for handling image dependencies in Sonobuoy plugins. For example, In Kubernetes conformance testing, we handle dependencies by executing:

docker run -it k8s.gcr.io/conformance:TAG /e2e.test -list-images

Ideally this should be in a better formed API for any plugin to let Sonobuoy know that there are extra container image dependencies.

Anything else you would like to add:
This is a placeholder issue to discuss other requirements which could increase the usability of plugin architecture. Anything is fair game at the moment, the goal is to have a uniform approach for all plugins, not just conformance.

@wilsonehusin wilsonehusin changed the title Plugin's container image dependencies Plugin API structure Jan 11, 2021
@johnSchnake johnSchnake added the lifecycle/consideration Requires discussion before advancing label Jun 17, 2021
@johnSchnake
Copy link
Contributor

So at a basic level we need a list of images. We could:

  • hard code them in the plugin format. Requires the plugin (yaml) to constantly be updated as the actual code/image is as well. Double the overhead and will definitely get out of date.
  • Rely on a default-named flag on the image itself. This would mean just making the convention based on what the e2e image does here. We could just say that if any plugin image has extra image dependencies we will always do the same thing: run the plugin first with the --list-images flag to generate a list of images, then process those images based on the context (pull, etc)
  • Use a webhook (which is just a fancy hardcoded list and suffers the same problem as that approach)

Am I missing any general approaches you can think of?

It seems to me the easiest approach would be to just require images/plugins that want to use this feature to support that flag by convention.

@stale
Copy link

stale bot commented Dec 14, 2021

There has not been much activity here. We'll be closing this issue if there are no follow-ups within 15 days.

@stale stale bot closed this as completed Dec 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/consideration Requires discussion before advancing lifecycle/stale
Projects
None yet
Development

No branches or pull requests

2 participants