-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Is your feature request related to a problem? Please describe
A problem we run into when using this task runner is the common works on my machine problem. A lot of our tasks end up basically being shell scripts using the default sh, which different versions have different features. This causes problems when running tasks and meeting every little edge case.
Describe the solution you'd like
I'd like the ability to at a top level and also even per task level, be able to run them from inside a specific container.
You should be able to set environment variables and run arbitrary commands.
This could be a nice way to expand airgap deployment patterns where you could bring a maru runner package (or something?) with you with your runner container and any dependencies with you (terraform, source code, container images, stuff that you wouldn't necessarily be shoving into k8s with zarf, but need at deploy time)
Describe alternatives you've considered
I've done a proof of concept of this when migrating from our makefile patterns using the buildharness container, but it feels sort of janky and error prone.
see:
https://github.com/defenseunicorns/narwhal-delivery-zarf-package-eks-addons/blob/main/tasks.yaml
specifically:
https://github.com/defenseunicorns/narwhal-delivery-zarf-package-eks-addons/blob/main/tasks/setup/vars.yaml#L33-L103
https://github.com/defenseunicorns/narwhal-delivery-zarf-package-eks-addons/blob/main/tasks/setup/vars.yaml#L107-L121
https://github.com/defenseunicorns/narwhal-delivery-zarf-package-eks-addons/blob/main/tasks/setup/infra.yaml#L35-L41