package snapshot

import "github.com/containerd/nydus-snapshotter/snapshot"

Index

Constants

const (
	KataVirtualVolumeDefaultSource = "overlay"
	KataVirtualVolumeDummySource   = "dummy-image-reference"
)
const (
	KataVirtualVolumeOptionName          = "io.katacontainers.volume"
	KataVirtualVolumeDirectBlockType     = "direct_block"
	KataVirtualVolumeImageRawBlockType   = "image_raw_block"
	KataVirtualVolumeLayerRawBlockType   = "layer_raw_block"
	KataVirtualVolumeImageNydusBlockType = "image_nydus_block"
	KataVirtualVolumeLayerNydusBlockType = "layer_nydus_block"
	KataVirtualVolumeImageNydusFsType    = "image_nydus_fs"
	KataVirtualVolumeLayerNydusFsType    = "layer_nydus_fs"
	KataVirtualVolumeImageGuestPullType  = "image_guest_pull"
)

Functions

func EncodeKataVirtualVolumeToBase64

func EncodeKataVirtualVolumeToBase64(volume KataVirtualVolume) (string, error)

func NewSnapshotter

func NewSnapshotter(ctx context.Context, cfg *config.SnapshotterConfig) (snapshots.Snapshotter, error)

Types

type DirectAssignedVolume

type DirectAssignedVolume struct {
	Metadata map[string]string `json:"metadata"`
}

DirectAssignedVolume contains meta information for a directly assigned volume.

func (*DirectAssignedVolume) Validate

func (d *DirectAssignedVolume) Validate() bool

type DmVerityInfo

type DmVerityInfo struct {
	HashType  string `json:"hashtype"`
	Hash      string `json:"hash"`
	BlockNum  uint64 `json:"blocknum"`
	Blocksize uint64 `json:"blocksize"`
	Hashsize  uint64 `json:"hashsize"`
	Offset    uint64 `json:"offset"`
}

DmVerityInfo contains configuration information for DmVerity device.

func ParseDmVerityInfo

func ParseDmVerityInfo(option string) (*DmVerityInfo, error)

func (*DmVerityInfo) Validate

func (d *DmVerityInfo) Validate() error

type ExtraOption

type ExtraOption struct {
	Source      string `json:"source"`
	Config      string `json:"config"`
	Snapshotdir string `json:"snapshotdir"`
	Version     string `json:"fs_version"`
}

type ImagePullVolume

type ImagePullVolume struct {
	Metadata map[string]string `json:"metadata"`
}

ImagePullVolume contains meta information for pulling an image inside the guest.

func (*ImagePullVolume) Validate

func (i *ImagePullVolume) Validate() bool

type KataVirtualVolume

type KataVirtualVolume struct {
	VolumeType   string                `json:"volume_type"`
	Source       string                `json:"source,omitempty"`
	FSType       string                `json:"fs_type,omitempty"`
	Options      []string              `json:"options,omitempty"`
	DirectVolume *DirectAssignedVolume `json:"direct_volume,omitempty"`
	ImagePull    *ImagePullVolume      `json:"image_pull,omitempty"`
	NydusImage   *NydusImageVolume     `json:"nydus_image,omitempty"`
	DmVerity     *DmVerityInfo         `json:"dm_verity,omitempty"`
}

KataVirtualVolume encapsulates information for extra mount options and direct volumes.

func ParseKataVirtualVolume

func ParseKataVirtualVolume(option []byte) (*KataVirtualVolume, error)

func ParseKataVirtualVolumeFromBase64

func ParseKataVirtualVolumeFromBase64(option string) (*KataVirtualVolume, error)

func (*KataVirtualVolume) Validate

func (k *KataVirtualVolume) Validate() bool

type NydusImageVolume

type NydusImageVolume struct {
	Config      string `json:"config"`
	SnapshotDir string `json:"snapshot_dir"`
}

NydusImageVolume contains Nydus image volume information.

func (*NydusImageVolume) Validate

func (n *NydusImageVolume) Validate() bool

Source Files

mount_option.go process.go snapshot.go utils.go

Version
v0.15.2 (latest)
Published
May 26, 2025
Platform
linux/amd64
Imports
38 packages
Last checked
2 weeks ago

Tools for package owners.