Documentation ¶
Overview ¶
Package aci contains various functions for working with App Container Images.
Index ¶
- Constants
- Variables
- func BuildWalker(root string, aw ArchiveWriter, cb TarHeaderWalkFunc) filepath.WalkFunc
- func ManifestFromImage(rs io.ReadSeeker) (*schema.ImageManifest, error)
- func NewCompressedReader(rs io.ReadSeeker) (io.ReadCloser, error)
- func ValidateArchive(tr *tar.Reader) error
- func ValidateLayout(dir string) error
- type ArchiveWriter
- type ErrOldVersion
- type FileType
- type TarHeaderWalkFunc
- type TarReadCloser
- type XzReader
Constants ¶
const ( TypeGzip = FileType("gz") TypeBzip2 = FileType("bz2") TypeXz = FileType("xz") TypeTar = FileType("tar") TypeText = FileType("text") TypeUnknown = FileType("unknown") )
const ( // Path to manifest file inside the layout ManifestFile = "manifest" // Path to rootfs directory inside the layout RootfsDir = "rootfs" )
Variables ¶
var ( ErrNoRootFS = errors.New("no rootfs found in layout") ErrNoManifest = errors.New("no image manifest found in layout") )
Functions ¶
func BuildWalker ¶
func BuildWalker(root string, aw ArchiveWriter, cb TarHeaderWalkFunc) filepath.WalkFunc
BuildWalker creates a filepath.WalkFunc that walks over the given root (which should represent an ACI layout on disk) and adds the files in the rootfs/ subdirectory to the given ArchiveWriter
func ManifestFromImage ¶
func ManifestFromImage(rs io.ReadSeeker) (*schema.ImageManifest, error)
ManifestFromImage extracts a new schema.ImageManifest from the given ACI image.
func NewCompressedReader ¶
func NewCompressedReader(rs io.ReadSeeker) (io.ReadCloser, error)
NewCompressedReader creates a new io.ReaderCloser from the given ACI image. It is the caller's responsibility to call Close on the Reader when done.
func ValidateArchive ¶
ValidateArchive takes a *tar.Reader and validates that the layout of the filesystem the reader encapsulates matches that expected by the Application Container Image format. If any errors are encountered during the validation, it will abort and return the first one.
func ValidateLayout ¶
ValidateLayout takes a directory and validates that the layout of the directory matches that expected by the Application Container Image format. If any errors are encountered during the validation, it will abort and return the first one.
Types ¶
type ArchiveWriter ¶
ArchiveWriter writes App Container Images. Users wanting to create an ACI or should create an ArchiveWriter and add files to it; the ACI will be written to the underlying tar.Writer
func NewImageWriter ¶
func NewImageWriter(am schema.ImageManifest, w *tar.Writer) ArchiveWriter
NewImageWriter creates a new ArchiveWriter which will generate an App Container Image based on the given manifest and write it to the given tar.Writer
type ErrOldVersion ¶
type ErrOldVersion struct {
// contains filtered or unexported fields
}
func (ErrOldVersion) Error ¶
func (e ErrOldVersion) Error() string
type TarHeaderWalkFunc ¶
TarHeaderWalkFunc is the type of the function which allows setting tar headers or filtering out tar entries when building an ACI. It will be applied to every entry in the tar file.
If true is returned, the entry will be included in the final ACI; if false, the entry will not be included.
type TarReadCloser ¶
TarReadCloser embeds a *tar.Reader and the related io.Closer It is the caller's responsibility to call Close on TarReadCloser when done.
func NewCompressedTarReader ¶
func NewCompressedTarReader(rs io.ReadSeeker) (*TarReadCloser, error)
NewCompressedTarReader creates a new TarReadCloser reading from the given ACI image. It is the caller's responsibility to call Close on the TarReadCloser when done.
func (*TarReadCloser) Close ¶
func (r *TarReadCloser) Close() error
type XzReader ¶
type XzReader struct { io.ReadCloser // contains filtered or unexported fields }
XzReader is an io.ReadCloser which decompresses xz compressed data.
func NewXzReader ¶
NewXzReader shells out to a command line xz executable (if available) to decompress the given io.Reader using the xz compression format and returns an *XzReader. It is the caller's responsibility to call Close on the XzReader when done.