v1alpha1

package
v0.0.0-...-541df5b Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the oadp v1alpha1 API group +kubebuilder:object:generate=true +groupName=oadp.openshift.io

Index

Constants

View Source
const ConditionReconciled = "Reconciled"

Conditions

View Source
const OadpOperatorLabel = "openshift.io/oadp"
View Source
const OperatorTypeMTC = "mtc"
View Source
const ReconcileCompleteMessage = "Reconcile complete"
View Source
const ReconciledReasonComplete = "Complete"
View Source
const ReconciledReasonError = "Error"
View Source
const RegistryDeploymentLabel = "openshift.io/oadp-registry"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "oadp.openshift.io", Version: "v1alpha1"}

	Kind = "DataProtectionApplication"

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type ApplicationConfig

type ApplicationConfig struct {
	Velero *VeleroConfig `json:"velero,omitempty"`
	// (deprecation warning) ResticConfig is the configuration for restic DaemonSet.
	// restic is for backwards compatibility and is replaced by the nodeAgent
	// restic will be removed in the future
	// +kubebuilder:deprecatedversion:warning=1.3
	// +optional
	Restic *ResticConfig `json:"restic,omitempty"`

	// NodeAgent is needed to allow selection between kopia or restic
	// +optional
	NodeAgent *NodeAgentConfig `json:"nodeAgent,omitempty"`
}

ApplicationConfig defines the configuration for the Data Protection Application

func (*ApplicationConfig) DeepCopy

func (in *ApplicationConfig) DeepCopy() *ApplicationConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationConfig.

func (*ApplicationConfig) DeepCopyInto

func (in *ApplicationConfig) DeepCopyInto(out *ApplicationConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackupLocation

type BackupLocation struct {

	// +optional
	Name string `json:"name,omitempty"`
	// +optional
	Velero *velero.BackupStorageLocationSpec `json:"velero,omitempty"`
	// +optional
	CloudStorage *CloudStorageLocation `json:"bucket,omitempty"`
}

BackupLocation defines the configuration for the DPA backup storage

func (*BackupLocation) DeepCopy

func (in *BackupLocation) DeepCopy() *BackupLocation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupLocation.

func (*BackupLocation) DeepCopyInto

func (in *BackupLocation) DeepCopyInto(out *BackupLocation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudStorage

type CloudStorage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CloudStorageSpec   `json:"spec,omitempty"`
	Status CloudStorageStatus `json:"status,omitempty"`
}

func (*CloudStorage) DeepCopy

func (in *CloudStorage) DeepCopy() *CloudStorage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorage.

func (*CloudStorage) DeepCopyInto

func (in *CloudStorage) DeepCopyInto(out *CloudStorage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CloudStorage) DeepCopyObject

func (in *CloudStorage) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CloudStorageList

type CloudStorageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CloudStorage `json:"items"`
}

func (*CloudStorageList) DeepCopy

func (in *CloudStorageList) DeepCopy() *CloudStorageList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorageList.

func (*CloudStorageList) DeepCopyInto

func (in *CloudStorageList) DeepCopyInto(out *CloudStorageList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CloudStorageList) DeepCopyObject

