Open Racer159 opened 10 months ago
propose a schema that looks like below. This is based on the examples/helm-charts within the Zarf repository. Non changed fields were taken out for brevity. Exactly one of the following field will exist for each components.charts
.
- name: podinfo-repo-new
helm:
url: https://stefanprodan.github.io/podinfo
name: podinfo # replaces repoName since it's only applicable in this situation
- name: podinfo-git-new
git:
url: https://stefanprodan.github.io/podinfo
path: charts/podinfo
- name: podinfo-oci-new
oci:
url: oci://ghcr.io/stefanprodan/charts/podinfo
- name: podinfo-local-same
local:
path: chart
It should be noted that in the current Zarf schema the version
flag is used for both OCI charts and git charts. IMO it will be best if we leave these flags off of the git and oci sub objects and only provide users one way to add this information. Care would have to be taken in that case to ensure we don't break alpha packages when translating them.
Describe what should be investigated or refactored
It would be worth taking some time to refactor the
charts
definition in thezarf.yaml
to enhance user understanding of the keys such asrepoName
andgitPath
which are usually non-intuitive for users.repoName
really means the name of a chart in a Helm Repo andgitPath
means the path of a chart in agit
repository which are not obvious to folks not familiar with Zarf.Links to any relevant code
https://github.com/defenseunicorns/zarf/blob/f039affe91b664f601b274a5e66d29bf030ca75f/src/types/component.go#L92
Additional context
These fields have come up with questions a few times in user questions in our
k8s
slack.