chore: add Zarf values guidelines for UDS Packages#679
Conversation
joelmccoy
left a comment
There was a problem hiding this comment.
Generally on board with the guidance here! Just two small questions
|
|
||
| ## Implementation | ||
|
|
||
| The top-level `values` key for a UDS Package should be defined in the parent `zarf.yaml` of the UDS Package repository and should reference a `zarf-default-values.yaml` file and a `zarf-default-values.schema.json` file located in the root of the repository to handle defaults and validation respectively. |
There was a problem hiding this comment.
Its been a while since reviewing the zarf values proposal/implementation details so bear with me... Default values as in shipped defaults (analogous to bundle variables with defaults set in the bundle.yaml) or just an example, not included in the packaged artifact (analogous variable override definition in a uds-config.yaml with a bundle.yaml with variable overrides and no defaults)?
If the latter this seems reasonable. If the former i would be concerned about who they are actually good defaults for since they are getting baked in. In that case i would want something more like named sets of defaults that are included and could be referenced/applied.
There was a problem hiding this comment.
they are defaults like a Helm chart values default - if you'd like that we could discuss in Zarf as an issue with more context / examples of what those named defaults would be (right now they compose together into a single file).
| - [ ] **Must** not use local commands outside of `coreutils` or `./zarf` self references within `actions`. | ||
| - [ ] **Must** include application [metadata for UDS Registry](https://github.com/defenseunicorns/uds-common/blob/main/docs/uds-packages/guidelines/metadata-guidelines.md) publishing | ||
| - [ ] **Should** expose all configuration (`uds.dev` CRs, additional `Secrets`/`ConfigMap`s, etc) through a Helm chart (ideally in a `chart` or `charts` directory). | ||
| > This allows this configuration to be easily exposed via [Zarf Values](https://docs.zarf.dev/ref/examples/values-templating/). For more information on this topic, see the [Values Guidelines](../guidelines/values-guidelines.md). |
There was a problem hiding this comment.
git diff is kinda messing with me here i think the only other two places you changed are referencing the zarf docs and docs you are adding on values, in which case that seems reasonable assuming we are good with these guidelines living here instead of the uds doc site more generally.
There was a problem hiding this comment.
IMO all of this needs to make its way to the docs site eventually - Possibly under UDS Core or a new "Packages" section... That's likely a later task though.
| @@ -0,0 +1,238 @@ | |||
| # UDS Package Values Guidelines | |||
There was a problem hiding this comment.
This definitely makes sense until full adopted at which some of this probably belongs in the uds packaging docs in the doc site instead or additionally.
briantwatson
left a comment
There was a problem hiding this comment.
A couple small comments on phrasing.
Co-authored-by: Brian Watson <brianwatson@defenseunicorns.com>
Co-authored-by: Brian Watson <brianwatson@defenseunicorns.com>
Description
This adds Zarf values guidance and wiring for implementing this feature within UDS Packages going forward.
Checklist before merging