Documentation
¶
Index ¶
- Constants
- func VeleroFSBackupFlags(veleroVersion string) []string
- func VeleroSupportsLVP(veleroVersion string) bool
- type App
- type Backup
- type BackupDetail
- type FileSystemConfig
- type NFSConfig
- type ParsedTTL
- type RestoreDetail
- type RestoreVolume
- type ScheduledInstanceSnapshot
- type ScheduledSnapshot
- type SnapshotError
- type SnapshotHook
- type SnapshotSchedule
- type SnapshotTTL
- type SnapshotVolume
- type Store
- type StoreAWS
- type StoreAzure
- type StoreFileSystem
- type StoreGoogle
- type StoreInternal
- type StoreOther
- type VeleroPlugin
- type VolumeSummary
Constants ¶
const ErrLVPUnsupportedOnVelero117 = "" /* 163-byte string literal not displayed */
ErrLVPUnsupportedOnVelero117 is the canonical message returned when a filesystem (NFS / Host Path / internal-store-without-minio) snapshot store is being configured against a Velero version that no longer supports the local-volume-provider plugin.
Variables ¶
This section is empty.
Functions ¶
func VeleroFSBackupFlags ¶ added in v1.130.7
VeleroFSBackupFlags returns the file-system-backup install flags for the given Velero version:
< 1.10 -> --use-restic (no node-agent/uploader-type) >= 1.10, < 1.17 -> --use-node-agent --uploader-type=restic >= 1.17 -> --use-node-agent (kopia is the implicit default uploader)
An empty or unparseable version is treated as a current (>= 1.17) release, since install instructions are shown before Velero exists in the cluster and users are told to install the latest Velero.
func VeleroSupportsLVP ¶ added in v1.130.7
VeleroSupportsLVP reports whether the local-volume-provider plugin is supported for the given Velero version. LVP is unsupported on Velero >= 1.17. An empty or unparseable version is treated as supported (unknown): the version is unknown until Velero is installed, and the configure path re-checks once it is detected.
Types ¶
type Backup ¶
type Backup struct {
Name string `json:"name"`
Status string `json:"status"`
Trigger string `json:"trigger"`
AppID string `json:"appID"` // TODO: remove with app backups
Sequence int64 `json:"sequence"` // TODO: remove with app backups
StartedAt *time.Time `json:"startedAt,omitempty"`
FinishedAt *time.Time `json:"finishedAt,omitempty"`
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
VolumeCount int `json:"volumeCount"`
VolumeSuccessCount int `json:"volumeSuccessCount"`
VolumeBytes int64 `json:"volumeBytes"`
VolumeSizeHuman string `json:"volumeSizeHuman"`
SupportBundleID string `json:"supportBundleId,omitempty"`
IncludedApps []App `json:"includedApps,omitempty"`
}
type BackupDetail ¶
type BackupDetail struct {
Name string `json:"name"`
Status string `json:"status"`
VolumeSizeHuman string `json:"volumeSizeHuman"`
Namespaces []string `json:"namespaces"`
Hooks []*SnapshotHook `json:"hooks"`
Volumes []SnapshotVolume `json:"volumes"`
Errors []SnapshotError `json:"errors"`
Warnings []SnapshotError `json:"warnings"`
}
type FileSystemConfig ¶
type RestoreDetail ¶
type RestoreDetail struct {
Name string `json:"name"`
Phase velerov1.RestorePhase `json:"phase"`
Volumes []RestoreVolume `json:"volumes"`
Errors []SnapshotError `json:"errors"`
Warnings []SnapshotError `json:"warnings"`
}
type RestoreVolume ¶
type RestoreVolume struct {
Name string `json:"name"`
PodName string `json:"podName"`
PodNamespace string `json:"podNamespace"`
PodVolumeName string `json:"podVolumeName"`
SizeBytesHuman string `json:"sizeBytesHuman"`
DoneBytesHuman string `json:"doneBytesHuman"`
CompletionPercent int `json:"completionPercent"`
RemainingSecondsExist bool `json:"remainingSecondsExist"`
TimeRemainingSeconds int `json:"timeRemainingSeconds"`
StartedAt *time.Time `json:"startedAt,omitempty"`
FinishedAt *time.Time `json:"finishedAt,omitempty"`
Phase string `json:"phase"`
}
type ScheduledSnapshot ¶
type SnapshotError ¶
type SnapshotHook ¶
type SnapshotHook struct {
Name string `json:"name"`
Namespace string `json:"namespace"`
Phase string `json:"phase"`
PodName string `json:"podName"`
ContainerName string `json:"containerName"`
Command string `json:"command"`
Stdout string `json:"stdout"`
Stderr string `json:"stderr"`
StartedAt *time.Time `json:"startedAt,omitempty"`
FinishedAt *time.Time `json:"finishedAt,omitempty"`
Errors []SnapshotError `json:"errors"`
Warnings []SnapshotError `json:"warnings"`
}
type SnapshotSchedule ¶
type SnapshotSchedule struct {
Schedule string `json:"schedule"`
}
type SnapshotTTL ¶
type SnapshotVolume ¶
type SnapshotVolume struct {
Name string `json:"name"`
SizeBytesHuman string `json:"sizeBytesHuman"`
DoneBytesHuman string `json:"doneBytesHuman"`
CompletionPercent int `json:"completionPercent"`
TimeRemainingSeconds int `json:"timeRemainingSeconds"`
StartedAt *time.Time `json:"startedAt,omitempty"`
FinishedAt *time.Time `json:"finishedAt,omitempty"`
Phase string `json:"phase"`
}
type Store ¶
type Store struct {
Provider string `json:"provider"`
Bucket string `json:"bucket"`
Path string `json:"path"`
CACertData []byte `json:"caCert,omitempty"`
AWS *StoreAWS `json:"aws,omitempty"`
Azure *StoreAzure `json:"azure,omitempty"`
Google *StoreGoogle `json:"gcp,omitempty"`
Other *StoreOther `json:"other,omitempty"`
Internal *StoreInternal `json:"internal,omitempty"`
FileSystem *StoreFileSystem `json:"fileSystem,omitempty"`
HasResticRepoPrefix bool `json:"hasResticRepoPrefix,omitempty"`
}
type StoreAzure ¶
type StoreAzure struct {
ResourceGroup string `json:"resourceGroup"`
StorageAccount string `json:"storageAccount"`
SubscriptionID string `json:"subscriptionId"`
TenantID string `json:"tenantId"`
ClientID string `json:"clientId"`
ClientSecret string `json:"clientSecret"`
CloudName string `json:"cloudName"`
}
type StoreFileSystem ¶
type StoreFileSystem struct {
Region string `json:"region"` // Legacy field for minio backwards compatibility
AccessKeyID string `json:"accessKeyID"` // Legacy field for minio backwards compatibility
SecretAccessKey string `json:"secretAccessKey"` // Legacy field for minio backwards compatibility; added for unmarshaling, redacted on marshaling
Endpoint string `json:"endpoint"` // Legacy field for minio backwards compatibility
ObjectStoreClusterIP string `json:"objectStoreClusterIP"` // Legacy field for minio backwards compatibility
Config *FileSystemConfig `json:"config,omitempty"`
}
type StoreGoogle ¶
type StoreInternal ¶
type StoreOther ¶
type VeleroPlugin ¶ added in v1.94.0
type VeleroPlugin string
const ( VeleroAWSPlugin VeleroPlugin = "velero/velero-plugin-for-aws:v1.6.1" VeleroGCPPlugin VeleroPlugin = "velero/velero-plugin-for-gcp:v1.6.1" VeleroAzurePlugin VeleroPlugin = "velero/velero-plugin-for-microsoft-azure:v1.6.1" VeleroLVPPlugin VeleroPlugin = image.Lvp )