oci

package
v0.3.3 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2026 License: AGPL-3.0 Imports: 40 Imported by: 0

Documentation

Overview

Package oci implements the source.Fetcher for KindOCIRepository via oras-go. Generic provider only — IRSA / Workload Identity is out of scope for offline flate.

File map:

fetcher.go  — Fetcher type, Fetch entry, authIdentity
fetch.go    — fetch workhorse, cache-hit gate, artifact composer
auth.go     — TLS, registry-config, credential-store resolution
resolve.go  — OCI ref parsing, semver tag picking, revision shape
marker.go   — .flate-digest / .flate-verified slot markers
cosign.go   — cosign signature verification
layer.go    — spec.layerSelector copy/extract

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Fetcher

type Fetcher struct {
	Cache          *source.Cache
	RegistryConfig string
	Secrets        source.SecretGetter
}

Fetcher is the Fetcher implementation for KindOCIRepository. RegistryConfig is the global --registry-config docker-style config.json path used when no per-repo SecretRef is set. Secrets is the per-repo source.SecretGetter (typically the orchestrator-provided Store.GetByName), required when any OCIRepository has spec.secretRef pointing at a kubernetes.io/dockerconfigjson Secret.

func (*Fetcher) Fetch

Fetch implements source.TypedFetcher[*manifest.OCIRepository]. The typed signature is wrapped via source.Wrap at orchestrator registration — a payload mismatch returns ErrInput once at the adapter site rather than panicking here.

Fetch resolves credentials, TLS, and proxy from the CR's *SecretRef fields, then hands off to fetch() — the workhorse in fetch.go that owns slot lifecycle, oras Copy, cosign verification, layer extraction, and marker writes.

Jump to

Keyboard shortcuts

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