oci

package
v0.28.0 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2026 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AppendGitMetadata

func AppendGitMetadata(repoPath string, annotations map[string]string)

AppendGitMetadata fills missing creation, source, and revision annotations. Creation uses SOURCE_DATE_EPOCH before Git commit time; Git failures are ignored.

func BuildArtifact

func BuildArtifact(dstFile, contentPath string, ignorePaths []string) error

BuildArtifact creates the destination file and packages the given content (excluding symlinks) using tar+gzip compression.

func ListArtifactTags

func ListArtifactTags(ociURL string, withDigest bool, opts []crane.Option) ([]apiv1.ArtifactReference, error)

ListArtifactTags performs the following operations: - fetches the digest of the latest tag (if it exists) - lists all the tags from the artifact repository - fetches the digest of each tag (if configured to do so) - returns an array of ArtifactReference objects

func ListModuleVersions

func ListModuleVersions(ociURL string, withDigest bool, opts []crane.Option) ([]apiv1.ModuleReference, error)

ListModuleVersions performs the following operations: - lists all the tags from to this module repository - filters and orders the tags based on semver - fetches the digest of the latest version - fetches the digest of each version (if configured to do so) - returns an array of ModuleReference objects

func Options

func Options(ctx context.Context, credentials string, insecure bool) []crane.Option

Options returns the crane options for the given context.

func ParseAnnotations

func ParseAnnotations(args []string) (map[string]string, error)

ParseAnnotations parses key=value pairs and preserves additional equals signs in values.

func ParseArtifactURL

func ParseArtifactURL(ociURL string) (string, error)

ParseArtifactURL validates the OpenContainers URL and returns the address of the artifact.

func ParseDigest

func ParseDigest(ociURL string) (name.Digest, error)

ParseDigest extracts the digest from the OpenContainers URL.

func ParseRepositoryURL

func ParseRepositoryURL(ociURL string) (string, error)

ParseRepositoryURL validates the OpenContainers URL and returns the address of the artifact repository.

func PullArtifact

func PullArtifact(ociURL, dstPath, contentType string, opts []crane.Option) error

PullArtifact performs the following operations: - fetches the manifest of the remote artifact - verifies that artifact config matches Timoni's media type - download all the compressed layer matching Timoni's media type - extracts the layers contents to the destination directory

func PullModule

func PullModule(ociURL, dstPath, cacheDir string, opts []crane.Option) (*apiv1.ModuleReference, error)

PullModule performs the following operations: - determines the artifact digest corresponding to the module version - fetches the manifest of the remote artifact - verifies that artifact config matches Timoni's media type - downloads all compressed layers matching Timoni's media type (if not cached) - atomically stores the compressed layers in the local cache (if caching is enabled) - extracts the module contents to the destination directory

func PushArtifact

func PushArtifact(ociURL, contentPath string, ignorePaths []string, contentType string, annotations map[string]string, opts []crane.Option) (string, error)

PushArtifact builds and pushes a single-layer OCI artifact, then returns its digest URL.

func PushModule

func PushModule(ociURL, contentPath string, ignorePaths []string, annotations map[string]string, opts []crane.Option) (string, error)

PushModule builds and pushes ordered vendor and module layers, then returns the module's digest URL.

func SignArtifact

func SignArtifact(log logr.Logger, provider string, ociURL string, keyRef string) error

SignArtifact validates the provider and signs an OpenContainers artifact.

func SignCosign

func SignCosign(log logr.Logger, imageRef string, keyRef string) error

SignCosign signs an image (`imageRef`) using a cosign private key (`keyRef`)

func TagArtifact

func TagArtifact(ociURL, tag string, opts []crane.Option) error

TagArtifact validates and adds the tag to the remote OpenContainers artifact.

func ValidateSigningProvider added in v0.28.0

func ValidateSigningProvider(provider string) error

ValidateSigningProvider reports whether the signing provider is supported.

func ValidateTag added in v0.28.0

func ValidateTag(tag string) error

ValidateTag reports whether tag follows the OCI Distribution tag grammar.

func VerifyArtifact

func VerifyArtifact(log logr.Logger, provider string, ociURL string, keyRef string, certIdentity string, certIdentityRegexp string, certOidcIssuer string, certOidcIssuerRegexp string) error

VerifyArtifact verifies an OpenContainers artifact using the specified provider.

func VerifyCosign

func VerifyCosign(log logr.Logger, imageRef string, keyRef string,
	certIdentity string, certIdentityRegexp string, certOidcIssuer string, certOidcIssuerRegexp string) error

VerifyCosign verifies an image (`rawRef`) with a cosign public key (`keyRef`) Either --cosign-certificate-identity or --cosign-certificate-identity-regexp and either --cosign-certificate-oidc-issuer or --cosign-certificate-oidc-issuer-regexp must be set for keyless flows.

func WriteImage added in v0.28.0

func WriteImage(image gcrv1.Image, destination string, format LocalFormat, references []string) error

WriteImage validates and writes an image to a new OCI layout or archive. References become OCI layout descriptor names and must use Timoni's local syntax.

Types

type ImageBuild added in v0.28.0

type ImageBuild struct {
	Image  gcrv1.Image
	Digest gcrv1.Hash
	// contains filtered or unexported fields
}

ImageBuild owns a completed OCI image, its digest, and temporary layer files.

func BuildArtifactImage added in v0.28.0

func BuildArtifactImage(contentPath string, ignorePaths []string, contentType string, annotations map[string]string) (*ImageBuild, error)

BuildArtifactImage packages contentPath as a single-layer OCI image.

func BuildModuleImage added in v0.28.0

func BuildModuleImage(contentPath string, ignorePaths []string, annotations map[string]string) (*ImageBuild, error)

BuildModuleImage packages a module as ordered vendor and module layers.

func (*ImageBuild) Close added in v0.28.0

func (b *ImageBuild) Close() error

Close removes the temporary layer files owned by the build.

type LocalFormat added in v0.28.0

type LocalFormat string

LocalFormat identifies an OCI filesystem output format.

const (
	FormatArchive LocalFormat = "oci-archive"
	FormatLayout  LocalFormat = "oci-layout"
)

func (LocalFormat) Validate added in v0.28.0

func (f LocalFormat) Validate() error

Validate reports whether the local OCI output format is supported.

Jump to

Keyboard shortcuts

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