bundle

package
v0.33.1 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2023 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ImgpkgDir      = ".imgpkg"
	BundlesDir     = "bundles"
	ImagesLockFile = "images.yml"
)
View Source
const (
	LocationFilepath   = "image-locations.yml"
	ImageLocationsKind = "ImageLocations"
	LocationAPIVersion = "imgpkg.carvel.dev/v1alpha1"
)
View Source
const (
	BundleConfigLabel = "dev.carvel.imgpkg.bundle"
)

Variables

This section is empty.

Functions

func IsNotBundleError

func IsNotBundleError(err error) bool

Types

type Bundle

type Bundle struct {
	// contains filtered or unexported fields
}

Bundle struct that represents a bundle

func NewBundle

func NewBundle(ref string, imagesMetadata ImagesMetadata) *Bundle

func NewBundleFromPlainImage

func NewBundleFromPlainImage(plainImg *plainimg.PlainImage, imagesMetadata ImagesMetadata) *Bundle

func NewBundleWithReader

func NewBundleWithReader(ref string, imagesMetadata ImagesMetadata, imagesLockReader ImagesLockReader) *Bundle

func (*Bundle) AllImagesLockRefs added in v0.26.0

func (o *Bundle) AllImagesLockRefs(concurrency int, logger util.LoggerWithLevels) ([]*Bundle, ImageRefs, error)

AllImagesLockRefs returns a flat list of nested bundles and every image reference for a specific bundle

func (*Bundle) Digest added in v0.27.0

func (o *Bundle) Digest() string

Digest Bundle Digest

func (*Bundle) DigestRef

func (o *Bundle) DigestRef() string

DigestRef Bundle full location including registry, repository and digest

func (*Bundle) FetchAllImagesRefs added in v0.26.0

func (o *Bundle) FetchAllImagesRefs(concurrency int, ui Logger, sigFetcher SignatureFetcher) ([]*Bundle, error)

FetchAllImagesRefs returns a flat list of nested bundles and every image reference for a specific bundle

func (*Bundle) ImagesRefs added in v0.26.0

func (o *Bundle) ImagesRefs() []ImageRef

ImagesRefs Retrieve the references for the Images of this particular bundle

func (*Bundle) IsBundle

func (o *Bundle) IsBundle() (bool, error)

func (*Bundle) NestedBundles added in v0.31.0

func (o *Bundle) NestedBundles() []GraphNode

NestedBundles Provides information about the Graph of nested bundles associated with the current bundle

func (*Bundle) NoteCopy

func (o *Bundle) NoteCopy(processedImages *imageset.ProcessedImages, reg ImagesMetadataWriter, ui util.LoggerWithLevels) error

NoteCopy writes an image-location representing the bundle / images that have been copied

func (*Bundle) Pull

func (o *Bundle) Pull(outputPath string, logger Logger, pullNestedBundles bool) (bool, error)

Pull Downloads bundle image to disk and checks if it can update the ImagesLock file

func (*Bundle) Repo

func (o *Bundle) Repo() string

Repo Bundle registry and Repository

func (*Bundle) Tag

func (o *Bundle) Tag() string

Tag Bundle Tag

func (*Bundle) UpdateImageRefs added in v0.23.0

func (o *Bundle) UpdateImageRefs(bundles []*Bundle) error

UpdateImageRefs updates the bundle cached images without talking to the registry

type Contents

type Contents struct {
	// contains filtered or unexported fields
}

func NewContents

func NewContents(paths []string, excludedPaths []string) Contents

func (Contents) PresentsAsBundle

func (b Contents) PresentsAsBundle() (bool, error)

PresentsAsBundle checks if the provided folders have the needed structure to be a bundle

func (Contents) Push

func (b Contents) Push(uploadRef regname.Tag, registry ImagesMetadataWriter, logger Logger) (string, error)

Push the contents of the bundle to the registry as an OCI Image

type GraphNode added in v0.31.0

type GraphNode struct {
	Path          string
	ImageRef      string
	NestedBundles []GraphNode
}

GraphNode Node information of a Bundle

type ImageLocation

type ImageLocation struct {
	Image    string `json:"image"`    // This generated yaml, but due to lib we need to use `json`
	IsBundle bool   `json:"isBundle"` // This generated yaml, but due to lib we need to use `json`
}

type ImageLocationsConfig

type ImageLocationsConfig struct {
	APIVersion string          `json:"apiVersion"` // This generated yaml, but due to lib we need to use `json`
	Kind       string          `json:"kind"`       // This generated yaml, but due to lib we need to use `json`
	Images     []ImageLocation `json:"images"`     // This generated yaml, but due to lib we need to use `json`
}

func NewLocationConfigFromBytes

func NewLocationConfigFromBytes(data []byte) (ImageLocationsConfig, error)

func NewLocationConfigFromPath

func NewLocationConfigFromPath(path string) (ImageLocationsConfig, error)

func (ImageLocationsConfig) AsBytes

func (c ImageLocationsConfig) AsBytes() ([]byte, error)

func (ImageLocationsConfig) Validate

func (c ImageLocationsConfig) Validate() error

func (ImageLocationsConfig) WriteToPath

func (c ImageLocationsConfig) WriteToPath(path string) error

type ImageRef

type ImageRef struct {
	lockconfig.ImageRef
	IsBundle  *bool
	Copiable  bool
	ImageType ImageType
}

func NewBundleImageRef added in v0.26.0

func NewBundleImageRef(imgRef lockconfig.ImageRef) ImageRef

NewBundleImageRef Constructs a new ImageRef for Bundle

func NewContentImageRef added in v0.26.0

func NewContentImageRef(imgRef lockconfig.ImageRef) ImageRef

NewContentImageRef Constructs a new ImageRef for Image

func NewImageRefWithType added in v0.26.0

func NewImageRefWithType(imgRef lockconfig.ImageRef, imageType ImageType) ImageRef

NewImageRefWithType Constructs a new ImageRef based on the ImageType

func (ImageRef) DeepCopy

func (i ImageRef) DeepCopy() ImageRef

func (ImageRef) Digest added in v0.27.0

func (i ImageRef) Digest() string

Digest Image Digest

type ImageRefLocationsConfig

type ImageRefLocationsConfig interface {
	Config() (ImageLocationsConfig, error)
}

type ImageRefs

type ImageRefs struct {
	// contains filtered or unexported fields
}

func NewImageRefs

func NewImageRefs() ImageRefs

func NewImageRefsFromImagesLock

func NewImageRefsFromImagesLock(imagesLock lockconfig.ImagesLock, imageRefsLocationConfig ImageRefLocationsConfig) (ImageRefs, error)

NewImageRefsFromImagesLock Create a new ImageRefs from the provided lockconfig.ImagesLock and ImageLocationsConfig

func (*ImageRefs) AddImagesRef

func (i *ImageRefs) AddImagesRef(refs ...ImageRef)

func (*ImageRefs) Find

func (i *ImageRefs) Find(ref string) (ImageRef, bool)

func (ImageRefs) ImageRefs

func (i ImageRefs) ImageRefs() []ImageRef

func (ImageRefs) ImagesLock

func (i ImageRefs) ImagesLock() lockconfig.ImagesLock

func (*ImageRefs) LocalizeToRepo

func (i *ImageRefs) LocalizeToRepo(relativeToRepo string)

func (*ImageRefs) MarkAsBundle

func (i *ImageRefs) MarkAsBundle(image string, isBundle bool)

func (*ImageRefs) UpdateRelativeToRepo

func (i *ImageRefs) UpdateRelativeToRepo(imgRetriever ImagesMetadata, relativeToRepo string) (bool, error)

type ImageType added in v0.26.0

type ImageType string

ImageType defines the type of Image. This is an evolving list that might grow with time

const (
	// BundleImage Image that represents a Bundle
	BundleImage ImageType = "Bundle"
	// ContentImage Image that is part of the Bundle
	ContentImage ImageType = "Image"
	// SignatureImage Image that contains a signature
	SignatureImage ImageType = "Signature"
	// InternalImage Image that contains a signature
	InternalImage ImageType = "Internal"
)

type ImagesLockReader

type ImagesLockReader interface {
	Read(img regv1.Image) (lockconfig.ImagesLock, error)
}

type ImagesMetadata

type ImagesMetadata interface {
	Get(regname.Reference) (*regremote.Descriptor, error)
	Image(regname.Reference) (regv1.Image, error)
	Digest(regname.Reference) (regv1.Hash, error)
	FirstImageExists(digests []string) (string, error)
}

type ImagesMetadataWriter

type ImagesMetadataWriter interface {
	ImagesMetadata
	WriteImage(regname.Reference, regv1.Image, chan regv1.Update) error
	WriteTag(ref regname.Tag, taggagle regremote.Taggable) error
	CloneWithLogger(logger util.ProgressLogger) registry.Registry
}

type LocationImageReader

type LocationImageReader interface {
	Read(img regv1.Image) (ImageLocationsConfig, error)
}

type LocationsConfig

type LocationsConfig struct {
	// contains filtered or unexported fields
}

func (LocationsConfig) Config

type LocationsConfigs

type LocationsConfigs struct {
	// contains filtered or unexported fields
}

func NewLocations

func NewLocations(ui util.LoggerWithLevels) *LocationsConfigs

NewLocations constructor for creating a LocationsConfigs

func NewLocationsWithReader

func NewLocationsWithReader(reader LocationImageReader, ui util.LoggerWithLevels) *LocationsConfigs

NewLocationsWithReader constructor for LocationsConfigs

func (*LocationsConfigs) Fetch

func (r *LocationsConfigs) Fetch(registry ImagesMetadata, bundleRef name.Digest) (ImageLocationsConfig, error)

Fetch Retrieve the ImageLocationsConfig for a particular Bundle

func (LocationsConfigs) LocationsImageDigest added in v0.26.0

func (r LocationsConfigs) LocationsImageDigest(registry ImagesMetadata, bundleRef name.Digest) (name.Digest, error)

LocationsImageDigest Retrieve the Locations OCI Image Digest

func (LocationsConfigs) Save

func (r LocationsConfigs) Save(reg ImagesMetadataWriter, bundleRef name.Digest, config ImageLocationsConfig, logger Logger) error

Save the locations information for the bundle in the registry This function will create an OCI Image that contains the Location information of all the images that are part of the Bundle

type LocationsNotFound

type LocationsNotFound struct {
	// contains filtered or unexported fields
}

func (LocationsNotFound) Error

func (n LocationsNotFound) Error() string

type Logger added in v0.26.0

type Logger interface {
	Errorf(msg string, args ...interface{})
	Warnf(msg string, args ...interface{})
	Debugf(msg string, args ...interface{})
	Tracef(msg string, args ...interface{})
	Logf(msg string, args ...interface{})
}

Logger Interface used for logging

type NotFoundLocationsConfig added in v0.23.1

type NotFoundLocationsConfig struct{}

NotFoundLocationsConfig Noop Locations Configuration retrieval

func (NotFoundLocationsConfig) Config added in v0.23.1

Config Returns a LocationsNotFound error

type SignatureFetcher added in v0.26.0

type SignatureFetcher interface {
	FetchForImageRefs(images []lockconfig.ImageRef) ([]lockconfig.ImageRef, error)
}

SignatureFetcher Interface to retrieve signatures associated with Images

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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