Documentation ¶
Index ¶
- Constants
- Variables
- func ConvertQcow2ToRaw(src, dest string) error
- func ConvertQcow2ToRawStream(url *url.URL, dest string) error
- func CopyRegistryImage(url, dest, destFile, accessKey, secKey, certDir string) error
- func CreateBlankImage(dest string, size resource.Quantity) error
- func Validate(image, format string, availableSize int64) 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.0
CopyRegistryImage download image from registry with skopeo
func CreateBlankImage ¶ added in v1.4.0
CreateBlankImage creates empty raw image
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
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
func CopyKnownHdrs ¶
func CopyKnownHdrs() Headers
CopyKnownHdrs performs a simple map copy since := assignment copies the reference to the map, not contents.
type ImgInfo ¶ added in v1.4.0
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, int64) 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.0
SkopeoOperations defines the interface for executing skopeo subprocesses
func NewSkopeoOperations ¶ added in v1.4.0
func NewSkopeoOperations() SkopeoOperations
NewSkopeoOperations returns the default implementation of SkopeoOperations