Skip to content

Make kapp controller extensible #1413

Open

Description

@varshaprasad96

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.

Activity

  1. varshaprasad96 commented on Nov 27, 2023

    @varshaprasad96
    Author

    cc: @ncdc

  2. ThomasVitale commented on Nov 30, 2023

    @ThomasVitale
    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.

  3. added
    discussionThis issue is not a bug or feature and a conversation is needed to find an appropriate resolution
    and removed
    carvel-triageThis issue has not yet been reviewed for validity
    on Jan 9, 2024
  4. moved this to Prioritized Backlog in Carvelon Jan 9, 2024
  5. added
    priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.
    on Jan 9, 2024
  6. renuy commented on Jan 9, 2024

    @renuy

    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

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionThis issue is not a bug or feature and a conversation is needed to find an appropriate resolutionenhancementThis issue is a feature requestpriority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.

    Type

    No type

    Projects

    • Status
      Prioritized Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions