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"` // 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 ¶ 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.