v1alpha1

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2022 License: Apache-2.0 Imports: 6 Imported by: 6

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 DataMoverDeploymentLabel = "openshift.io/oadp-data-mover"
View Source
const OadpBSLProviderLabel = "openshift.io/oadp-bsl-provider"
View Source
const OadpBSLnameLabel = "openshift.io/oadp-bsl-name"
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 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

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 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"`
	// +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

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 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

func (in *DataMover) DeepCopy() *DataMover

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

func (*DataMover) DeepCopyInto added in v1.1.0

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

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

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

func (*DataProtectionApplication) DeepCopyInto added in v0.5.0

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

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

func (*DataProtectionApplicationList) DeepCopyInto added in v0.5.0

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

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

func (*DataProtectionApplicationSpec) DeepCopyInto added in v0.5.0

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

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

func (*DataProtectionApplicationStatus) DeepCopyInto added in v0.5.0

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

func (in *Features) DeepCopy() *Features

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

func (*Features) DeepCopyInto added in v1.1.0

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

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

func (in *PodConfig) DeepCopy() *PodConfig

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

func (*PodConfig) DeepCopyInto added in v0.5.0

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

Jump to

Keyboard shortcuts

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