-
Notifications
You must be signed in to change notification settings - Fork 183
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
H4HIP: Move pkgs to be internal #384
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: George Jenkins <[email protected]>
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.
The action packages provide the business logic the Helm CLI uses in a reusable manner. But, other pieces of software aren't required to use them and often don't. The other packages are regularly used by software using the SDK.
For example...
- The Flux helm-controller directly uses many different packages on the proposed list to move.
- The helm-mapkubeapis plugin, maintained by the Helm project, uses packages outside of action. It needs to get at the releases and make changes to them which requires using the building block packages.
I'm aware of numerous other applications that use a wide variety of Helm packages.
We can't anticipate all their needs to create higher level abstractions (e.g., in the action package) and it would be too much work to act on all their requests. This is why providing access to the building blocks is useful. I don't think we should make them internal.
So yes, the goal is to (more) fully try and determine what can be moved/made internal
An alternative or prelude to this HIP might be to document what Helm should expect to be public too... Taking a look at flux2 (or practically helm-controller). I see a variety of the above scenarios: https://github.com/search?q=repo%3Afluxcd%2Fhelm-controller+%22helm.sh%2Fhelm%2Fv3%22&type=code&p=1
Flux2 (helm-controller) needs:
So while e.g. flux2 does need Helm SDK APIs beyond actions. A significant potion of exposed APIs I still maintain are not suitable to external consumption, or a simply not used. Further analysis can be done of course. Initial goal here is to get an agreement as to how to proceed with classifying APIs to consider moving them |
I want to add some context to a few packages...
Footnotes
|
Note, the gates package I was initially thinking would be good for internal. But, there are calls to expose the CLI itself as a package. Will this mean people need/want the gates? |
No description provided.