image

package
v1.24.0 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2020 License: Apache-2.0 Imports: 28 Imported by: 11

Documentation

Index

Constants

View Source
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
)
View Source
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

This section is empty.

Functions

func ConvertToRawStream added in v1.8.0

func ConvertToRawStream(url *url.URL, dest string) error

ConvertToRawStream converts an http accessible image to raw format without locally caching the image

func CopyRegistryImage added in v1.4.0

func CopyRegistryImage(url, destDir, pathPrefix, accessKey, secKey, certDir string, insecureRegistry bool) error

CopyRegistryImage download image from registry with docker image API. It will extract first file under the pathPrefix url: source registry url. destDir: the scratch space destination. pathPrefix: path to extract files from. accessKey: accessKey for the registry described in url. secKey: secretKey for the registry described in url. certDir: directory public CA keys are stored for registry identity verification insecureRegistry: boolean if true will allow insecure registries.

func CopyRegistryImageAll added in v1.22.0

func CopyRegistryImageAll(url, destDir, pathPrefix, accessKey, secKey, certDir string, insecureRegistry bool) error

CopyRegistryImageAll download image from registry with docker image API. It will extract all files under the pathPrefix url: source registry url. destDir: the scratch space destination. pathPrefix: path to extract files from. accessKey: accessKey for the registry described in url. secKey: secretKey for the registry described in url. certDir: directory public CA keys are stored for registry identity verification insecureRegistry: boolean if true will allow insecure registries.

func CreateBlankImage added in v1.4.0

func CreateBlankImage(dest string, size resource.Quantity) error

CreateBlankImage creates empty raw image

func Validate

func Validate(url *url.URL, availableSize int64, filesystemOverhead float64) error

Validate does basic validation of a qemu image

Types

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

func (h Header) Match(b []byte) bool

Match performs a check to see if the provided byte slice matches the bytes in our header data

func (Header) Size

func (h Header) Size(b []byte) (int64, error)

Size uses the Header receiver offset and length fields to extract, from the passed-in file header slice (b), the size of the original file. It is not guaranteed that the header is known to cdi and thus 0 may be returned as the size.

type Headers

type Headers map[string]Header

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 {
	ConvertToRawStream(*url.URL, string) error
	Resize(string, resource.Quantity) error
	Info(url *url.URL) (*ImgInfo, error)
	Validate(*url.URL, int64, float64) error
	CreateBlankImage(string, resource.Quantity) error
}

QEMUOperations defines the interface for executing qemu subprocesses

func NewQEMUOperations

func NewQEMUOperations() QEMUOperations

NewQEMUOperations returns the default implementation of QEMUOperations

Jump to

Keyboard shortcuts

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