backend

package
v1.106.1 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AuthorAnnotation = "chainloop.dev"
	// Default prefix for the blobmanager
	DefaultPrefix = "chainloop"
)

Variables

View Source
var ErrValidation = errors.New("credentials validation error")

Functions

func DetectedMediaType

func DetectedMediaType(b []byte) types.MediaType

Detect the media type based on the provided content

func IsNotFound

func IsNotFound(err error) bool

func IsUploadSizeExceeded added in v1.79.0

func IsUploadSizeExceeded(err error) bool

Types

type Describer

type Describer interface {
	Describe(ctx context.Context, digest string) (*v1.CASResource, error)
}

type Downloader

type Downloader interface {
	Download(ctx context.Context, w io.Writer, digest string) error
}

type ErrNotFound

type ErrNotFound struct {
	// contains filtered or unexported fields
}

func NewErrNotFound

func NewErrNotFound(entity string) ErrNotFound

func (ErrNotFound) Error

func (e ErrNotFound) Error() string

type ErrUploadSizeExceeded added in v1.79.0

type ErrUploadSizeExceeded struct {
	// contains filtered or unexported fields
}

func NewErrUploadSizeExceeded added in v1.79.0

func NewErrUploadSizeExceeded(want, maxSize int64) ErrUploadSizeExceeded

func (ErrUploadSizeExceeded) Error added in v1.79.0

func (e ErrUploadSizeExceeded) Error() string

type Provider

type Provider interface {
	// Provider identifier
	ID() string
	// retrieve a downloader/uploader from a secret
	FromCredentials(ctx context.Context, secretName string) (UploaderDownloader, error)
	// validate and extract credentials from raw json
	ValidateAndExtractCredentials(location string, credsJSON []byte) (any, error)
}

Provider is an interface that allows to create a backend from a secret

type Providers

type Providers map[string]Provider

type StreamingUploader added in v1.106.0

type StreamingUploader interface {
	// SupportsStreaming reports whether Upload can be fed a streaming reader
	// without the caller buffering the full artifact in memory first.
	SupportsStreaming() bool
}

StreamingUploader is an optional interface implemented by backends whose Upload can consume the artifact directly from a streaming io.Reader without requiring the whole blob to be buffered in memory first.

The Artifact CAS service type-asserts uploaders against this interface: when a backend reports SupportsStreaming()==true the upload is piped straight from the client stream to the backend, bounding CAS memory usage independently of artifact size (PFM-6923). Backends that do not implement it (e.g. the OCI backend, whose push path needs the full layer content up front) keep the buffered code path.

type Uploader

type Uploader interface {
	Upload(ctx context.Context, r io.Reader, resource *v1.CASResource) error
	Exists(ctx context.Context, digest string) (bool, error)
	CheckWritePermissions(ctx context.Context) error
}

type UploaderDownloader

type UploaderDownloader interface {
	Uploader
	Downloader
	Describer
}

Directories

Path Synopsis
Package s3accesspoint implements a CAS backend that targets a single AWS S3 Access Point per tenant.
Package s3accesspoint implements a CAS backend that targets a single AWS S3 Access Point per tenant.

Jump to

Keyboard shortcuts

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