Skip to content

Improve helm support #63

@teddyking

Description

@teddyking

The projects-operator is currently built using kubebuilder and deployed via Helm, with the corresponding helm chart living at /helm/projects-operator.

One problem with this approach is that kubebuilder does not currently have native support for templating out helm config. It currently only knows how to generate kustomize config.

This is a problem because it is then a manual (and error-prone) task to copy-and-edit the kustomize-generated config into helm-formatted config whenever we make changes to the projects-operator.

We have made a few attempts in the past to make this better, for example using the /scripts/helmify-yaml script, and custom make tasks, however it's still not intuitive and it requires us to keep thing up to date with newer versions of kubebuilder. Also this is only a partial solution as it only deals with rbac.

Perhaps we could improve this?

One idea @gmrodgers and I have been talking about is to make use of kubebuilder plugins (NB: currently experimental, design doc here).

It's not clear to us exactly if/how this would work, but based on comments from the operator-sdk team it seems like this should be possible.

Perhaps we should spend some time investigating if there is a helm plugin for kubebuilder in the works, and if not, should contribute one and then use it here?

@teddyking and @gmrodgers

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestestimate/LEstimated to be a large change

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions