util

package
v1.11.0 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultRegistry   = "localhost"
	DefaultRepository = "_"
)

Variables

View Source
var ErrNoKitfile = errors.New("artifact does not contain a Kitfile")
View Source
var ErrNotAModelKit = errors.New("reference exists but is not a modelkit")

Functions

func DefaultReference

func DefaultReference() *registry.Reference

DefaultReference returns a reference that can be used when no reference is supplied. It uses the default registry and repository

func FormatRepositoryForDisplay

func FormatRepositoryForDisplay(repo string) string

FormatRepositoryForDisplay removes default values from a repository string to avoid surfacing defaulted fields when displaying references, which may be confusing.

func GetConfig

func GetConfig(ctx context.Context, store oras.ReadOnlyTarget, configDesc ocispec.Descriptor) (*artifact.KitFile, error)

GetConfig returns the config (Kitfile) described by a descriptor. Returns an error if the config blob cannot be resolved or if the descriptor does not describe a Kitfile.

func GetKitfileForManifest added in v1.10.0

func GetKitfileForManifest(ctx context.Context, store oras.ReadOnlyTarget, manifest *ocispec.Manifest) (*artifact.KitFile, error)

GetKitfileForManifest returns the Kitfile for a given manifest, either by retrieving it from an OCI store or by reading it from manifest annotations. If manifest type is unrecognized, returns ErrNotAModelKit. If the manifest is recognized but does not contain a Kitfile (e.g. it was not created by Kit), returns ErrNoKitfile.

func GetManifest

func GetManifest(ctx context.Context, store oras.ReadOnlyTarget, manifestDesc ocispec.Descriptor) (*ocispec.Manifest, error)

GetManifest returns the Manifest described by a Descriptor. Returns an error if the manifest blob cannot be resolved or does not represent a modelkit manifest.

func GetManifestAndKitfile added in v1.10.0

func GetManifestAndKitfile(ctx context.Context, store oras.ReadOnlyTarget, manifestDesc ocispec.Descriptor) (*ocispec.Manifest, *artifact.KitFile, error)

GetManifestAndKitfile returns the manifest and config (Kitfile) for a manifest Descriptor. Calls GetManifest and GetKitfileForManifest. If the manifest is retrieved but no Kitfile can be found, returns the manifest and error equal to ErrNoKitfile

func IsModelKitReference

func IsModelKitReference(ref string) bool

IsModelKitReference returns true if the ref string "looks" like a modelkit reference

func LayerPathsFromKitfile

func LayerPathsFromKitfile(kitfile *artifact.KitFile) []string

func ParseReference

func ParseReference(refString string) (reference *registry.Reference, extraTags []string, err error)

ParseReference parses a reference string into a Reference struct. It attempts to make references conform to an expected structure, with a defined registry and repository by filling default values for registry and repository where appropriate. Where the first part of a reference doesn't look like a registry URL, the default registry is used, turning e.g. testorg/testrepo into localhost/testorg/testrepo. If refString does not contain a registry or a repository (i.e. is a base SHA256 hash), the returned reference uses placeholder values for registry and repository.

See FormatRepositoryForDisplay for removing default values from a registry for displaying to the user.

func ReferenceIsDigest

func ReferenceIsDigest(ref string) bool

ReferenceIsDigest returns if the reference is a digest. If false, reference should be treated as a tag

func RepoPath

func RepoPath(storagePath string, ref *registry.Reference) string

RepoPath returns the path that should be used for creating a local OCI index given a specific *registry.Reference.

func ResolveManifest

func ResolveManifest(ctx context.Context, store oras.Target, reference string) (ocispec.Descriptor, *ocispec.Manifest, error)

ResolveManifest returns the manifest for a reference (tag), if present in the target store

func ResolveManifestAndConfig

func ResolveManifestAndConfig(ctx context.Context, store oras.Target, reference string) (ocispec.Descriptor, *ocispec.Manifest, *artifact.KitFile, error)

ResolveManifestAndConfig returns the manifest and config (Kitfile) for a given reference (tag), if present in the store. Calls GetManifest and GetKitfileForManifest. If the manifest is retrieved but no Kitfile can be found, returns the manifest and error equal to ErrNoKitfile

Types

This section is empty.

Jump to

Keyboard shortcuts

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