Documentation
¶
Index ¶
- func ReadBlobVerified(ctx context.Context, provider content.Provider, desc ocispecs.Descriptor) ([]byte, error)
- func ReadProvenancePredicate(ctx context.Context, provider content.Provider, ...) ([]byte, string, error)
- func RegistryAuthForRef(ref string, auth authprovider.AuthConfigProvider) (string, error)
- type DescWithSource
- type Location
- func (l *Location) Digest() digest.Digest
- func (l *Location) IsOCILayout() bool
- func (l *Location) IsRegistry() bool
- func (l *Location) Kind() LocationKind
- func (l *Location) Name() string
- func (l *Location) Named() reference.Named
- func (l *Location) OCILayout() ocilayout.Ref
- func (l *Location) String() string
- func (l *Location) Tag() string
- func (l *Location) TagNameOnly() (*Location, error)
- func (l *Location) ValidateTargetDigest(desc digest.Digest) error
- func (l *Location) WithDigest(dgst digest.Digest) (*Location, error)
- func (l *Location) WithTag(tag string) (*Location, error)
- type LocationKind
- type Opt
- type Printer
- type Resolver
- func (r *Resolver) Combine(ctx context.Context, srcs []*Source, ann map[exptypes.AnnotationKey]string, ...) ([]byte, ocispecs.Descriptor, []DescWithSource, error)
- func (r *Resolver) Copy(ctx context.Context, src *Source, dest *Location) error
- func (r *Resolver) CopyWithIngester(ctx context.Context, src *Source, dest *Location, ingester content.Ingester) error
- func (r *Resolver) FetchReferrers(ctx context.Context, loc *Location, dgst digest.Digest, ...) ([]ocispecs.Descriptor, error)
- func (r *Resolver) Fetcher(ctx context.Context, ref string) (remotes.Fetcher, error)
- func (r *Resolver) Get(ctx context.Context, in string) ([]byte, ocispecs.Descriptor, error)
- func (r *Resolver) GetDescriptor(ctx context.Context, loc *Location, desc ocispecs.Descriptor) ([]byte, error)
- func (r *Resolver) IngesterForLocation(ctx context.Context, loc *Location) (content.Ingester, error)
- func (r *Resolver) Push(ctx context.Context, ref *Location, desc ocispecs.Descriptor, dt []byte) error
- func (r *Resolver) Resolve(ctx context.Context, in string) (string, ocispecs.Descriptor, error)
- type Source
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ReadBlobVerified ¶
func ReadBlobVerified(ctx context.Context, provider content.Provider, desc ocispecs.Descriptor) ([]byte, error)
ReadBlobVerified reads a blob and checks that its content matches the size and digest of the descriptor. Providers backed by a registry fetcher or an OCI layout do not verify the content they return.
func ReadProvenancePredicate ¶
func ReadProvenancePredicate(ctx context.Context, provider content.Provider, attestManifest ocispecs.Descriptor) ([]byte, string, error)
ReadProvenancePredicate loads the SLSA provenance predicate payload from the attestation manifest referenced by attestManifest, reading blobs through the supplied content provider and verifying them against their digests. Returns the raw predicate JSON bytes and the predicate type URI. When the manifest has no provenance layer both return values are empty without error so callers can distinguish "no provenance" from a hard failure.
This exposes the provenance scan + DSSE unwrap logic used internally by scanProvenance for reuse by `buildx replay`.
func RegistryAuthForRef ¶ added in v0.5.0
func RegistryAuthForRef(ref string, auth authprovider.AuthConfigProvider) (string, error)
Types ¶
type DescWithSource ¶ added in v0.30.0
type DescWithSource struct {
ocispecs.Descriptor
Source *Source
}
type Location ¶ added in v0.33.0
type Location struct {
// contains filtered or unexported fields
}
func ParseLocation ¶ added in v0.33.0
func (*Location) IsOCILayout ¶ added in v0.33.0
func (*Location) IsRegistry ¶ added in v0.33.0
func (*Location) Kind ¶ added in v0.33.0
func (l *Location) Kind() LocationKind
func (*Location) TagNameOnly ¶ added in v0.33.0
func (*Location) ValidateTargetDigest ¶ added in v0.33.0
func (*Location) WithDigest ¶ added in v0.33.0
type LocationKind ¶ added in v0.33.0
type LocationKind int
const ( LocationKindRegistry LocationKind = iota LocationKindOCILayout )
type Opt ¶
type Opt struct {
Auth authprovider.AuthConfigProvider
RegistryConfig map[string]resolver.RegistryConfig
}
type Printer ¶ added in v0.8.0
type Printer struct {
// contains filtered or unexported fields
}
func NewPrinter ¶ added in v0.8.0
type Resolver ¶
type Resolver struct {
// contains filtered or unexported fields
}
func (*Resolver) Combine ¶
func (r *Resolver) Combine(ctx context.Context, srcs []*Source, ann map[exptypes.AnnotationKey]string, preferIndex bool, platforms []ocispecs.Platform) ([]byte, ocispecs.Descriptor, []DescWithSource, error)
func (*Resolver) CopyWithIngester ¶ added in v0.33.0
func (r *Resolver) CopyWithIngester(ctx context.Context, src *Source, dest *Location, ingester content.Ingester) error
CopyWithIngester copies a source manifest and its referrers to the destination using the provided ingester. Callers that issue multiple concurrent copies to the same destination should share a single ingester so that the underlying per-digest locking prevents duplicate blob pushes from racing against each other.
func (*Resolver) FetchReferrers ¶ added in v0.33.0
func (*Resolver) GetDescriptor ¶
func (*Resolver) IngesterForLocation ¶ added in v0.33.0
func (r *Resolver) IngesterForLocation(ctx context.Context, loc *Location) (content.Ingester, error)
IngesterForLocation returns a content ingester for the given location. For registry locations a new pusher is created; for OCI layout locations the local content store is returned.
type Source ¶ added in v0.9.0
type Source struct {
Desc ocispecs.Descriptor
Ref *Location
}