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 DataProtectionApplication
- type DataProtectionApplicationList
- type DataProtectionApplicationSpec
- type DataProtectionApplicationStatus
- type DefaultPlugin
- type PodConfig
- type ResticConfig
- type SnapshotLocation
- type UnsupportedImageKey
- type VeleroConfig
Constants ¶
const ConditionReconciled = "Reconciled"
Conditions
const OadpOperatorLabel = "openshift.io/oadp"
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 {
// TODO: Add name/annotations/labels support
// +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"
)
type CloudStorageSpec ¶ added in v0.5.0
type CloudStorageSpec struct {
// Name is the name requested for the bucket
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 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 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"`
// VolumeSnapshotLocations defines the list of desired configuration to use for VolumeSnapshotLocations
// +optional
SnapshotLocations []SnapshotLocation `json:"snapshotLocations"`
// UnsupportedOverrides can be used to override the deployed dependent images for development
// +optional
UnsupportedOverrides map[UnsupportedImageKey]string `json:"unsupportedOverrides,omitempty"`
// add annotations to pods deployed by operator
// +optional
PodAnnotations map[string]string `json:"podAnnotations,omitempty"`
// DNSPolicy 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"`
}
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 Velero
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 DefaultPluginMicrosoftAzure DefaultPlugin = "azure"
const DefaultPluginOpenShift DefaultPlugin = "openshift"
type PodConfig ¶ added in v0.5.0
type PodConfig struct {
// 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
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 {
// TODO: Add name/annotations/labels support
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 GCPPluginImageKey UnsupportedImageKey = "gcpPluginImageFqin"
const OpenShiftPluginImageKey UnsupportedImageKey = "openshiftPluginImageFqin"
const RegistryImageKey UnsupportedImageKey = "registryImageFqin"
const ResticRestoreImageKey UnsupportedImageKey = "resticRestoreImageFqin"
const VeleroImageKey UnsupportedImageKey = "veleroPluginImageFqin"
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"`
// CustomVeleroPlugins 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"`
}
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.