oci

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DockerReferenceType     = "vnd.docker.reference.type"
	DockerReferenceDigest   = "vnd.docker.reference.digest"
	AttestationManifestType = "attestation-manifest"
	InTotoPredicateType     = "in-toto.io/predicate-type"
)

Variables

This section is empty.

Functions

func ExtractEnvelopes

func ExtractEnvelopes(ia *AttestationManifest, predicateType string) ([]*att.Envelope, error)

func HttpTransport

func HttpTransport() http.RoundTripper

func RefToPURL

func RefToPURL(ref string, platform string) (string, bool, error)

Types

type AttestationManifest

type AttestationManifest struct {
	// attestation image details
	Image      v1.Image
	Manifest   *v1.Manifest
	Descriptor *v1.Descriptor
	// details of subect image
	Name     string
	Digest   string
	Platform *v1.Platform
}

func FetchAttestationManifest

func FetchAttestationManifest(ctx context.Context, image, platformStr string) (*AttestationManifest, error)

type AttestationResolver

type AttestationResolver interface {
	ImageName(ctx context.Context) (string, error)
	ImagePlatformStr() string
	ImageDigest(ctx context.Context) (string, error)
	Attestations(ctx context.Context, mediaType string) ([]*att.Envelope, error)
}

type MockResolver

type MockResolver struct {
	Envs []*att.Envelope
}

func (MockResolver) Attestations

func (r MockResolver) Attestations(ctx context.Context, mediaType string) ([]*att.Envelope, error)

func (MockResolver) ImageDigest

func (r MockResolver) ImageDigest(ctx context.Context) (string, error)

func (MockResolver) ImageName

func (r MockResolver) ImageName(ctx context.Context) (string, error)

func (MockResolver) ImagePlatformStr

func (r MockResolver) ImagePlatformStr() string

type OCILayoutResolver

type OCILayoutResolver struct {
	Path     string
	Platform string
	*AttestationManifest
}

implementation of AttestationResolver that closes over attestations from an oci layout

func (*OCILayoutResolver) Attestations

func (r *OCILayoutResolver) Attestations(ctx context.Context, predicateType string) ([]*att.Envelope, error)

func (*OCILayoutResolver) ImageDigest

func (r *OCILayoutResolver) ImageDigest(ctx context.Context) (string, error)

func (*OCILayoutResolver) ImageName

func (r *OCILayoutResolver) ImageName(ctx context.Context) (string, error)

func (*OCILayoutResolver) ImagePlatformStr

func (r *OCILayoutResolver) ImagePlatformStr() string

type Option

type Option = func(*http.Client)

type RegistryResolver

type RegistryResolver struct {
	Image    string
	Platform string
	*AttestationManifest
}

func (*RegistryResolver) Attestations

func (r *RegistryResolver) Attestations(ctx context.Context, predicateType string) ([]*att.Envelope, error)

func (*RegistryResolver) ImageDigest

func (r *RegistryResolver) ImageDigest(ctx context.Context) (string, error)

func (*RegistryResolver) ImageName

func (r *RegistryResolver) ImageName(ctx context.Context) (string, error)

func (*RegistryResolver) ImagePlatformStr

func (r *RegistryResolver) ImagePlatformStr() string

Jump to

Keyboard shortcuts

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