Documentation ¶
Overview ¶
Package blobaccess provides various flavors of BlobAccess implementations. It is used to access blobs in a uniform way. Additionally, it provides the basic types provided by the sub package with the same name. This package just provides the basic types for BlobAccess implementations. It is provided for generic BlobAccess users not referring to dedicated implementation. This separation is required to avoid cycles for blobaccess users which are also used again to implement some of the BlobAccess variants. Alternatively, the sub package and the various implementation packages can be used in combination.
Index ¶
- Constants
- func BlobData(blob DataGetter, err ...error) ([]byte, error)
- func BlobReader(blob DataReader, err ...error) (io.ReadCloser, error)
- func Digest(access DataAccess) (digest.Digest, error)
- func GetData(src GenericData) ([]byte, error)
- func GetGenericData(src GenericData) (interface{}, error)
- type AnnotatedBlobAccess
- type BlobAccess
- func ForData(mime string, data []byte) BlobAccess
- func ForDirTree(path string, opts ...dirtree.Option) (BlobAccess, error)
- func ForFile(mime string, path string, fss ...vfs.FileSystem) BlobAccess
- func ForFileWithCloser(closer io.Closer, mime string, path string, fss ...vfs.FileSystem) BlobAccess
- func ForHelmChart(path string, opts ...helm.Option) (blob BlobAccess, name, version string, err error)
- func ForImageFromDockerDaemon(name string, opts ...dockerdaemon.Option) (BlobAccess, string, error)
- func ForMaven(repo *maven.Repository, groupId, artifactId, version string, ...) (BlobAccess, error)
- func ForMavenCoords(repo *maven.Repository, coords *maven.Coordinates, opts ...maven.Option) (BlobAccess, error)
- func ForMultiImageFromDockerDaemon(opts ...dockermulti.Option) (BlobAccess, error)
- func ForOCIArtifact(refname string, opts ...ociartifact.Option) (BlobAccess, string, error)
- func ForString(mime string, data string) BlobAccess
- func ForTemporaryFile(mime string, temp vfs.File, opts ...file.Option) BlobAccess
- func ForTemporaryFilePath(mime string, temp string, opts ...file.Option) BlobAccess
- func ForWget(url string, opts ...wget.Option) (_ BlobAccess, rerr error)
- func WithCompression(blob BlobAccess) (BlobAccess, error)
- func WithDecompression(blob BlobAccess) (BlobAccess, error)
- type BlobAccessProvider
- func ProviderForBlobAccess(blob bpi.BlobAccess) BlobAccessProvider
- func ProviderForData(mime string, data []byte) BlobAccessProvider
- func ProviderForDirTree(path string, opts ...dirtree.Option) BlobAccessProvider
- func ProviderForFile(mime string, path string, fss ...vfs.FileSystem) BlobAccessProvider
- func ProviderForHelmChart(path string, opts ...helm.Option) BlobAccessProvider
- func ProviderForImageFromDockerDaemon(name string, opts ...dockerdaemon.Option) BlobAccessProvider
- func ProviderForMaven(repo *maven.Repository, groupId, artifactId, version string, ...) BlobAccessProvider
- func ProviderForMultiImageFromDockerDaemon(opts ...dockermulti.Option) BlobAccessProvider
- func ProviderForOCIArtifact(name string, opts ...ociartifact.Option) BlobAccessProvider
- func ProviderForString(mime, data string) BlobAccessProvider
- func ProviderForWget(url string, opts ...wget.Option) BlobAccessProvider
- type DataAccess
- func DataAccessForDirTree(path string, opts ...dirtree.Option) (DataAccess, error)
- func DataAccessForFile(fs vfs.FileSystem, path string) DataAccess
- func DataAccessForMaven(repo *maven.Repository, groupId, artifactId, version string, ...) (DataAccess, error)
- func DataAccessForReaderFunction(reader func() (io.ReadCloser, error), origin string) DataAccess
- func DataAccessForWget(url string, opts ...wget.Option) (DataAccess, error)
- type DataGetter
- type DataReader
- type DataSource
- type DigestSource
- type FileLocation
- type GenericData
- type GenericDataGetter
- type MimeType
- type TempFile
Constants ¶
const ( KIND_BLOB = internal.KIND_BLOB KIND_MEDIATYPE = internal.KIND_MEDIATYPE BLOB_UNKNOWN_SIZE = internal.BLOB_UNKNOWN_SIZE BLOB_UNKNOWN_DIGEST = internal.BLOB_UNKNOWN_DIGEST )
const KIND_DATASOURCE = blobaccess.KIND_DATASOURCE
Variables ¶
This section is empty.
Functions ¶
func BlobReader ¶
func BlobReader(blob DataReader, err ...error) (io.ReadCloser, error)
func Digest ¶
func Digest(access DataAccess) (digest.Digest, error)
func GetData ¶
func GetData(src GenericData) ([]byte, error)
GetData provides data as byte sequence from some generic data sources like byte arrays, strings, DataReader and DataGetters. This means we can pass all BlobAccess or DataAccess objects. If no an unknown data source is passes an ErrInvalid(KIND_DATASOURCE) is returned.
func GetGenericData ¶
func GetGenericData(src GenericData) (interface{}, error)
GetGenericData evaluates some input provided by well-known types or interfaces and provides some data output by mapping the input to either a byte sequence or some specialized object. If the input type is not known an ErrInvalid(KIND_DATASOURCE) // is returned. In extension to GetData, it additionally evaluates the interface GenericDataGetter to map the input to some evaluated object.
Types ¶
type AnnotatedBlobAccess ¶
type AnnotatedBlobAccess[T bpi.DataAccess] interface { Source() T // contains filtered or unexported methods }
AnnotatedBlobAccess provides access to the original underlying data source.
func ForDataAccess ¶
func ForDataAccess[T bpi.DataAccess](digest digest.Digest, size int64, mimeType string, access T) AnnotatedBlobAccess[T]
type BlobAccess ¶
type BlobAccess = internal.BlobAccess
func ForData ¶
func ForData(mime string, data []byte) BlobAccess
ForData wraps data into a BlobAccess, which does not need a close.
func ForDirTree ¶
func ForDirTree(path string, opts ...dirtree.Option) (BlobAccess, error)
func ForFile ¶
func ForFile(mime string, path string, fss ...vfs.FileSystem) BlobAccess
func ForFileWithCloser ¶
func ForFileWithCloser(closer io.Closer, mime string, path string, fss ...vfs.FileSystem) BlobAccess
func ForHelmChart ¶
func ForImageFromDockerDaemon ¶
func ForImageFromDockerDaemon(name string, opts ...dockerdaemon.Option) (BlobAccess, string, error)
func ForMaven ¶
func ForMaven(repo *maven.Repository, groupId, artifactId, version string, opts ...maven.Option) (BlobAccess, error)
func ForMavenCoords ¶
func ForMavenCoords(repo *maven.Repository, coords *maven.Coordinates, opts ...maven.Option) (BlobAccess, error)
func ForMultiImageFromDockerDaemon ¶
func ForMultiImageFromDockerDaemon(opts ...dockermulti.Option) (BlobAccess, error)
func ForOCIArtifact ¶
func ForOCIArtifact(refname string, opts ...ociartifact.Option) (BlobAccess, string, error)
func ForString ¶
func ForString(mime string, data string) BlobAccess
ForString wraps a string into a BlobAccess, which does not need a close.
func ForTemporaryFile ¶
func ForTemporaryFilePath ¶
func ForTemporaryFilePath(mime string, temp string, opts ...file.Option) BlobAccess
func WithCompression ¶
func WithCompression(blob BlobAccess) (BlobAccess, error)
func WithDecompression ¶
func WithDecompression(blob BlobAccess) (BlobAccess, error)
type BlobAccessProvider ¶
type BlobAccessProvider = internal.BlobAccessProvider
func ProviderForBlobAccess ¶
func ProviderForBlobAccess(blob bpi.BlobAccess) BlobAccessProvider
func ProviderForData ¶
func ProviderForData(mime string, data []byte) BlobAccessProvider
func ProviderForDirTree ¶
func ProviderForDirTree(path string, opts ...dirtree.Option) BlobAccessProvider
func ProviderForFile ¶
func ProviderForFile(mime string, path string, fss ...vfs.FileSystem) BlobAccessProvider
func ProviderForHelmChart ¶
func ProviderForHelmChart(path string, opts ...helm.Option) BlobAccessProvider
func ProviderForImageFromDockerDaemon ¶
func ProviderForImageFromDockerDaemon(name string, opts ...dockerdaemon.Option) BlobAccessProvider
func ProviderForMaven ¶
func ProviderForMaven(repo *maven.Repository, groupId, artifactId, version string, opts ...maven.Option) BlobAccessProvider
func ProviderForMultiImageFromDockerDaemon ¶
func ProviderForMultiImageFromDockerDaemon(opts ...dockermulti.Option) BlobAccessProvider
func ProviderForOCIArtifact ¶
func ProviderForOCIArtifact(name string, opts ...ociartifact.Option) BlobAccessProvider
func ProviderForString ¶
func ProviderForString(mime, data string) BlobAccessProvider
func ProviderForWget ¶
func ProviderForWget(url string, opts ...wget.Option) BlobAccessProvider
type DataAccess ¶
type DataAccess = internal.DataAccess
func DataAccessForDirTree ¶
func DataAccessForDirTree(path string, opts ...dirtree.Option) (DataAccess, error)
func DataAccessForFile ¶
func DataAccessForFile(fs vfs.FileSystem, path string) DataAccess
func DataAccessForMaven ¶
func DataAccessForMaven(repo *maven.Repository, groupId, artifactId, version string, opts ...maven.Option) (DataAccess, error)
func DataAccessForReaderFunction ¶
func DataAccessForReaderFunction(reader func() (io.ReadCloser, error), origin string) DataAccess
func DataAccessForWget ¶
func DataAccessForWget(url string, opts ...wget.Option) (DataAccess, error)
type DataGetter ¶
type DataGetter = internal.DataGetter
type DataReader ¶
type DataReader = internal.DataReader
type DataSource ¶
type DataSource = internal.DataSource
func DataAccessForData ¶
func DataAccessForData(data []byte, origin ...string) DataSource
DataAccessForData wraps a bytes slice into a DataAccess.
func DataAccessForString ¶
func DataAccessForString(data string, origin ...string) DataSource
type DigestSource ¶
type DigestSource = internal.DigestSource
type FileLocation ¶
type FileLocation = internal.FileLocation
type GenericData ¶
type GenericData = blobaccess.GenericData
type GenericDataGetter ¶
type GenericDataGetter = blobaccess.GenericDataGetter
type TempFile ¶
TempFile holds a temporary file that should be kept open. Close should never be called directly. It can be passed to another responsibility realm by calling Release For example to be transformed into a TemporaryBlobAccess. Close will close and remove an unreleased file and does nothing if it has been released. If it has been releases the new realm is responsible. to close and remove it.
func NewTempFile ¶
Directories ¶
Path | Synopsis |
---|---|
Package blobaccess provides the basic set of types and supporting functions for using BlobAccess implementations.
|
Package blobaccess provides the basic set of types and supporting functions for using BlobAccess implementations. |