Documentation
¶
Index ¶
- Constants
- Variables
- func ConvertQcow2ToRaw(src, dest string) error
- func ConvertQcow2ToRawStream(url *url.URL, dest string) error
- func CopyRegistryImage(url, dest, accessKey, secKey string) error
- func CreateBlankImage(dest string, size resource.Quantity) error
- func ExtractTar(file, dest string) error
- func Validate(image, format string) error
- type Header
- type Headers
- type ImgInfo
- type QEMUOperations
- type SkopeoOperations
Constants ¶
const ( // ExtImg is a constant for the .img extenstion ExtImg = ".img" // ExtIso is a constant for the .iso extenstion ExtIso = ".iso" // ExtGz is a constant for the .gz extenstion ExtGz = ".gz" // ExtQcow2 is a constant for the .qcow2 extenstion ExtQcow2 = ".qcow2" // ExtTar is a constant for the .tar extenstion ExtTar = ".tar" // ExtXz is a constant for the .xz extenstion ExtXz = ".xz" // ExtTarXz is a constant for the .tar.xz extenstion ExtTarXz = ExtTar + ExtXz // ExtTarGz is a constant for the .tar.gz extenstion ExtTarGz = ExtTar + ExtGz )
const MaxExpectedHdrSize = 512
MaxExpectedHdrSize defines the Size of buffer used to read file headers. Note: this is the size of tar's header. If a larger number is used the tar unarchive operation
creates the destination file too large, by the difference between this const and 512.
Variables ¶
var ( // SkopeoInterface the skopeo operations interface SkopeoInterface = NewSkopeoOperations() )
Functions ¶
func ConvertQcow2ToRaw ¶
ConvertQcow2ToRaw is a wrapper for qemu-img convert which takes a qcow2 file (specified by src) and converts it to a raw image (written to the provided dest file)
func ConvertQcow2ToRawStream ¶
ConvertQcow2ToRawStream converts an http accessible qcow2 image to raw format without locally caching the qcow2 image
func CopyRegistryImage ¶ added in v1.4.1
CopyRegistryImage download image from registry with skopeo
func CreateBlankImage ¶ added in v1.4.1
CreateBlankImage creates empty raw image
func ExtractTar ¶ added in v1.4.1
ExtractTar extracts a tar file to a specified destination
Types ¶
type Header ¶
type Header struct {
Format string
SizeOff int // in bytes
SizeLen int // in bytes
// contains filtered or unexported fields
}
Header represents our parameters for a file format header
func (Header) Match ¶
Match performs a check to see if the provided byte slice matches the bytes in our header data
type Headers ¶
Headers provides a map for header info, key is file format, eg. "gz" or "tar", value is metadata describing the layout for this hdr
type ImgInfo ¶ added in v1.4.1
type ImgInfo struct {
// Format contains the format of the image
Format string `json:"format"`
// BackingFile is the file name of the backing file
BackingFile string `json:"backing-filename"`
// VirtualSize is the disk size of the image which will be read by vm
VirtualSize int64 `json:"virtual-size"`
// ActualSize is the size of the qcow2 image
ActualSize int64 `json:"actual-size"`
}
ImgInfo contains the virtual image information.
type QEMUOperations ¶
type QEMUOperations interface {
ConvertQcow2ToRaw(string, string) error
ConvertQcow2ToRawStream(*url.URL, string) error
Resize(string, resource.Quantity) error
Info(string) (*ImgInfo, error)
Validate(string, string) error
CreateBlankImage(dest string, size resource.Quantity) error
}
QEMUOperations defines the interface for executing qemu subprocesses
func NewQEMUOperations ¶
func NewQEMUOperations() QEMUOperations
NewQEMUOperations returns the default implementation of QEMUOperations
type SkopeoOperations ¶ added in v1.4.1
SkopeoOperations defines the interface for executing skopeo subprocesses
func NewSkopeoOperations ¶ added in v1.4.1
func NewSkopeoOperations() SkopeoOperations
NewSkopeoOperations returns the default implementation of SkopeoOperations
Source Files
¶
- filefmt.go
- qemu.go
- skopeo.go
- validate.go