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

Allow data outside of a zarf package to be injected on deploy time (DataInjection feature) #2121

Open
snowping opened this issue Nov 1, 2023 · 0 comments
Labels
enhancement ✨ New feature or request

Comments

@snowping
Copy link

snowping commented Nov 1, 2023

Is your feature request related to a problem? Please describe.

Currently zarf packages can be created and packaged with custom data to be injected using the DataInjection feature. This is a already a great feature as we can package additional scripts and files to be run at deploy time.

This feature request is about extending this functionality so that on-premises data that is not known at package creation can be injected from outside the zarf package itself. This will allow users to deploy data that is only available at the on-premises / air-gapped site. For example, data that is not available for privacy/security/ownership reasons.

Describe the solution you'd like

Since a package creator cannot pre-pack all the data needed for a zarf deployment, we should add an option to `zarf package deploy' to define the data we want to inject via a CUSTOM environment variable or similar. I imagine that this env variable points to a directory relative to the zarf binary or the zarf package file location. In the zarf package itself, this env is defined as the source of the data. Optionally, we could limit the files and directories injected using file/dir pattern matching, similar to .gitignore matching.

If possible, the injected data should be available before the main container process starts (as it is now with the existing DataInjection functionality).

Describe alternatives you've considered

As a workaround to this solution I've recently created a zarf package which deploys a complete zarf manifest including a datainjection job to the air-gapped system. On the air-gapped system I then do a zarf package create in order to inject the data we want. Once we have the newly created package we deploy it using zarf package deploy. It works but this workaround is rather tedious to setup and maintain.

Additional context

This feature has already been briefly discussed on the zarf slack channel here

@snowping snowping added the enhancement ✨ New feature or request label Nov 1, 2023
@salaxander salaxander added this to Zarf Jul 22, 2024
@github-project-automation github-project-automation bot moved this to Backlog in Zarf Jul 22, 2024
@salaxander salaxander removed the status in Zarf Jul 22, 2024
@salaxander salaxander moved this to Triage in Zarf Sep 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement ✨ New feature or request
Projects
Status: Triage
Development

No branches or pull requests

1 participant