container

package
v0.0.0-...-4c964c4 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrBlobUnknown         = &RegistryErr{Code: "BLOB_UNKNOWN", Message: "blob unknown to registry", HTTPStatusValue: http.StatusNotFound}
	ErrBlobUploadInvalid   = &RegistryErr{Code: "BLOB_UPLOAD_INVALID", HTTPStatusValue: http.StatusBadRequest}
	ErrBlobUploadUnknown   = &RegistryErr{Code: "BLOB_UPLOAD_UNKNOWN", HTTPStatusValue: http.StatusNotFound}
	ErrDigestInvalid       = &RegistryErr{Code: "DIGEST_INVALID", HTTPStatusValue: http.StatusBadRequest}
	ErrManifestBlobUnknown = &RegistryErr{Code: "MANIFEST_BLOB_UNKNOWN", HTTPStatusValue: http.StatusNotFound}
	ErrManifestInvalid     = &RegistryErr{Code: "MANIFEST_INVALID", HTTPStatusValue: http.StatusBadRequest}
	ErrManifestUnknown     = &RegistryErr{Code: "MANIFEST_UNKNOWN", HTTPStatusValue: http.StatusNotFound}
	ErrNameInvalid         = &RegistryErr{Code: "NAME_INVALID", HTTPStatusValue: http.StatusBadRequest}
	ErrNameUnknown         = &RegistryErr{Code: "NAME_UNKNOWN", HTTPStatusValue: http.StatusNotFound}
	ErrSizeInvalid         = &RegistryErr{Code: "SIZE_INVALID", HTTPStatusValue: http.StatusBadRequest}
	ErrUnauthorized        = &RegistryErr{Code: "UNAUTHORIZED", HTTPStatusValue: http.StatusUnauthorized}
	ErrDenied              = &RegistryErr{Code: "DENIED", Message: "requested access to the resource is denied", HTTPStatusValue: http.StatusForbidden}
	ErrUnsupported         = &RegistryErr{Code: "UNSUPPORTED", HTTPStatusValue: http.StatusNotImplemented}
	ErrCodeRangeInvalid    = &RegistryErr{Code: "RANGE_INVALID", Message: "invalid content range", HTTPStatusValue: http.StatusRequestedRangeNotSatisfiable}
	ErrClientClosed        = &RegistryErr{Code: "CLIENT_CLOSED", HTTPStatusValue: 499}
	ErrUnknown             = &RegistryErr{Code: "UNKNOWN", HTTPStatusValue: http.StatusInternalServerError}
)

Functions

func HashUUID

func HashUUID(base uuid.UUID, salt string) string

func NewManifestUploader

func NewManifestUploader(artStore store.ArtifactStore, view *adapter.ViewDescriptor, dgst string) *manifestUploader

func RenderError

func RenderError(ctx context.Context, w http.ResponseWriter, err error)

Types

type ImageMeta

type ImageMeta struct {
	Digest digest.Digest `json:"digest"`
	OS     string        `json:"os"`
	Arch   string        `json:"arch"`
	Size   int64         `json:"size"`
}

type RegistryErr

type RegistryErr struct {
	Code            string `json:"code"`
	Message         string `json:"message"`
	Detail          string `json:"detail"`
	HTTPStatusValue int    `json:"-"`
}

func (*RegistryErr) Error

func (e *RegistryErr) Error() string

func (*RegistryErr) WithDetail

func (e *RegistryErr) WithDetail(s string) *RegistryErr

type ResumeRequest

type ResumeRequest struct {
	SessionID string
	RepoName  string
	Ref       string

	State *blobUploadState
	// contains filtered or unexported fields
}

func InitResumeRequest

func InitResumeRequest(repoName string, artStore store.ArtifactStore, view *adapter.ViewDescriptor) *ResumeRequest

InitResumeRequest generate a random session_id for upload, init an empty resume request

func ParseResumeRequest

func ParseResumeRequest(ctx context.Context, sessionID, fullRepoName, token string, artStore store.ArtifactStore, view *adapter.ViewDescriptor) (*ResumeRequest, error)

func (*ResumeRequest) AppendWrite

func (crr *ResumeRequest) AppendWrite(ctx context.Context, r *http.Request) error

func (*ResumeRequest) Finish

func (crr *ResumeRequest) Finish(ctx context.Context, r *http.Request, dgst *digest.Digest) error

func (*ResumeRequest) Remove

func (crr *ResumeRequest) Remove(ctx context.Context) error

func (*ResumeRequest) Size

func (crr *ResumeRequest) Size(ctx context.Context) (int64, error)

type TagMetadata

type TagMetadata struct {
	Images []*ImageMeta `json:"images"`
}

type TagMetadataReader

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

func NewTagMetadataReader

func NewTagMetadataReader(artStore store.ArtifactStore, view *adapter.ViewDescriptor) *TagMetadataReader

func (*TagMetadataReader) Parse

func (t *TagMetadataReader) Parse(ctx context.Context, mediaType string, digest digest.Digest) (*TagMetadata, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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