Documentation
¶
Index ¶
- Constants
- func CleanUpAllMounts() (err error)
- func CreateDeltaBlockBackup(backupName string, config *DeltaBackupConfig) (isIncremental bool, err error)
- func CreateSingleFileBackup(volume *Volume, snapshot *Snapshot, filePath, destURL string) (string, error)
- func DecodeBackupURL(backupURL string) (string, string, string, error)
- func DeleteBackupVolume(volumeName string, destURL string) error
- func DeleteDeltaBlockBackup(backupURL string) error
- func DeleteSingleFileBackup(backupURL string) error
- func EncodeBackupURL(backupName, volumeName, destURL string) string
- func GetBackupstoreBase() string
- func GetLog() logrus.FieldLogger
- func List(volumeName, destURL string, volumeOnly bool) (map[string]*VolumeInfo, error)
- func LoadConfigInBackupStore(driver BackupStoreDriver, filePath string, v interface{}) error
- func RegisterDriver(kind string, initFunc InitFunc) error
- func RestoreDeltaBlockBackup(config *DeltaRestoreConfig) error
- func RestoreDeltaBlockBackupIncrementally(config *DeltaRestoreConfig) error
- func RestoreSingleFileBackup(backupURL, path string) (string, error)
- func SaveBackupStoreToLocalFile(driver BackupStoreDriver, backupStoreFileURL, localFilePath string) error
- func SaveConfigInBackupStore(driver BackupStoreDriver, filePath string, v interface{}) error
- func SaveLocalFileToBackupStore(localFilePath, backupStoreFilePath string, driver BackupStoreDriver) error
- func SetBackupstoreBase(base string)
- type Backup
- type BackupFile
- type BackupInfo
- type BackupStoreDriver
- type Block
- type BlockInfo
- type BlockMapping
- type ConfigMetadata
- type DeltaBackupConfig
- type DeltaBlockBackupOperations
- type DeltaRestoreConfig
- type DeltaRestoreOperations
- type FileLock
- type InitFunc
- type JobResult
- type LockType
- type Mapping
- type Mappings
- type MessageType
- type ProcessingBlocks
- type ProgressState
- type Snapshot
- type Volume
- type VolumeInfo
Constants ¶
View Source
const ( VOLUME_SEPARATE_LAYER1 = 2 VOLUME_SEPARATE_LAYER2 = 4 VOLUME_DIRECTORY = "volumes" VOLUME_CONFIG_FILE = "volume.cfg" BACKUP_DIRECTORY = "backups" BACKUP_CONFIG_PREFIX = "backup_" CFG_SUFFIX = ".cfg" )
View Source
const ( DEFAULT_BLOCK_SIZE = 2 * 1024 * 1024 LEGACY_COMPRESSION_METHOD = "gzip" BLOCKS_DIRECTORY = "blocks" BLOCK_SEPARATE_LAYER1 = 2 BLOCK_SEPARATE_LAYER2 = 4 BLK_SUFFIX = ".blk" PROGRESS_PERCENTAGE_BACKUP_SNAPSHOT = 95 PROGRESS_PERCENTAGE_BACKUP_TOTAL = 100 )
View Source
const ( LOCKS_DIRECTORY = "locks" LOCK_PREFIX = "lock" LOCK_SUFFIX = ".lck" LOCK_DURATION = time.Second * 150 LOCK_REFRESH_INTERVAL = time.Second * 60 LOCK_CHECK_WAIT_TIME = time.Second * 2 )
View Source
const ( ProgressStateInProgress = ProgressState("in_progress") ProgressStateComplete = ProgressState("complete") ProgressStateError = ProgressState("error") )
View Source
const (
BACKUP_FILES_DIRECTORY = "BackupFiles"
)
View Source
const (
MessageTypeError = MessageType("error")
)
Variables ¶
This section is empty.
Functions ¶
func CleanUpAllMounts ¶
func CleanUpAllMounts() (err error)
func CreateDeltaBlockBackup ¶
func CreateDeltaBlockBackup(backupName string, config *DeltaBackupConfig) (isIncremental bool, err error)
func CreateSingleFileBackup ¶
func DeleteBackupVolume ¶
func DeleteDeltaBlockBackup ¶
func DeleteSingleFileBackup ¶
func EncodeBackupURL ¶
func GetBackupstoreBase ¶
func GetBackupstoreBase() string
func GetLog ¶
func GetLog() logrus.FieldLogger
func LoadConfigInBackupStore ¶
func LoadConfigInBackupStore(driver BackupStoreDriver, filePath string, v interface{}) error
func RegisterDriver ¶
func RestoreDeltaBlockBackup ¶
func RestoreDeltaBlockBackup(config *DeltaRestoreConfig) error
func RestoreDeltaBlockBackupIncrementally ¶
func RestoreDeltaBlockBackupIncrementally(config *DeltaRestoreConfig) error
func RestoreSingleFileBackup ¶
func SaveBackupStoreToLocalFile ¶
func SaveBackupStoreToLocalFile(driver BackupStoreDriver, backupStoreFileURL, localFilePath string) error
func SaveConfigInBackupStore ¶
func SaveConfigInBackupStore(driver BackupStoreDriver, filePath string, v interface{}) error
func SaveLocalFileToBackupStore ¶
func SaveLocalFileToBackupStore(localFilePath, backupStoreFilePath string, driver BackupStoreDriver) error
func SetBackupstoreBase ¶
func SetBackupstoreBase(base string)
Types ¶
type Backup ¶
type Backup struct {
sync.Mutex
Name string
VolumeName string
SnapshotName string
SnapshotCreatedAt string
CreatedTime string
Size int64 `json:",string"`
Labels map[string]string
IsIncremental bool
CompressionMethod string
ProcessingBlocks *ProcessingBlocks
Blocks []BlockMapping `json:",omitempty"`
SingleFile BackupFile `json:",omitempty"`
}
type BackupFile ¶
type BackupFile struct {
FilePath string
}
type BackupInfo ¶
type BackupInfo struct {
Name string
URL string
SnapshotName string
SnapshotCreated string
Created string
Size int64 `json:",string"`
Labels map[string]string
IsIncremental bool
CompressionMethod string `json:",omitempty"`
VolumeName string `json:",omitempty"`
VolumeSize int64 `json:",string,omitempty"`
VolumeCreated string `json:",omitempty"`
VolumeBackingImageName string `json:",omitempty"`
Messages map[MessageType]string
}
func InspectBackup ¶
func InspectBackup(backupURL string) (*BackupInfo, error)
type BackupStoreDriver ¶
type BackupStoreDriver interface {
Kind() string
GetURL() string
FileExists(filePath string) bool
FileSize(filePath string) int64
FileTime(filePath string) time.Time // Needs to be returned in UTC
Remove(path string) error // Behavior like "rm -rf"
Read(src string) (io.ReadCloser, error) // Caller needs to close
Write(dst string, rs io.ReadSeeker) error
List(path string) ([]string, error) // Behavior like "ls", not like "find"
Upload(src, dst string) error
Download(src, dst string) error
}
func GetBackupStoreDriver ¶
func GetBackupStoreDriver(destURL string) (BackupStoreDriver, error)
type BlockMapping ¶
type ConfigMetadata ¶
func GetConfigMetadata ¶
func GetConfigMetadata(url string) (*ConfigMetadata, error)
type DeltaBackupConfig ¶
type DeltaBlockBackupOperations ¶
type DeltaBlockBackupOperations interface {
HasSnapshot(id, volumeID string) bool
CompareSnapshot(id, compareID, volumeID string) (*Mappings, error)
OpenSnapshot(id, volumeID string) error
ReadSnapshot(id, volumeID string, start int64, data []byte) error
CloseSnapshot(id, volumeID string) error
UpdateBackupStatus(id, volumeID string, backupState string, backupProgress int, backupURL string, err string) error
}
type DeltaRestoreConfig ¶
type DeltaRestoreConfig struct {
BackupURL string
DeltaOps DeltaRestoreOperations
LastBackupName string
Filename string
ConcurrentLimit int32
}
type DeltaRestoreOperations ¶
type FileLock ¶
type FileLock struct {
Name string
Type LockType
Acquired bool
// contains filtered or unexported fields
}
type InitFunc ¶
type InitFunc func(destURL string) (BackupStoreDriver, error)
type LockType ¶
type LockType int
const BACKUP_LOCK LockType = 1
const DELETION_LOCK LockType = 2
const RESTORE_LOCK LockType = 1
const UNTYPED_LOCK LockType = 0
type MessageType ¶
type MessageType string
type ProcessingBlocks ¶
type ProgressState ¶
type ProgressState string
type Volume ¶
type Volume struct {
Name string
Size int64 `json:",string"`
Labels map[string]string
CreatedTime string
LastBackupName string
LastBackupAt string
BlockCount int64 `json:",string"`
BackingImageName string `json:",string"`
BackingImageChecksum string `json:",string"`
CompressionMethod string `json:",string"`
StorageClassName string `json:",string"`
}
func LoadVolume ¶
type VolumeInfo ¶
type VolumeInfo struct {
Name string
Size int64 `json:",string"`
Labels map[string]string
Created string
LastBackupName string
LastBackupAt string
DataStored int64 `json:",string"`
Messages map[MessageType]string
Backups map[string]*BackupInfo `json:",omitempty"`
BackingImageName string
BackingImageChecksum string
StorageClassname string
}
func InspectVolume ¶
func InspectVolume(volumeURL string) (*VolumeInfo, error)
Source Files
¶
Click to show internal directories.
Click to hide internal directories.