Documentation ¶
Overview ¶
Package zoci contains functions for interacting with Zarf packages stored in OCI registries.
Package zoci contains functions for interacting with Zarf packages stored in OCI registries.
Package zoci contains functions for interacting with Zarf packages stored in OCI registries.
Package zoci contains functions for interacting with Zarf packages stored in OCI registries.
Package zoci contains functions for interacting with Zarf packages stored in OCI registries.
Package zoci contains functions for interacting with Zarf packages stored in OCI registries.
Index ¶
- Constants
- Variables
- func CopyPackage(ctx context.Context, src *Remote, dst *Remote, concurrency int) error
- func GetInitPackageURL(version string) string
- func PlatformForSkeleton() ocispec.Platform
- func ReferenceFromMetadata(registryLocation string, metadata *v1alpha1.ZarfMetadata, ...) (string, error)
- type Remote
- func (r *Remote) FetchImagesIndex(ctx context.Context) (*ocispec.Index, error)
- func (r *Remote) FetchZarfYAML(ctx context.Context) (v1alpha1.ZarfPackage, error)
- func (r *Remote) LayersFromRequestedComponents(ctx context.Context, requestedComponents []v1alpha1.ZarfComponent) ([]ocispec.Descriptor, error)
- func (r *Remote) PublishPackage(ctx context.Context, pkg *v1alpha1.ZarfPackage, paths *layout.PackagePaths, ...) error
- func (r *Remote) PullPackage(ctx context.Context, destinationDir string, concurrency int, ...) ([]ocispec.Descriptor, error)
- func (r *Remote) PullPackageMetadata(ctx context.Context, destinationDir string) ([]ocispec.Descriptor, error)
- func (r *Remote) PullPackageSBOM(ctx context.Context, destinationDir string) ([]ocispec.Descriptor, error)
Constants ¶
const ( // ZarfConfigMediaType is the media type for the manifest config ZarfConfigMediaType = "application/vnd.zarf.config.v1+json" // ZarfLayerMediaTypeBlob is the media type for all Zarf layers due to the range of possible content ZarfLayerMediaTypeBlob = "application/vnd.zarf.layer.v1.blob" // SkeletonArch is the architecture used for skeleton packages SkeletonArch = "skeleton" )
Variables ¶
Functions ¶
func CopyPackage ¶
CopyPackage copies a zarf package from one OCI registry to another
func GetInitPackageURL ¶
GetInitPackageURL returns the URL for the init package for the given version.
func PlatformForSkeleton ¶
PlatformForSkeleton sets the target architecture for the remote to skeleton
func ReferenceFromMetadata ¶
func ReferenceFromMetadata(registryLocation string, metadata *v1alpha1.ZarfMetadata, build *v1alpha1.ZarfBuildData) (string, error)
ReferenceFromMetadata returns a reference for the given metadata.
Types ¶
type Remote ¶
type Remote struct {
*oci.OrasRemote
}
Remote is a wrapper around the Oras remote repository with zarf specific functions
func NewRemote ¶
NewRemote returns an oras remote repository client and context for the given url with zarf opination embedded
func (*Remote) FetchImagesIndex ¶
FetchImagesIndex fetches the images/index.json file from the remote repository.
func (*Remote) FetchZarfYAML ¶
FetchZarfYAML fetches the zarf.yaml file from the remote repository.
func (*Remote) LayersFromRequestedComponents ¶
func (r *Remote) LayersFromRequestedComponents(ctx context.Context, requestedComponents []v1alpha1.ZarfComponent) ([]ocispec.Descriptor, error)
LayersFromRequestedComponents returns the descriptors for the given components from the root manifest.
It also retrieves the descriptors for all image layers that are required by the components.
func (*Remote) PublishPackage ¶
func (r *Remote) PublishPackage(ctx context.Context, pkg *v1alpha1.ZarfPackage, paths *layout.PackagePaths, concurrency int) error
PublishPackage publishes the zarf package to the remote repository.
func (*Remote) PullPackage ¶
func (r *Remote) PullPackage(ctx context.Context, destinationDir string, concurrency int, layersToPull ...ocispec.Descriptor) ([]ocispec.Descriptor, error)
PullPackage pulls the package from the remote repository and saves it to the given path.
layersToPull is an optional parameter that allows the caller to specify which layers to pull.
The following layers will ALWAYS be pulled if they exist:
- zarf.yaml
- checksums.txt
- zarf.yaml.sig
func (*Remote) PullPackageMetadata ¶
func (r *Remote) PullPackageMetadata(ctx context.Context, destinationDir string) ([]ocispec.Descriptor, error)
PullPackageMetadata pulls the package metadata from the remote repository and saves it to `destinationDir`.
func (*Remote) PullPackageSBOM ¶
func (r *Remote) PullPackageSBOM(ctx context.Context, destinationDir string) ([]ocispec.Descriptor, error)
PullPackageSBOM pulls the package's sboms.tar from the remote repository and saves it to `destinationDir`.