Skip to content

Commit

Permalink
Extract set package arch logic to new receiver method
Browse files Browse the repository at this point in the history
Use utils.ReadYaml in place of readZarfYAML
  • Loading branch information
lucasrod16 committed Jan 11, 2024
1 parent 99cb14e commit b5420c0
Show file tree
Hide file tree
Showing 9 changed files with 32 additions and 28 deletions.
26 changes: 15 additions & 11 deletions src/pkg/packager/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,17 +151,6 @@ func NewOrDie(config *types.PackagerConfig, mods ...Modifier) *Packager {
return pkgr
}

// setTempDirectory sets the temp directory for the packager.
func (p *Packager) setTempDirectory(path string) error {
dir, err := utils.MakeTempDir(path)
if err != nil {
return fmt.Errorf("unable to create package temp paths: %w", err)
}

p.layout = layout.New(dir)
return nil
}

// GetInitPackageName returns the formatted name of the init package.
func GetInitPackageName(arch string) string {
if arch == "" {
Expand Down Expand Up @@ -200,6 +189,21 @@ func (p *Packager) ClearTempPaths() {
_ = os.RemoveAll(layout.SBOMDir)
}

// setTempDirectory sets the temp directory for the packager.
func (p *Packager) setTempDirectory(path string) error {
dir, err := utils.MakeTempDir(path)
if err != nil {
return fmt.Errorf("unable to create package temp paths: %w", err)
}

p.layout = layout.New(dir)
return nil
}

func (p *Packager) setArch() {
p.arch = config.GetArch(p.cfg.Pkg.Metadata.Architecture, p.cfg.Pkg.Build.Architecture)
}

// connectToCluster attempts to connect to a cluster if a connection is not already established
func (p *Packager) connectToCluster(timeout time.Duration) (err error) {
if p.isConnectedToCluster() {
Expand Down
3 changes: 2 additions & 1 deletion src/pkg/packager/create_stages.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,13 @@ import (
)

func (p *Packager) load() error {
if err := p.readZarfYAML(layout.ZarfYAML); err != nil {
if err := utils.ReadYaml(layout.ZarfYAML, &p.cfg.Pkg); err != nil {
return fmt.Errorf("unable to read the zarf.yaml file: %s", err.Error())
}
if p.isInitConfig() {
p.cfg.Pkg.Metadata.Version = config.CLIVersion
}
p.setArch()

// Compose components into a single zarf.yaml file
if err := p.composeComponents(); err != nil {
Expand Down
4 changes: 2 additions & 2 deletions src/pkg/packager/deploy.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ func (p *Packager) Deploy() (err error) {
return fmt.Errorf("unable to load the package: %w", err)
}

if err = p.readZarfYAML(p.layout.ZarfYAML); err != nil {
if err = utils.ReadYaml(layout.ZarfYAML, &p.cfg.Pkg); err != nil {
return err
}

p.setArch()
p.runMigrations()

if err := p.validateLastNonBreakingVersion(); err != nil {
Expand Down
4 changes: 3 additions & 1 deletion src/pkg/packager/inspect.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package packager

import (
"github.com/defenseunicorns/zarf/src/internal/packager/sbom"
"github.com/defenseunicorns/zarf/src/pkg/layout"
"github.com/defenseunicorns/zarf/src/pkg/utils"
)

Expand All @@ -17,9 +18,10 @@ func (p *Packager) Inspect() (err error) {
return err
}

if err = p.readZarfYAML(p.layout.ZarfYAML); err != nil {
if err = utils.ReadYaml(layout.ZarfYAML, &p.cfg.Pkg); err != nil {
return err
}
p.setArch()

utils.ColorPrintYAML(p.cfg.Pkg, nil, false)

Expand Down
4 changes: 3 additions & 1 deletion src/pkg/packager/mirror.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ import (
"strings"

"github.com/defenseunicorns/zarf/src/config"
"github.com/defenseunicorns/zarf/src/pkg/layout"
"github.com/defenseunicorns/zarf/src/pkg/message"
"github.com/defenseunicorns/zarf/src/pkg/utils"
"github.com/defenseunicorns/zarf/src/types"
)

Expand All @@ -21,7 +23,7 @@ func (p *Packager) Mirror() (err error) {
if err = p.source.LoadPackage(p.layout, true); err != nil {
return fmt.Errorf("unable to load the package: %w", err)
}
if err = p.readZarfYAML(p.layout.ZarfYAML); err != nil {
if err = utils.ReadYaml(layout.ZarfYAML, &p.cfg.Pkg); err != nil {
return err
}

Expand Down
3 changes: 2 additions & 1 deletion src/pkg/packager/prepare.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,10 @@ func (p *Packager) FindImages() (imgMap map[string][]string, err error) {
}
message.Note(fmt.Sprintf("Using build directory %s", p.cfg.CreateOpts.BaseDir))

if err = p.readZarfYAML(layout.ZarfYAML); err != nil {
if err = utils.ReadYaml(layout.ZarfYAML, &p.cfg.Pkg); err != nil {
return nil, fmt.Errorf("unable to read the zarf.yaml file: %s", err.Error())
}
p.setArch()

if err := p.composeComponents(); err != nil {
return nil, err
Expand Down
3 changes: 2 additions & 1 deletion src/pkg/packager/publish.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
"strings"

"github.com/defenseunicorns/zarf/src/config"
"github.com/defenseunicorns/zarf/src/pkg/layout"
"github.com/defenseunicorns/zarf/src/pkg/message"
"github.com/defenseunicorns/zarf/src/pkg/oci"
"github.com/defenseunicorns/zarf/src/pkg/packager/creator"
Expand Down Expand Up @@ -103,7 +104,7 @@ func (p *Packager) Publish() (err error) {
if err = p.source.LoadPackage(p.layout, false); err != nil {
return fmt.Errorf("unable to load the package: %w", err)
}
if err = p.readZarfYAML(p.layout.ZarfYAML); err != nil {
if err = utils.ReadYaml(layout.ZarfYAML, &p.cfg.Pkg); err != nil {
return err
}
}
Expand Down
4 changes: 3 additions & 1 deletion src/pkg/packager/remove.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@ import (
"github.com/defenseunicorns/zarf/src/config"
"github.com/defenseunicorns/zarf/src/internal/packager/helm"
"github.com/defenseunicorns/zarf/src/pkg/cluster"
"github.com/defenseunicorns/zarf/src/pkg/layout"
"github.com/defenseunicorns/zarf/src/pkg/message"
"github.com/defenseunicorns/zarf/src/pkg/packager/sources"
"github.com/defenseunicorns/zarf/src/pkg/utils"
"github.com/defenseunicorns/zarf/src/pkg/utils/helpers"
"github.com/defenseunicorns/zarf/src/types"
"helm.sh/helm/v3/pkg/storage/driver"
Expand All @@ -38,7 +40,7 @@ func (p *Packager) Remove() (err error) {
if err = p.source.LoadPackageMetadata(p.layout, false, false); err != nil {
return err
}
if err = p.readZarfYAML(p.layout.ZarfYAML); err != nil {
if err = utils.ReadYaml(layout.ZarfYAML, &p.cfg.Pkg); err != nil {
return err
}
p.filterComponents()
Expand Down
9 changes: 0 additions & 9 deletions src/pkg/packager/yaml.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,6 @@ import (
"github.com/defenseunicorns/zarf/src/types"
)

// readZarfYAML reads a Zarf YAML file.
func (p *Packager) readZarfYAML(path string) error {
if err := utils.ReadYaml(path, &p.cfg.Pkg); err != nil {
return err
}
p.arch = config.GetArch(p.cfg.Pkg.Metadata.Architecture, p.cfg.Pkg.Build.Architecture)
return nil
}

// filterComponents removes components not matching the current OS if filterByOS is set.
func (p *Packager) filterComponents() {
// Filter each component to only compatible platforms.
Expand Down

0 comments on commit b5420c0

Please sign in to comment.