Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the oadp v1alpha1 API group +kubebuilder:object:generate=true +groupName=oadp.openshift.io
Index ¶
- Constants
- Variables
- type ApplicationConfig
- type BackupLocation
- type CloudStorage
- type CloudStorageList
- type CloudStorageLocation
- type CloudStorageProvider
- type CloudStorageSpec
- type CloudStorageStatus
- type CustomPlugin
- type DataMover
- type DataProtectionApplication
- type DataProtectionApplicationList
- type DataProtectionApplicationSpec
- type DataProtectionApplicationStatus
- type DefaultPlugin
- type Features
- type PodConfig
- type ResticConfig
- type SnapshotLocation
- type UnsupportedImageKey
- type VeleroConfig
Constants ¶
const ConditionReconciled = "Reconciled"
Conditions
const DataMoverDeploymentLabel = "openshift.io/oadp-data-mover"
const OadpBSLProviderLabel = "openshift.io/oadp-bsl-provider"
const OadpBSLnameLabel = "openshift.io/oadp-bsl-name"
const OadpOperatorLabel = "openshift.io/oadp"
const OperatorTypeMTC = "mtc"
const ReconcileCompleteMessage = "Reconcile complete"
const ReconciledReasonComplete = "Complete"
const ReconciledReasonError = "Error"
const RegistryDeploymentLabel = "openshift.io/oadp-registry"
Variables ¶
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 ¶ added in v0.5.0
type ApplicationConfig struct {
Velero *VeleroConfig `json:"velero,omitempty"`
Restic *ResticConfig `json:"restic,omitempty"`
}
ApplicationConfig defines the configuration for the Data Protection Application
func (*ApplicationConfig) DeepCopy ¶ added in v0.5.0
func (in *ApplicationConfig) DeepCopy() *ApplicationConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationConfig.
func (*ApplicationConfig) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
type BackupLocation struct {
// +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 ¶ added in v0.5.0
func (in *BackupLocation) DeepCopy() *BackupLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupLocation.
func (*BackupLocation) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *CloudStorage) DeepCopy() *CloudStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorage.
func (*CloudStorage) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *CloudStorage) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CloudStorageList ¶ added in v0.5.0
type CloudStorageList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []CloudStorage `json:"items"`
}
func (*CloudStorageList) DeepCopy ¶ added in v0.5.0
func (in *CloudStorageList) DeepCopy() *CloudStorageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorageList.
func (*CloudStorageList) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *CloudStorageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CloudStorageLocation ¶ added in v0.5.2
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"`
}
func (*CloudStorageLocation) DeepCopy ¶ added in v0.5.2
func (in *CloudStorageLocation) DeepCopy() *CloudStorageLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorageLocation.
func (*CloudStorageLocation) DeepCopyInto ¶ added in v0.5.2
func (in *CloudStorageLocation) DeepCopyInto(out *CloudStorageLocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudStorageProvider ¶ added in v0.5.2
type CloudStorageProvider string
const ( AWSBucketProvider CloudStorageProvider = "aws" AzureBucketProvider CloudStorageProvider = "azure" GCPBucketProvider CloudStorageProvider = "gcp" )
type CloudStorageSpec ¶ added in v0.5.0
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 *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"`
// +kubebuilder:validation:Enum=aws
// provider is the provider of the cloud storage
Provider CloudStorageProvider `json:"provider"`
}
func (*CloudStorageSpec) DeepCopy ¶ added in v0.5.0
func (in *CloudStorageSpec) DeepCopy() *CloudStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorageSpec.
func (*CloudStorageSpec) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
type CloudStorageStatus struct {
Name string `json:"name"`
LastSynced *metav1.Time `json:"lastSyncTimestamp,omitempty"`
}
func (*CloudStorageStatus) DeepCopy ¶ added in v0.5.0
func (in *CloudStorageStatus) DeepCopy() *CloudStorageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorageStatus.
func (*CloudStorageStatus) DeepCopyInto ¶ added in v0.5.0
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 ¶
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 ¶ added in v1.1.0
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"`
}
DataMover defines the various config for DPA data mover
func (*DataMover) DeepCopy ¶ added in v1.1.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataMover.
func (*DataMover) DeepCopyInto ¶ added in v1.1.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataProtectionApplication ¶ added in v0.5.0
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) BackupImages ¶ added in v0.5.3
func (dpa *DataProtectionApplication) BackupImages() bool
Default BackupImages behavior when nil to true
func (*DataProtectionApplication) DeepCopy ¶ added in v0.5.0
func (in *DataProtectionApplication) DeepCopy() *DataProtectionApplication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataProtectionApplication.
func (*DataProtectionApplication) DeepCopyInto ¶ added in v0.5.0
func (in *DataProtectionApplication) DeepCopyInto(out *DataProtectionApplication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataProtectionApplication) DeepCopyObject ¶ added in v0.5.0
func (in *DataProtectionApplication) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DataProtectionApplicationList ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *DataProtectionApplicationList) DeepCopy() *DataProtectionApplicationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataProtectionApplicationList.
func (*DataProtectionApplicationList) DeepCopyInto ¶ added in v0.5.0
func (in *DataProtectionApplicationList) DeepCopyInto(out *DataProtectionApplicationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataProtectionApplicationList) DeepCopyObject ¶ added in v0.5.0
func (in *DataProtectionApplicationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DataProtectionApplicationSpec ¶ added in v0.5.0
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
// - csiPluginImageFqin
// - dataMoverImageFqin
// - resticRestoreImageFqin
// - kubevirtPluginImageFqin
// +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 ¶ added in v0.5.0
func (in *DataProtectionApplicationSpec) DeepCopy() *DataProtectionApplicationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataProtectionApplicationSpec.
func (*DataProtectionApplicationSpec) DeepCopyInto ¶ added in v0.5.0
func (in *DataProtectionApplicationSpec) DeepCopyInto(out *DataProtectionApplicationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataProtectionApplicationStatus ¶ added in v0.5.0
type DataProtectionApplicationStatus struct {
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
DataProtectionApplicationStatus defines the observed state of DataProtectionApplication
func (*DataProtectionApplicationStatus) DeepCopy ¶ added in v0.5.0
func (in *DataProtectionApplicationStatus) DeepCopy() *DataProtectionApplicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataProtectionApplicationStatus.
func (*DataProtectionApplicationStatus) DeepCopyInto ¶ added in v0.5.0
func (in *DataProtectionApplicationStatus) DeepCopyInto(out *DataProtectionApplicationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DefaultPlugin ¶
type DefaultPlugin string
const DefaultPluginAWS DefaultPlugin = "aws"
const DefaultPluginCSI DefaultPlugin = "csi"
const DefaultPluginGCP DefaultPlugin = "gcp"
const DefaultPluginKubeVirt DefaultPlugin = "kubevirt"
const DefaultPluginMicrosoftAzure DefaultPlugin = "azure"
const DefaultPluginOpenShift DefaultPlugin = "openshift"
type Features ¶ added in v1.1.0
type Features struct {
// Contains data mover specific configurations
// +optional
DataMover *DataMover `json:"dataMover,omitempty"`
}
Features defines the configuration for the DPA to enable the tech preview features
func (*Features) DeepCopy ¶ added in v1.1.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Features.
func (*Features) DeepCopyInto ¶ added in v1.1.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodConfig ¶ added in v0.5.0
type PodConfig struct {
// labels to add to pods
// +optional
Labels map[string]string `json:"labels,omitempty"`
// nodeSelector defines the nodeSelector to be supplied to Restic podSpec
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// tolerations defines the list of tolerations to be applied to Restic daemonset
// +optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// resourceAllocations defines the CPU and Memory resource allocations for the restic Pod
// +optional
// +nullable
ResourceAllocations corev1.ResourceRequirements `json:"resourceAllocations,omitempty"`
}
PodConfig defines the pod configuration options
func (*PodConfig) DeepCopy ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodConfig.
func (*PodConfig) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResticConfig ¶ added in v0.5.0
type ResticConfig 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 Restic Pod
// +optional
SupplementalGroups []int64 `json:"supplementalGroups,omitempty"`
// timeout defines the Restic timeout, default value is 1h
// +optional
Timeout string `json:"timeout,omitempty"`
// Pod specific configuration
PodConfig *PodConfig `json:"podConfig,omitempty"`
}
ResticConfig is the configuration for restic server
func (*ResticConfig) DeepCopy ¶ added in v0.5.0
func (in *ResticConfig) DeepCopy() *ResticConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResticConfig.
func (*ResticConfig) DeepCopyInto ¶ added in v0.5.0
func (in *ResticConfig) DeepCopyInto(out *ResticConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SnapshotLocation ¶ added in v0.5.0
type SnapshotLocation struct {
Velero *velero.VolumeSnapshotLocationSpec `json:"velero"`
}
SnapshotLocation defines the configuration for the DPA snapshot store
func (*SnapshotLocation) DeepCopy ¶ added in v0.5.0
func (in *SnapshotLocation) DeepCopy() *SnapshotLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotLocation.
func (*SnapshotLocation) DeepCopyInto ¶ added in v0.5.0
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
const AWSPluginImageKey UnsupportedImageKey = "awsPluginImageFqin"
const AzurePluginImageKey UnsupportedImageKey = "azurePluginImageFqin"
const CSIPluginImageKey UnsupportedImageKey = "csiPluginImageFqin"
const DataMoverImageKey UnsupportedImageKey = "dataMoverImageFqin"
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 ¶ added in v0.5.0
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"`
}
func (*VeleroConfig) DeepCopy ¶ added in v0.5.0
func (in *VeleroConfig) DeepCopy() *VeleroConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VeleroConfig.
func (*VeleroConfig) DeepCopyInto ¶ added in v0.5.0
func (in *VeleroConfig) DeepCopyInto(out *VeleroConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.