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

Discussion: moving source logic into separate module #1581

Open
vsoch opened this issue Feb 11, 2024 · 5 comments
Open

Discussion: moving source logic into separate module #1581

vsoch opened this issue Feb 11, 2024 · 5 comments
Labels
lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@vsoch
Copy link

vsoch commented Feb 11, 2024

Hi there! We are working on a compatiibility spec for the opencontainer intiaitive, and interested to use NFD in a TBA plugin to extract information about a system. I started looking at this idea tonight, and the contents of source are what I'm wanting to try. However, I'm not liking having the need to bump up the version of Go to 1.21 and install all of kubernetes.

image

While Kubernetes is one of my top use cases, it's not a use case for all of compatibility checking, and I'd want a plugin tool we develop to not have this strict requirement. Thus, I wanted to start discussion about if it might be possible to have a library that provides the contents of source, and one that is more streamlined, dependency wise, that both (and ultimately multiple projects) might use. I can definitely help with this, and in the meantime I will test out NFD for this use case.

Ping @ArangoGutierrez and thank you!

@vsoch
Copy link
Author

vsoch commented Feb 11, 2024

Also there is so much here, I seriously love this library ❤️

image

The Attributes / Flags / Instances I still need to parse (will likely do tomorrow) but just seeing all of it in go structs printed to my terminal... awesome.

@marquiz
Copy link
Contributor

marquiz commented Feb 12, 2024

Thanks @vsoch for the proposal. Maybe this is something we could do, if there are potential users and something that you would like work on. We could e.g. have sigs.k8s.io/node-feature-discovery/source as a separate go module to streamline the dependencies. We just need to carefully think what it means to provide this an API for external users, e.g. in terms of API compatibility.

@vsoch
Copy link
Author

vsoch commented Feb 22, 2024

Hey @marquiz if it’s ok with you, can I start to prototype this in another repository? If you like it, you can test out here and eventually transfer here. We are needing to use the functionality in several projects and it’s becoming very problematic to add in Kubernetes and require an update to go.

@vsoch
Copy link
Author

vsoch commented Feb 22, 2024

Hi folks! To keep this discussion moving (and not block our projects) I made a prototype of a "source only" node-feature-discovery, here https://github.com/converged-computing/nfd-source and you can see the number of dependencies we could nix by way of it here https://github.com/compspec/compspec-go/pull/22/files and that includes not needing to bump up to 1.21. It would be great to continue discussion, and I'd be happy to prototype something here to test out! I'm not familiar with the code base but I pick things up fairly quickly so not worried about that.

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
None yet
Development

No branches or pull requests

4 participants