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

Make kapp controller extensible #1413

Open
varshaprasad96 opened this issue Nov 27, 2023 · 3 comments
Open

Make kapp controller extensible #1413

varshaprasad96 opened this issue Nov 27, 2023 · 3 comments
Labels
discussion This issue is not a bug or feature and a conversation is needed to find an appropriate resolution enhancement This issue is a feature request priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.

Comments

@varshaprasad96
Copy link

Describe the problem/challenge you have

This feature request originates from discussions held during the community meeting on November 21, focusing on reevaluating the architecture of the Kapp controller for enhanced extensibility. Envisioning the entire process of deploying package contents onto the cluster as a pipeline, we engage in "fetching" packages from the specified source, "templating" them based on defined rules corresponding to the tool in use, and finally, "applying" them to the cluster. Each of these steps follows a predefined process, and at present, any requires changes to be made, need to be compiled in the master (or respective main code branch). For instance., in order to support kustomize, a kustomize binary needs to be built and shipped along with kapp-controller (this is just an example, need not necessarily be the case).

Describe the solution you'd like

It would be helpful to re-evaluate the architecture of kapp controller and incorporate extension points at each stage. This would enable users to customize the pipeline at various steps. For example, as a consumer of kapp-controller, I would like to have the flexibility to define custom templating or modification steps for the package fetched from the source. This way, I can leverage the tool's existing capabilities for fetching and applying contents to the cluster while tailoring specific aspects to meet my unique templating requirements.

Anything else you would like to add:

The issue does not describe the expected solution, as this is a larger discussion. This is to put forth an expected user behaviour, and discuss various options to improve the architecture.


Vote on this request

This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.

👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"

We are also happy to receive and review Pull Requests if you want to help working on this issue.

@varshaprasad96 varshaprasad96 added carvel-triage This issue has not yet been reviewed for validity enhancement This issue is a feature request labels Nov 27, 2023
@varshaprasad96
Copy link
Author

cc: @ncdc

@ThomasVitale
Copy link
Contributor

I missed that meeting, unfortunately, but I'm glad to see that there are ongoing discussions around making kapp-controller more extensible. I'm actually working on a proposal to address that specific need: https://github.com/ThomasVitale/carvel/tree/develop/proposals/kapp-controller/004-introducing-package-functions. It's just an initial draft, at the moment. I'm still working out the architectural details.

@renuy renuy added discussion This issue is not a bug or feature and a conversation is needed to find an appropriate resolution priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. and removed carvel-triage This issue has not yet been reviewed for validity labels Jan 9, 2024
@renuy
Copy link

renuy commented Jan 9, 2024

Need the maintainers to evaluate and help with proposal.
Would like to see if we can add this to our roadmap.
@joaopapereira @praveenrewar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion This issue is not a bug or feature and a conversation is needed to find an appropriate resolution enhancement This issue is a feature request priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Projects
Status: Prioritized Backlog
Development

No branches or pull requests

3 participants