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

Pattern to override helm chart source repository during development #582

Open
seaneagan opened this issue Jun 16, 2021 · 2 comments
Open
Assignees
Labels
3-Container Relates to plugin related issues enhancement New feature or request priority/medium Default priority for items size m
Milestone

Comments

@seaneagan
Copy link
Contributor

Problem description (if applicable)

The helm-controller allow HelmReleases to source charts from via the following type:
https://fluxcd.io/docs/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.HelmChartTemplateSpec
which references:
https://fluxcd.io/docs/components/helm/api/#helm.toolkit.fluxcd.io/v2beta1.CrossNamespaceObjectReference

In general we want to source all helm charts from a local helm repository source, such as produced by the helm chart collator. There may be some exceptions to this however, particularly during development it would be nice to be able to reference a helm chart from an upstream HelmRepository or from a GitRepository (maybe even against an open patchset which changes a chart implementation), before commiting any change to the Helm chart collator input (charts.yaml).

The versions catalogue already has a charts[*].sourceRef field for this purpose, but it only has kind/name fields, and so is missing namespace/apiVersion and it also does not include any validation metadata.

There are some additional fields in the above referenced type, which we want to override as part of of overriding the chart source, such as valuesFiles and interval, though these are less critical, so they could be omitted if desired.

Proposed change

  1. Copy above referenced types from helm-controller api to airshipctl versions catalogue api.
  2. Start using charts[*].sourceRef in treasuremap versions catalogue, pointed at helm chart collator by default, and update replacement rules to substitute the entire HelmChartTemplateSpec rather than just chart/version as they do now.
  3. Provide some example of where to include temporary dev-time HelmRepository/GitRepository sources, which are expected to be removed before merge, with validation if possible.
@seaneagan seaneagan added enhancement New feature or request triage Needs evaluation by project members labels Jun 16, 2021
@seaneagan
Copy link
Contributor Author

@jezogwza jezogwza added this to the Future milestone Jun 23, 2021
@jezogwza jezogwza added priority/medium Default priority for items 3-Container Relates to plugin related issues and removed triage Needs evaluation by project members labels Jun 23, 2021
@seaneagan seaneagan self-assigned this Jul 13, 2021
@eak13 eak13 added the size m label Jul 26, 2021
@joshuaherrera
Copy link
Contributor

I have capacity to work on this, please assign to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3-Container Relates to plugin related issues enhancement New feature or request priority/medium Default priority for items size m
Projects
None yet
Development

No branches or pull requests

4 participants