Documentation
¶
Overview ¶
Package install provides public functions for easily creating and installing resources necessary for Velero to operate. Some default settings are assumed with these functions.
Index ¶
- Variables
- func AllCRDs() *unstructured.UnstructuredList
- func AllResources(o *VeleroOptions) (*unstructured.UnstructuredList, error)
- func BackupStorageLocation(namespace, provider, bucket, prefix string, config map[string]string) *v1.BackupStorageLocation
- func ClusterRoleBinding(namespace string) *rbacv1beta1.ClusterRoleBinding
- func DaemonSet(namespace string, opts ...podTemplateOption) *appsv1.DaemonSet
- func DaemonSetIsReady(factory client.DynamicFactory, namespace string) (bool, error)
- func Deployment(namespace string, opts ...podTemplateOption) *appsv1.Deployment
- func DeploymentIsReady(factory client.DynamicFactory, namespace string) (bool, error)
- func Install(factory client.DynamicFactory, resources *unstructured.UnstructuredList, ...) error
- func Namespace(namespace string) *corev1.Namespace
- func Secret(namespace string, data []byte) *corev1.Secret
- func ServiceAccount(namespace string, annotations map[string]string) *corev1.ServiceAccount
- func VolumeSnapshotLocation(namespace, provider string, config map[string]string) *v1.VolumeSnapshotLocation
- func WithAnnotations(annotations map[string]string) podTemplateOption
- func WithDefaultResticMaintenanceFrequency(val time.Duration) podTemplateOption
- func WithEnvFromSecretKey(varName, secret, key string) podTemplateOption
- func WithImage(image string) podTemplateOption
- func WithPlugins(plugins []string) podTemplateOption
- func WithResources(resources corev1.ResourceRequirements) podTemplateOption
- func WithRestoreOnly() podTemplateOption
- func WithSecret(secretPresent bool) podTemplateOption
- type ResourceGroup
- type VeleroOptions
Constants ¶
This section is empty.
Variables ¶
var ( DefaultImage = "velero/velero:" + imageVersion() DefaultVeleroPodCPURequest = "500m" DefaultVeleroPodMemRequest = "128Mi" DefaultVeleroPodCPULimit = "1000m" DefaultVeleroPodMemLimit = "256Mi" DefaultResticPodCPURequest = "0" DefaultResticPodMemRequest = "0" DefaultResticPodCPULimit = "0" DefaultResticPodMemLimit = "0" )
DefaultImage is the default image to use for the Velero deployment and restic daemonset containers.
Functions ¶
func AllCRDs ¶
func AllCRDs() *unstructured.UnstructuredList
func AllResources ¶
func AllResources(o *VeleroOptions) (*unstructured.UnstructuredList, error)
AllResources returns a list of all resources necessary to install Velero, in the appropriate order, into a Kubernetes cluster. Items are unstructured, since there are different data types returned.
func BackupStorageLocation ¶
func BackupStorageLocation(namespace, provider, bucket, prefix string, config map[string]string) *v1.BackupStorageLocation
func ClusterRoleBinding ¶
func ClusterRoleBinding(namespace string) *rbacv1beta1.ClusterRoleBinding
func DaemonSetIsReady ¶
func DaemonSetIsReady(factory client.DynamicFactory, namespace string) (bool, error)
DaemonSetIsReady will poll the kubernetes API server to ensure the restic daemonset is ready, i.e. that pods are scheduled and available on all of the the desired nodes.
func Deployment ¶
func Deployment(namespace string, opts ...podTemplateOption) *appsv1.Deployment
func DeploymentIsReady ¶
func DeploymentIsReady(factory client.DynamicFactory, namespace string) (bool, error)
DeploymentIsReady will poll the kubernetes API server to see if the velero deployment is ready to service user requests.
func Install ¶
func Install(factory client.DynamicFactory, resources *unstructured.UnstructuredList, w io.Writer) error
Install creates resources on the Kubernetes cluster. An unstructured list of resources is sent, one at a time, to the server. These are assumed to be in the preferred order already. Resources will be sorted into CustomResourceDefinitions and any other resource type, and the function will wait up to 1 minute for CRDs to be ready before proceeding. An io.Writer can be used to output to a log or the console.
func ServiceAccount ¶
func ServiceAccount(namespace string, annotations map[string]string) *corev1.ServiceAccount
func VolumeSnapshotLocation ¶
func VolumeSnapshotLocation(namespace, provider string, config map[string]string) *v1.VolumeSnapshotLocation
func WithAnnotations ¶
func WithEnvFromSecretKey ¶
func WithEnvFromSecretKey(varName, secret, key string) podTemplateOption
func WithPlugins ¶
func WithPlugins(plugins []string) podTemplateOption
func WithResources ¶
func WithResources(resources corev1.ResourceRequirements) podTemplateOption
func WithRestoreOnly ¶
func WithRestoreOnly() podTemplateOption
func WithSecret ¶
func WithSecret(secretPresent bool) podTemplateOption
Types ¶
type ResourceGroup ¶
type ResourceGroup struct { CRDResources []*unstructured.Unstructured OtherResources []*unstructured.Unstructured }
ResourceGroup represents a collection of kubernetes objects with a common ready conditon
func GroupResources ¶
func GroupResources(resources *unstructured.UnstructuredList) *ResourceGroup
GroupResources groups resources based on whether the resources are CustomResourceDefinitions or other types of kubernetes objects This is useful to wait for readiness before creating CRD objects
type VeleroOptions ¶
type VeleroOptions struct { Namespace string Image string ProviderName string Bucket string Prefix string PodAnnotations map[string]string ServiceAccountAnnotations map[string]string VeleroPodResources corev1.ResourceRequirements ResticPodResources corev1.ResourceRequirements SecretData []byte RestoreOnly bool UseRestic bool UseVolumeSnapshots bool BSLConfig map[string]string VSLConfig map[string]string DefaultResticMaintenanceFrequency time.Duration Plugins []string NoDefaultBackupLocation bool }