func (in *CloudStorageList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CloudStorageLocation

type CloudStorageLocation struct {
	CloudStorageRef corev1.LocalObjectReference `json:"cloudStorageRef"`

	// config is for provider-specific configuration fields.
	// +optional
	Config map[string]string `json:"config,omitempty"`

	// credential contains the credential information intended to be used with this location
	// +optional
	Credential *corev1.SecretKeySelector `json:"credential,omitempty"`

	// default indicates this location is the default backup storage location.
	// +optional
	Default bool `json:"default,omitempty"`

	// backupSyncPeriod defines how frequently to sync backup API objects from object storage. A value of 0 disables sync.
	// +optional
	// +nullable
	BackupSyncPeriod *metav1.Duration `json:"backupSyncPeriod,omitempty"`

	// Prefix is the path inside a bucket to use for Velero storage. Optional.
	// +optional
	Prefix string `json:"prefix,omitempty"`

	// CACert defines a CA bundle to use when verifying TLS connections to the provider.
	// +optional
	CACert []byte `json:"caCert,omitempty"`
}

CloudStorageLocation defines BackupStorageLocation using bucket referenced by CloudStorage CR.

func (*CloudStorageLocation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorageLocation.

func (*CloudStorageLocation) DeepCopyInto

func (in *CloudStorageLocation) DeepCopyInto(out *CloudStorageLocation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudStorageSpec

type CloudStorageSpec struct {
	// name is the name requested for the bucket (aws, gcp) or container (azure)
	Name string `json:"name"`
	// creationSecret is the secret that is needed to be used while creating the bucket.
	CreationSecret corev1.SecretKeySelector `json:"creationSecret"`
	// enableSharedConfig enable the use of shared config loading for AWS Buckets
	EnableSharedConfig *bool `json:"enableSharedConfig,omitempty"`
	// tags for the bucket
	// +kubebuilder:validation:Optional
	Tags map[string]string `json:"tags,omitempty"`
	// region for the bucket to be in, will be us-east-1 if not set.
	Region string `json:"region,omitempty"`
	// provider is the provider of the cloud storage
	// +kubebuilder:validation:Enum=aws
	Provider CloudStorageProvider `json:"provider"`
}

func (*CloudStorageSpec) DeepCopy

func (in *CloudStorageSpec) DeepCopy() *CloudStorageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorageSpec.

func (*CloudStorageSpec) DeepCopyInto

func (in *CloudStorageSpec) DeepCopyInto(out *CloudStorageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudStorageStatus

type CloudStorageStatus struct {
	Name       string       `json:"name"`
	LastSynced *metav1.Time `json:"lastSyncTimestamp,omitempty"`
}

func (*CloudStorageStatus) DeepCopy

func (in *CloudStorageStatus) DeepCopy() *CloudStorageStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorageStatus.

func (*CloudStorageStatus) DeepCopyInto

func (in *CloudStorageStatus) DeepCopyInto(out *CloudStorageStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomPlugin

type CustomPlugin struct {
	Name  string `json:"name"`
	Image string `json:"image"`
}

func (*CustomPlugin) DeepCopy

func (in *CustomPlugin) DeepCopy() *CustomPlugin

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomPlugin.

func (*CustomPlugin) DeepCopyInto

func (in *CustomPlugin) DeepCopyInto(out *CustomPlugin)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataMover

type DataMover struct {
	// enable flag is used to specify whether you want to deploy the volume snapshot mover controller
	// +optional
	Enable bool `json:"enable,omitempty"`
	// User supplied Restic Secret name
	// +optional
	CredentialName string `json:"credentialName,omitempty"`
	// User supplied timeout to be used for VolumeSnapshotBackup and VolumeSnapshotRestore to complete, default value is 10m
	// +optional
	Timeout string `json:"timeout,omitempty"`
	// the number of batched volumeSnapshotBackups that can be inProgress at once, default value is 10
	// +optional
	MaxConcurrentBackupVolumes string `json:"maxConcurrentBackupVolumes,omitempty"`
	// the number of batched volumeSnapshotRestores that can be inProgress at once, default value is 10
	// +optional
	MaxConcurrentRestoreVolumes string `json:"maxConcurrentRestoreVolumes,omitempty"`
	// defines how often (in days) to prune the datamover snapshots from the repository
	// +optional
	PruneInterval string `json:"pruneInterval,omitempty"`
	// defines configurations for data mover volume options for a storageClass
	// +optional
	VolumeOptionsForStorageClasses map[string]DataMoverVolumeOptions `json:"volumeOptionsForStorageClasses,omitempty"`
	// defines the parameters that can be specified for retention of datamover snapshots
	// +optional
	SnapshotRetainPolicy *RetainPolicy `json:"snapshotRetainPolicy,omitempty"`
	// schedule is a cronspec (https://en.wikipedia.org/wiki/Cron#Overview) that
	// can be used to schedule datamover(volsync) synchronization to occur at regular, time-based
	// intervals. For example, in order to enforce datamover SnapshotRetainPolicy at a regular interval you need to
	// specify this Schedule trigger as a cron expression, by default the trigger is a manual trigger. For more details
	// on Volsync triggers, refer: https://volsync.readthedocs.io/en/stable/usage/triggers.html
	//+kubebuilder:validation:Pattern=`^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$`
	//+optional
	Schedule string `json:"schedule,omitempty"`
}

DataMover defines the various config for DPA data mover

func (*DataMover) DeepCopy

func (in *DataMover) DeepCopy() *DataMover

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataMover.

func (*DataMover) DeepCopyInto

func (in *DataMover) DeepCopyInto(out *DataMover)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataMoverVolumeOptions

type DataMoverVolumeOptions struct {
	SourceVolumeOptions      *VolumeOptions `json:"sourceVolumeOptions,omitempty"`
	DestinationVolumeOptions *VolumeOptions `json:"destinationVolumeOptions,omitempty"`
}

func (*DataMoverVolumeOptions) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataMoverVolumeOptions.

func (*DataMoverVolumeOptions) DeepCopyInto

func (in *DataMoverVolumeOptions) DeepCopyInto(out *DataMoverVolumeOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataProtectionApplication

type DataProtectionApplication struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DataProtectionApplicationSpec   `json:"spec,omitempty"`
	Status DataProtectionApplicationStatus `json:"status,omitempty"`
}

DataProtectionApplication is the Schema for the dpa API

func (*DataProtectionApplication) AutoCorrect

func (dpa *DataProtectionApplication) AutoCorrect()

AutoCorrect is a collection of auto-correction functions for the DPA CR These auto corrects are in-memory only and do not persist to the CR There should not be another place where these auto-corrects are done

func (*DataProtectionApplication) BackupImages

func (dpa *DataProtectionApplication) BackupImages() bool

Default BackupImages behavior when nil to true

func (*DataProtectionApplication) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataProtectionApplication.

func (*DataProtectionApplication) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DataProtectionApplication) DeepCopyObject

func (in *DataProtectionApplication) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DataProtectionApplication) GetDisableInformerCache

func (dpa *DataProtectionApplication) GetDisableInformerCache() bool

Default DisableInformerCache behavior when nil to false

type DataProtectionApplicationList

type DataProtectionApplicationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DataProtectionApplication `json:"items"`
}

DataProtectionApplicationList contains a list of Velero

func (*DataProtectionApplicationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataProtectionApplicationList.

func (*DataProtectionApplicationList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DataProtectionApplicationList) DeepCopyObject

func (in *DataProtectionApplicationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DataProtectionApplicationSpec

type DataProtectionApplicationSpec struct {
	// backupLocations defines the list of desired configuration to use for BackupStorageLocations
	// +optional
	BackupLocations []BackupLocation `json:"backupLocations"`
	// snapshotLocations defines the list of desired configuration to use for VolumeSnapshotLocations
	// +optional
	SnapshotLocations []SnapshotLocation `json:"snapshotLocations"`
	// unsupportedOverrides can be used to override images used in deployments.
	// Available keys are:
	//   - veleroImageFqin
	//   - awsPluginImageFqin
	//   - openshiftPluginImageFqin
	//   - azurePluginImageFqin
	//   - gcpPluginImageFqin
	//   - resticRestoreImageFqin
	//   - kubevirtPluginImageFqin
	//   - operator-type
	// +optional
	UnsupportedOverrides map[UnsupportedImageKey]string `json:"unsupportedOverrides,omitempty"`
	// add annotations to pods deployed by operator
	// +optional
	PodAnnotations map[string]string `json:"podAnnotations,omitempty"`
	// podDnsPolicy defines how a pod's DNS will be configured.
	// https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy
	// +optional
	PodDnsPolicy corev1.DNSPolicy `json:"podDnsPolicy,omitempty"`
	// podDnsConfig defines the DNS parameters of a pod in addition to
	// those generated from DNSPolicy.
	// https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config
	// +optional
	PodDnsConfig corev1.PodDNSConfig `json:"podDnsConfig,omitempty"`
	// backupImages is used to specify whether you want to deploy a registry for enabling backup and restore of images
	// +optional
	BackupImages *bool `json:"backupImages,omitempty"`
	// configuration is used to configure the data protection application's server config
	Configuration *ApplicationConfig `json:"configuration"`
	// features defines the configuration for the DPA to enable the OADP tech preview features
	// +optional
	Features *Features `json:"features"`
}

DataProtectionApplicationSpec defines the desired state of Velero

func (*DataProtectionApplicationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataProtectionApplicationSpec.

func (*DataProtectionApplicationSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataProtectionApplicationStatus

type DataProtectionApplicationStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

DataProtectionApplicationStatus defines the observed state of DataProtectionApplication

func (*DataProtectionApplicationStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataProtectionApplicationStatus.

func (*DataProtectionApplicationStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultPlugin

type DefaultPlugin string

+kubebuilder:validation:Enum=aws;gcp;azure;csi;vsm;openshift;kubevirt

const DefaultPluginAWS DefaultPlugin = "aws"
const DefaultPluginCSI DefaultPlugin = "csi"
const DefaultPluginGCP DefaultPlugin = "gcp"
const DefaultPluginKubeVirt DefaultPlugin = "kubevirt"
const DefaultPluginMicrosoftAzure DefaultPlugin = "azure"
const DefaultPluginOpenShift DefaultPlugin = "openshift"
const DefaultPluginVSM DefaultPlugin = "vsm"

type Features

type Features struct {
	// (do not use warning) Contains data mover specific configurations
	// dataMover is for backwards compatibility and is not necessary in OADP 1.3
	// dataMover will be removed with the OADP 1.4
	// +optional
	DataMover *DataMover `json:"dataMover,omitempty"`
}

Features defines the configuration for the DPA to enable the tech preview features

func (*Features) DeepCopy

func (in *Features) DeepCopy() *Features

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Features.

func (*Features) DeepCopyInto

func (in *Features) DeepCopyInto(out *Features)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeAgentCommonFields

type NodeAgentCommonFields struct {
	// enable defines a boolean pointer whether we want the daemonset to
	// exist or not
	// +optional
	Enable *bool `json:"enable,omitempty"`
	// supplementalGroups defines the linux groups to be applied to the NodeAgent Pod
	// +optional
	SupplementalGroups []int64 `json:"supplementalGroups,omitempty"`
	// timeout defines the NodeAgent timeout, default value is 1h
	// +optional
	Timeout string `json:"timeout,omitempty"`
	// Pod specific configuration
	PodConfig *PodConfig `json:"podConfig,omitempty"`
}

func (*NodeAgentCommonFields) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAgentCommonFields.

func (*NodeAgentCommonFields) DeepCopyInto

func (in *NodeAgentCommonFields) DeepCopyInto(out *NodeAgentCommonFields)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeAgentConfig

type NodeAgentConfig struct {
	// Embedding NodeAgentCommonFields
	// +optional
	NodeAgentCommonFields `json:",inline"`

	// The type of uploader to transfer the data of pod volumes, the supported values are 'restic' or 'kopia'
	// +kubebuilder:validation:Enum=restic;kopia
	// +kubebuilder:validation:Required
	UploaderType string `json:"uploaderType"`
}

NodeAgentConfig is the configuration for node server

func (*NodeAgentConfig) DeepCopy

func (in *NodeAgentConfig) DeepCopy() *NodeAgentConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAgentConfig.

func (*NodeAgentConfig) DeepCopyInto

func (in *NodeAgentConfig) DeepCopyInto(out *NodeAgentConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodConfig

type PodConfig struct {
	// labels to add to pods
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
	// nodeSelector defines the nodeSelector to be supplied to podSpec
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// tolerations defines the list of tolerations to be applied to daemonset
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// resourceAllocations defines the CPU and Memory resource allocations for the Pod
	// +optional
	// +nullable
	ResourceAllocations corev1.ResourceRequirements `json:"resourceAllocations,omitempty"`
	// env defines the list of environment variables to be supplied to podSpec
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`
}

PodConfig defines the pod configuration options

func (*PodConfig) DeepCopy

func (in *PodConfig) DeepCopy() *PodConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodConfig.

func (*PodConfig) DeepCopyInto

func (in *PodConfig) DeepCopyInto(out *PodConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResticConfig

type ResticConfig struct {
	// Embedding NodeAgentCommonFields
	// +optional
	NodeAgentCommonFields `json:",inline"`
}

ResticConfig is the configuration for restic server

func (*ResticConfig) DeepCopy

func (in *ResticConfig) DeepCopy() *ResticConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResticConfig.

func (*ResticConfig) DeepCopyInto

func (in *ResticConfig) DeepCopyInto(out *ResticConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetainPolicy

type RetainPolicy struct {
	// Hourly defines the number of snapshots to be kept hourly
	//+optional
	Hourly string `json:"hourly,omitempty"`
	// Daily defines the number of snapshots to be kept daily
	//+optional
	Daily string `json:"daily,omitempty"`
	// Weekly defines the number of snapshots to be kept weekly
	//+optional
	Weekly string `json:"weekly,omitempty"`
	// Monthly defines the number of snapshots to be kept monthly
	//+optional
	Monthly string `json:"monthly,omitempty"`
	// Yearly defines the number of snapshots to be kept yearly
	//+optional
	Yearly string `json:"yearly,omitempty"`
	// Within defines the number of snapshots to be kept Within the given time period
	//+optional
	Within string `json:"within,omitempty"`
}

RetainPolicy defines the fields for retention of datamover snapshots

func (*RetainPolicy) DeepCopy

func (in *RetainPolicy) DeepCopy() *RetainPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetainPolicy.

func (*RetainPolicy) DeepCopyInto

func (in *RetainPolicy) DeepCopyInto(out *RetainPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotLocation

type SnapshotLocation struct {
	Velero *velero.VolumeSnapshotLocationSpec `json:"velero"`
}

SnapshotLocation defines the configuration for the DPA snapshot store

func (*SnapshotLocation) DeepCopy

func (in *SnapshotLocation) DeepCopy() *SnapshotLocation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotLocation.

func (*SnapshotLocation) DeepCopyInto

func (in *SnapshotLocation) DeepCopyInto(out *SnapshotLocation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UnsupportedImageKey

type UnsupportedImageKey string

Field does not have enum validation for development flexibility

const AWSPluginImageKey UnsupportedImageKey = "awsPluginImageFqin"
const AzurePluginImageKey UnsupportedImageKey = "azurePluginImageFqin"
const GCPPluginImageKey UnsupportedImageKey = "gcpPluginImageFqin"
const KubeVirtPluginImageKey UnsupportedImageKey = "kubevirtPluginImageFqin"
const OpenShiftPluginImageKey UnsupportedImageKey = "openshiftPluginImageFqin"
const OperatorTypeKey UnsupportedImageKey = "operator-type"
const ResticRestoreImageKey UnsupportedImageKey = "resticRestoreImageFqin"
const VeleroImageKey UnsupportedImageKey = "veleroImageFqin"

type VeleroConfig

type VeleroConfig struct {
	// featureFlags defines the list of features to enable for Velero instance
	// +optional
	FeatureFlags   []string        `json:"featureFlags,omitempty"`
	DefaultPlugins []DefaultPlugin `json:"defaultPlugins,omitempty"`
	// customPlugins defines the custom plugin to be installed with Velero
	// +optional
	CustomPlugins []CustomPlugin `json:"customPlugins,omitempty"`
	// restoreResourceVersionPriority represents a configmap that will be created if defined for use in conjunction with EnableAPIGroupVersions feature flag
	// Defining this field automatically add EnableAPIGroupVersions to the velero server feature flag
	// +optional
	RestoreResourcesVersionPriority string `json:"restoreResourcesVersionPriority,omitempty"`
	// If you need to install Velero without a default backup storage location noDefaultBackupLocation flag is required for confirmation
	// +optional
	NoDefaultBackupLocation bool `json:"noDefaultBackupLocation,omitempty"`
	// Pod specific configuration
	PodConfig *PodConfig `json:"podConfig,omitempty"`
	// Velero server’s log level (use debug for the most logging, leave unset for velero default)
	// +optional
	// +kubebuilder:validation:Enum=trace;debug;info;warning;error;fatal;panic
	LogLevel string `json:"logLevel,omitempty"`
	// How often to check status on async backup/restore operations after backup processing. Default value is 2m.
	// +optional
	ItemOperationSyncFrequency string `json:"itemOperationSyncFrequency,omitempty"`
	// How long to wait on asynchronous BackupItemActions and RestoreItemActions to complete before timing out. Default value is 1h.
	// +optional
	DefaultItemOperationTimeout string `json:"defaultItemOperationTimeout,omitempty"`
	// Use pod volume file system backup by default for volumes
	// +optional
	DefaultVolumesToFSBackup *bool `json:"defaultVolumesToFSBackup,omitempty"`
	// Specify whether CSI snapshot data should be moved to backup storage by default
	// +optional
	DefaultSnapshotMoveData *bool `json:"defaultSnapshotMoveData,omitempty"`
	// Disable informer cache for Get calls on restore. With this enabled, it will speed up restore in cases where there are backup resources which already exist in the cluster, but for very large clusters this will increase velero memory usage. Default is false.
	// +optional
	DisableInformerCache *bool `json:"disableInformerCache,omitempty"`
	// resourceTimeout defines how long to wait for several Velero resources before timeout occurs,
	// such as Velero CRD availability, volumeSnapshot deletion, and repo availability.
	// Default is 10m
	// +optional
	ResourceTimeout string `json:"resourceTimeout,omitempty"`
}

func (*VeleroConfig) DeepCopy

func (in *VeleroConfig) DeepCopy() *VeleroConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VeleroConfig.

func (*VeleroConfig) DeepCopyInto

func (in *VeleroConfig) DeepCopyInto(out *VeleroConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VeleroConfig) HasFeatureFlag

func (veleroConfig *VeleroConfig) HasFeatureFlag(flag string) bool

type VolumeOptions

type VolumeOptions struct {
	// storageClassName can be used to override the StorageClass of the source
	// or destination PVC
	//+optional
	StorageClassName string `json:"storageClassName,omitempty"`
	// accessMode can be used to override the accessMode of the source or
	// destination PVC
	//+optional
	AccessMode corev1.PersistentVolumeAccessMode `json:"accessMode,omitempty"`
	// cacheStorageClassName is the storageClass that should be used when provisioning
	// the data mover cache volume
	//+optional
	CacheStorageClassName string `json:"cacheStorageClassName,omitempty"`
	// cacheCapacity determines the size of the restic metadata cache volume
	//+optional
	CacheCapacity string `json:"cacheCapacity,omitempty"`
	// cacheAccessMode is the access mode to be used to provision the cache volume
	//+optional
	CacheAccessMode string `json:"cacheAccessMode,omitempty"`
}

VolumeOptions defines configurations for VolSync options

func (*VolumeOptions) DeepCopy

func (in *VolumeOptions) DeepCopy() *VolumeOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeOptions.

func (*VolumeOptions) DeepCopyInto

func (in *VolumeOptions) DeepCopyInto(out *VolumeOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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