feat: let zarf packages define requirements#4606
Open
Shasties wants to merge 6 commits intozarf-dev:mainfrom
Open
feat: let zarf packages define requirements#4606Shasties wants to merge 6 commits intozarf-dev:mainfrom
Shasties wants to merge 6 commits intozarf-dev:mainfrom
Conversation
✅ Deploy Preview for zarf-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
0c75f74 to
d02b434
Compare
a1994sc
reviewed
Feb 16, 2026
Contributor
a1994sc
left a comment
There was a problem hiding this comment.
Two little comments.
I think that this is the right direction to go if we want to truly be the "Package Manager for Kubernetes", then we should package version validation before deploying the packages.
src/pkg/packager/layout/layout.go
Outdated
| Checksums = "checksums.txt" | ||
| ValuesYAML = "values.yaml" | ||
| ValuesSchema = "values.schema.json" | ||
| Requirements = "REQUIREMENTS" |
Contributor
There was a problem hiding this comment.
I think that this file should be named requirements.yaml for 2 reasons:
- if this is going need to be a yaml file, the file extension should reflect that.
- we currently don't have any other files will all upper case
Author
There was a problem hiding this comment.
That's a fair point. When I was originally thinking about what the requirements file looked like, I wasn't sure if it should be json/yaml/other, so I left it as REQUIREMENTS. I can update that to requirements.yaml.
Signed-off-by: Shas <dmerryman@smcm.edu>
Signed-off-by: Shas <dmerryman@smcm.edu>
d02b434 to
2b32787
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Full disclosure upfront that Claude did all of the heavy lifting for building the tests.
Currently, there is no visibility into what a zarf package needs to successfully deploy. This is burdensome on developers who have to use some sort of onBefore action or pre-req component to validate things, and it is burdensome to admins+operators who only learn partially through a deployment if a dependency is missing. This PR seeks to help bridge that gap and provide the option to insert REQUIREMENTS files into their zarf package.
I built and tested this on a windows machine, seems to function good enough in my local environment but obviously needs more eyes. Should probably be extended in the future with features like:
zarf package list-requirements xto display requirements of a package ahead of time.zarf package deploy --alternate-req=custom-binary=/some/other/pathshould be introduced so the developers focus on what tool is required for a package to work, while the operator can focus on how to make that tooling available....
Related Issue
Fixes #4605