Documentation ¶
Overview ¶
Package sources contains core implementations of the PackageSource interface.
Package sources contains core implementations of the PackageSource interface.
Package sources contains core implementations of the PackageSource interface.
Package sources contains core implementations of the PackageSource interface.
Package sources contains core implementations of the PackageSource interface.
Package sources contains core implementations of the PackageSource interface.
Package sources contains core implementations of the PackageSource interface.
Package sources contains core implementations of the PackageSource interface.
Index ¶
- Variables
- func GetInitPackageName() string
- func GetValidPackageExtensions() [2]string
- func Identify(pkgSrc string) string
- func IsValidFileExtension(filename string) bool
- func NameFromMetadata(pkg *types.ZarfPackage, isSkeleton bool) string
- func PkgSuffix(uncompressed bool) (suffix string)
- func RenameFromMetadata(path string) (string, error)
- func ValidatePackageIntegrity(loaded *layout.PackagePaths, aggregateChecksum string, isPartial bool) error
- func ValidatePackageSignature(paths *layout.PackagePaths, publicKeyPath string) error
- type ClusterSource
- func (s *ClusterSource) Collect(_ string) (string, error)
- func (s *ClusterSource) LoadPackage(_ *layout.PackagePaths, _ filters.ComponentFilterStrategy, _ bool) (types.ZarfPackage, []string, error)
- func (s *ClusterSource) LoadPackageMetadata(dst *layout.PackagePaths, _ bool, _ bool) (types.ZarfPackage, []string, error)
- type OCISource
- func (s *OCISource) Collect(dir string) (string, error)
- func (s *OCISource) LoadPackage(dst *layout.PackagePaths, filter filters.ComponentFilterStrategy, ...) (pkg types.ZarfPackage, warnings []string, err error)
- func (s *OCISource) LoadPackageMetadata(dst *layout.PackagePaths, wantSBOM bool, skipValidation bool) (pkg types.ZarfPackage, warnings []string, err error)
- type PackageSource
- type SplitTarballSource
- func (s *SplitTarballSource) Collect(dir string) (string, error)
- func (s *SplitTarballSource) LoadPackage(dst *layout.PackagePaths, filter filters.ComponentFilterStrategy, ...) (pkg types.ZarfPackage, warnings []string, err error)
- func (s *SplitTarballSource) LoadPackageMetadata(dst *layout.PackagePaths, wantSBOM bool, skipValidation bool) (pkg types.ZarfPackage, warnings []string, err error)
- type TarballSource
- func (s *TarballSource) Collect(dir string) (string, error)
- func (s *TarballSource) LoadPackage(dst *layout.PackagePaths, filter filters.ComponentFilterStrategy, ...) (pkg types.ZarfPackage, warnings []string, err error)
- func (s *TarballSource) LoadPackageMetadata(dst *layout.PackagePaths, wantSBOM bool, skipValidation bool) (pkg types.ZarfPackage, warnings []string, err error)
- type URLSource
- func (s *URLSource) Collect(dir string) (string, error)
- func (s *URLSource) LoadPackage(dst *layout.PackagePaths, filter filters.ComponentFilterStrategy, ...) (pkg types.ZarfPackage, warnings []string, err error)
- func (s *URLSource) LoadPackageMetadata(dst *layout.PackagePaths, wantSBOM bool, skipValidation bool) (pkg types.ZarfPackage, warnings []string, err error)
Constants ¶
This section is empty.
Variables ¶
var ( // ErrPkgKeyButNoSig is returned when a key was provided but the package is not signed ErrPkgKeyButNoSig = errors.New("a key was provided but the package is not signed - the package may be corrupted or the --key flag was erroneously specified") // ErrPkgSigButNoKey is returned when a package is signed but no key was provided ErrPkgSigButNoKey = errors.New("package is signed but no key was provided - add a key with the --key flag or use the --insecure flag and run the command again") )
Functions ¶
func GetInitPackageName ¶ added in v0.32.6
func GetInitPackageName() string
GetInitPackageName returns the formatted name of the init package.
func GetValidPackageExtensions ¶ added in v0.32.6
func GetValidPackageExtensions() [2]string
GetValidPackageExtensions returns the valid package extensions.
func Identify ¶
Identify returns the type of package source based on the provided package source string.
func IsValidFileExtension ¶ added in v0.32.6
IsValidFileExtension returns true if the filename has a valid package extension.
func NameFromMetadata ¶
func NameFromMetadata(pkg *types.ZarfPackage, isSkeleton bool) string
NameFromMetadata generates a name from a package's metadata.
func PkgSuffix ¶ added in v0.32.6
PkgSuffix returns a package suffix based on whether it is uncompressed or not.
func RenameFromMetadata ¶
RenameFromMetadata renames a tarball based on its metadata.
func ValidatePackageIntegrity ¶
func ValidatePackageIntegrity(loaded *layout.PackagePaths, aggregateChecksum string, isPartial bool) error
ValidatePackageIntegrity validates the integrity of a package by comparing checksums
func ValidatePackageSignature ¶
func ValidatePackageSignature(paths *layout.PackagePaths, publicKeyPath string) error
ValidatePackageSignature validates the signature of a package
Types ¶
type ClusterSource ¶
type ClusterSource struct { *types.ZarfPackageOptions *cluster.Cluster }
ClusterSource is a package source for clusters.
func (*ClusterSource) Collect ¶
func (s *ClusterSource) Collect(_ string) (string, error)
Collect collects a package from a cluster.
This is not implemented.
func (*ClusterSource) LoadPackage ¶
func (s *ClusterSource) LoadPackage(_ *layout.PackagePaths, _ filters.ComponentFilterStrategy, _ bool) (types.ZarfPackage, []string, error)
LoadPackage loads a package from a cluster.
This is not implemented.
func (*ClusterSource) LoadPackageMetadata ¶
func (s *ClusterSource) LoadPackageMetadata(dst *layout.PackagePaths, _ bool, _ bool) (types.ZarfPackage, []string, error)
LoadPackageMetadata loads package metadata from a cluster.
type OCISource ¶
type OCISource struct { *types.ZarfPackageOptions *zoci.Remote }
OCISource is a package source for OCI registries.
func (*OCISource) Collect ¶
Collect pulls a package from an OCI registry and writes it to a tarball.
func (*OCISource) LoadPackage ¶
func (s *OCISource) LoadPackage(dst *layout.PackagePaths, filter filters.ComponentFilterStrategy, unarchiveAll bool) (pkg types.ZarfPackage, warnings []string, err error)
LoadPackage loads a package from an OCI registry.
func (*OCISource) LoadPackageMetadata ¶
func (s *OCISource) LoadPackageMetadata(dst *layout.PackagePaths, wantSBOM bool, skipValidation bool) (pkg types.ZarfPackage, warnings []string, err error)
LoadPackageMetadata loads a package's metadata from an OCI registry.
type PackageSource ¶
type PackageSource interface { // LoadPackage loads a package from a source. LoadPackage(dst *layout.PackagePaths, filter filters.ComponentFilterStrategy, unarchiveAll bool) (pkg types.ZarfPackage, warnings []string, err error) // LoadPackageMetadata loads a package's metadata from a source. LoadPackageMetadata(dst *layout.PackagePaths, wantSBOM bool, skipValidation bool) (pkg types.ZarfPackage, warnings []string, err error) // Collect relocates a package from its source to a tarball in a given destination directory. Collect(destinationDirectory string) (tarball string, err error) }
PackageSource is an interface for package sources.
While this interface defines three functions, LoadPackage, LoadPackageMetadata, and Collect; only one of them should be used within a packager function.
These functions currently do not promise repeatability due to the side effect nature of loading a package.
Signature and integrity validation is up to the implementation of the package source.
`sources.ValidatePackageSignature` and `sources.ValidatePackageIntegrity` can be leveraged for this purpose.
func New ¶
func New(pkgOpts *types.ZarfPackageOptions) (PackageSource, error)
New returns a new PackageSource based on the provided package options.
func NewClusterSource ¶
func NewClusterSource(pkgOpts *types.ZarfPackageOptions) (PackageSource, error)
NewClusterSource creates a new cluster source.
type SplitTarballSource ¶
type SplitTarballSource struct {
*types.ZarfPackageOptions
}
SplitTarballSource is a package source for split tarballs.
func (*SplitTarballSource) Collect ¶
func (s *SplitTarballSource) Collect(dir string) (string, error)
Collect turns a split tarball into a full tarball.
func (*SplitTarballSource) LoadPackage ¶
func (s *SplitTarballSource) LoadPackage(dst *layout.PackagePaths, filter filters.ComponentFilterStrategy, unarchiveAll bool) (pkg types.ZarfPackage, warnings []string, err error)
LoadPackage loads a package from a split tarball.
func (*SplitTarballSource) LoadPackageMetadata ¶
func (s *SplitTarballSource) LoadPackageMetadata(dst *layout.PackagePaths, wantSBOM bool, skipValidation bool) (pkg types.ZarfPackage, warnings []string, err error)
LoadPackageMetadata loads a package's metadata from a split tarball.
type TarballSource ¶
type TarballSource struct {
*types.ZarfPackageOptions
}
TarballSource is a package source for tarballs.
func (*TarballSource) Collect ¶
func (s *TarballSource) Collect(dir string) (string, error)
Collect for the TarballSource is essentially an `mv`
func (*TarballSource) LoadPackage ¶
func (s *TarballSource) LoadPackage(dst *layout.PackagePaths, filter filters.ComponentFilterStrategy, unarchiveAll bool) (pkg types.ZarfPackage, warnings []string, err error)
LoadPackage loads a package from a tarball.
func (*TarballSource) LoadPackageMetadata ¶
func (s *TarballSource) LoadPackageMetadata(dst *layout.PackagePaths, wantSBOM bool, skipValidation bool) (pkg types.ZarfPackage, warnings []string, err error)
LoadPackageMetadata loads a package's metadata from a tarball.
type URLSource ¶
type URLSource struct {
*types.ZarfPackageOptions
}
URLSource is a package source for http, https and sget URLs.
func (*URLSource) LoadPackage ¶
func (s *URLSource) LoadPackage(dst *layout.PackagePaths, filter filters.ComponentFilterStrategy, unarchiveAll bool) (pkg types.ZarfPackage, warnings []string, err error)
LoadPackage loads a package from an http, https or sget URL.
func (*URLSource) LoadPackageMetadata ¶
func (s *URLSource) LoadPackageMetadata(dst *layout.PackagePaths, wantSBOM bool, skipValidation bool) (pkg types.ZarfPackage, warnings []string, err error)
LoadPackageMetadata loads a package's metadata from an http, https or sget URL.