zoci

package
v0.40.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2024 License: Apache-2.0 Imports: 20 Imported by: 6

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

View Source
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

View Source
var (
	// PackageAlwaysPull is a list of paths that will always be pulled from the remote repository.
	PackageAlwaysPull = []string{layout.ZarfYAML, layout.Checksums, layout.Signature}
)

Functions

func CopyPackage

func CopyPackage(ctx context.Context, src *Remote, dst *Remote, concurrency int) error

CopyPackage copies a zarf package from one OCI registry to another

func GetInitPackageURL

func GetInitPackageURL(version string) string

GetInitPackageURL returns the URL for the init package for the given version.

func PlatformForSkeleton

func PlatformForSkeleton() ocispec.Platform

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

func NewRemote(url string, platform ocispec.Platform, mods ...oci.Modifier) (*Remote, error)

NewRemote returns an oras remote repository client and context for the given url with zarf opination embedded

func (*Remote) FetchImagesIndex

func (r *Remote) FetchImagesIndex(ctx context.Context) (*ocispec.Index, error)

FetchImagesIndex fetches the images/index.json file from the remote repository.

func (*Remote) FetchZarfYAML

func (r *Remote) FetchZarfYAML(ctx context.Context) (v1alpha1.ZarfPackage, error)

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`.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL