v1alpha1

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2021 License: Apache-2.0 Imports: 6 Imported by: 13

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 ReconcileCompleteMessage = "Reconcile complete"
View Source
const ReconciledReasonComplete = "Complete"
View Source
const ReconciledReasonError = "Error"

Variables

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

	Kind = "Velero"

	// 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 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 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 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 ResticRestoreImageKey UnsupportedImageKey = "resticRestoreImageFqin"
const VeleroImageKey UnsupportedImageKey = "veleroPluginImageFqin"

type Velero

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

	Spec   VeleroSpec   `json:"spec,omitempty"`
	Status VeleroStatus `json:"status,omitempty"`
}

Velero is the Schema for the veleroes API

func (*Velero) DeepCopy

func (in *Velero) DeepCopy() *Velero

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

func (*Velero) DeepCopyInto

func (in *Velero) DeepCopyInto(out *Velero)

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

func (*Velero) DeepCopyObject

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

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

type VeleroList

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

VeleroList contains a list of Velero

func (*VeleroList) DeepCopy

func (in *VeleroList) DeepCopy() *VeleroList

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

func (*VeleroList) DeepCopyInto

func (in *VeleroList) DeepCopyInto(out *VeleroList)

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

func (*VeleroList) DeepCopyObject

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

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

type VeleroSpec

type VeleroSpec struct {
	// BackupStorageLocations defines the list of desired configuration to use for BackupStorageLocations
	// +optional
	BackupStorageLocations []velero.BackupStorageLocationSpec `json:"backupStorageLocations"`
	// VolumeSnapshotLocations defines the list of desired configuration to use for VolumeSnapshotLocations
	// +optional
	VolumeSnapshotLocations []velero.VolumeSnapshotLocationSpec `json:"volumeSnapshotLocations"`
	// VeleroFeatureFlags defines the list of features to enable for Velero instance
	// +optional
	VeleroFeatureFlags []string `json:"veleroFeatureFlags,omitempty"`
	// VeleroTolerations defines the list of tolerations to be applied to Velero deployment
	// +optional
	VeleroTolerations []corev1.Toleration `json:"veleroTolerations,omitempty"`
	// VeleroResourceAllocations defines the CPU and Memory resource allocations for the Velero Pod
	// +optional
	VeleroResourceAllocations corev1.ResourceRequirements `json:"veleroResourceAllocations,omitempty"`
	// DefaultVeleroPlugins defines the list of default plugins (aws, gcp, azure, openshift, csi) to be installed with Velero
	DefaultVeleroPlugins []DefaultPlugin `json:"defaultVeleroPlugins,omitempty"`
	// CustomVeleroPlugins defines the custom plugin to be installed with Velero
	// +optional
	CustomVeleroPlugins []CustomPlugin `json:"customVeleroPlugins,omitempty"`

	// Noobaa is a boolean to specify if we should install backup storage from OCS operator with Noobaa
	// +optional
	Noobaa bool `json:"noobaa,omitempty"`

	// EnableRestic is a boolean to specify if restic daemonset instance should be created or not
	// +optional
	EnableRestic *bool `json:"enableRestic,omitempty"`
	// ResticSupplementalGroups defines the linux groups to be applied to the Restic Pod
	// +optional
	ResticSupplementalGroups []int64 `json:"resticSupplementalGroups,omitempty"`
	// ResticNodeSelector defines the nodeSelector to be supplied to Restic podSpec
	// +optional
	ResticNodeSelector map[string]string `json:"resticNodeSelector,omitempty"`
	// ResticTolerations defines the list of tolerations to be applied to Restic daemonset
	// +optional
	ResticTolerations []corev1.Toleration `json:"resticTolerations,omitempty"`
	// ResticResourceAllocations defines the CPU and Memory resource allocations for the restic Pod
	// +optional
	ResticResourceAllocations corev1.ResourceRequirements `json:"resticResourceAllocations,omitempty"`
	// ResticTimeout defines the Restic timeout, default value is 1h
	// +optional
	ResticTimeout string `json:"resticTimeout,omitempty"`
	// +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"`
	// 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"`
	// 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"`
	// If you need to install Velero without a default backup storage location NoDefaultBackupLocation flag is required for confirmation
	// +optional
	NoDefaultBackupLocation bool `json:"noDefaultBackupLocation,omitempty"`
}

VeleroSpec defines the desired state of Velero

func (*VeleroSpec) DeepCopy

func (in *VeleroSpec) DeepCopy() *VeleroSpec

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

func (*VeleroSpec) DeepCopyInto

func (in *VeleroSpec) DeepCopyInto(out *VeleroSpec)

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

type VeleroStatus

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

VeleroStatus defines the observed state of Velero

func (*VeleroStatus) DeepCopy

func (in *VeleroStatus) DeepCopy() *VeleroStatus

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

func (*VeleroStatus) DeepCopyInto

func (in *VeleroStatus) DeepCopyInto(out *VeleroStatus)

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