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 overriding a zarf package's source at deploy time #89

Open
blancharda opened this issue Oct 13, 2023 · 5 comments
Open

Allow overriding a zarf package's source at deploy time #89

blancharda opened this issue Oct 13, 2023 · 5 comments
Labels
enhancement New feature or request

Comments

@blancharda
Copy link
Member

Context

When developing a bundle using remote packages, the cycle time and process for consuming upstream changes can be cumbersome. If a bundle consumes a tagged and published Zarf artifact, absent other workarounds, the developer must publish a new artifact before being able to test the change to the bundle. That can include significant time sinks (code review, automated tests, PR process etc) in the individual package repo and significantly slow down the dev cycle for a bundle.

Feature Request

Allow the user to override a package repository source at deploy time to leverage a local build path for the given package.

Example

Given:

kind: UDSBundle
metadata:
  name: software-factory-nutanix
  description: A UDS bundle for deploying a software factory to an RKE2 cluster
  version: 0.0.1
  architecture: amd64

zarf-packages:
  # Zarf init
  - name: init
    repository: ghcr.io/defenseunicorns/packages/init
    ref: v0.29.1
    optional-components:
      - git-server

  # Gitlab
  - name: gitlab-redis
    repository: ghcr.io/defenseunicorns/uds-capability/gitlab/dev-dependency/gitlab-redis
    ref: 0.0.2

Allow the user to replace a bundled package at deploy time with something like --local-package-redirect gitlab-redis=<path_to_local_zarf_package_dir>

In this way, a user could develop and test changes to component packages in the bundle and ensure they are functional prior to working through the change process in the other repo.

@blancharda blancharda added the enhancement New feature or request label Oct 13, 2023
@UncleGedd
Copy link
Collaborator

This sounds good to me! I might suggest a different flag but I think the premise is strong. Local bundles were def meant to be used for dev purposes, so supporting this flag to make that easier sounds like a nice feature. Curious if @jeff-mccoy or @mikevanhemert have thoughts as well?

@blancharda
Copy link
Member Author

@UncleGedd -- is this resolved by the new dev mode?

@UncleGedd
Copy link
Collaborator

It's a comin'! #638

Expected to be merged by the next release

@UncleGedd
Copy link
Collaborator

@blancharda does dev deploy resolve this issue for you?

@blancharda
Copy link
Member Author

I'm not positive, but I don't think so..

As I understand it, dev deploy can be used to quickly iterate with local packages, but I'm not sure it let's you specify a local source for a remote package included in the bundle.

If I'm mistaken and there's a way to do this today, I'd love to see it!

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
None yet
Development

No branches or pull requests

2 participants