Skip to content

feat: let zarf packages define requirements#4606

Open
Shasties wants to merge 6 commits intozarf-dev:mainfrom
Shasties:Shasties/issue4605
Open

feat: let zarf packages define requirements#4606
Shasties wants to merge 6 commits intozarf-dev:mainfrom
Shasties:Shasties/issue4605

Conversation

@Shasties
Copy link

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:

  1. zarf package list-requirements x to display requirements of a package ahead of time.
  2. Currently, developers specify the path to the tooling. This obviously isn't the right paradigm. Something like zarf package deploy --alternate-req=custom-binary=/some/other/path should 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

@Shasties Shasties requested review from a team as code owners February 16, 2026 00:26
@netlify
Copy link

netlify bot commented Feb 16, 2026

Deploy Preview for zarf-docs ready!

Name Link
🔨 Latest commit 2b32787
🔍 Latest deploy log https://app.netlify.com/projects/zarf-docs/deploys/6999d2bacbdc000008371306
😎 Deploy Preview https://deploy-preview-4606--zarf-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

@a1994sc a1994sc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Checksums = "checksums.txt"
ValuesYAML = "values.yaml"
ValuesSchema = "values.schema.json"
Requirements = "REQUIREMENTS"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@Shasties Shasties marked this pull request as draft February 21, 2026 14:48
@Shasties Shasties changed the title feat: Let zarf packages define requirements feat: let zarf packages define requirements Feb 21, 2026
@Shasties Shasties marked this pull request as ready for review February 21, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Support Zarf Packages providing a REQUIREMENTS file

2 participants