Purpose:
As part of schema work it has been identified that src/packager intertwines "deploy time" and "package create time" logic. This makes it burdensome, or possibly impossible, to implement versioned schemas without passing a versioned structs throughout the codebase.
We will begin by refactoring the following pieces of src/packager into src/packager2 - this will allow us to re-implement this functionality without making breaking changes to Zarf in between releases. We will then swap over the calls to packager.() functions to packager2.() and deprecate src/packager functionality for src/packager2 (while renaming packager2 to packager)
Decisions Made:
- To refactor "Opts" out of the larger Packager struct,
Opts will be moved into their respective "primary file". All exported functions will take its "related" Opts struct as a function argument.
E.g. - InspectOpts is moved into the inspect.go file within packager2
To Be Worked:
Purpose:
As part of schema work it has been identified that
src/packagerintertwines "deploy time" and "package create time" logic. This makes it burdensome, or possibly impossible, to implement versioned schemas without passing a versioned structs throughout the codebase.We will begin by refactoring the following pieces of
src/packagerintosrc/packager2- this will allow us to re-implement this functionality without making breaking changes to Zarf in between releases. We will then swap over the calls topackager.()functions topackager2.()and deprecatesrc/packagerfunctionality forsrc/packager2(while renaming packager2 to packager)Decisions Made:
Optswill be moved into their respective "primary file". All exported functions will take its "related"Optsstruct as a function argument.E.g. - InspectOpts is moved into the inspect.go file within
packager2To Be Worked: