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, ...) *velerov1api.BackupStorageLocation
- func ClusterRoleBinding(namespace string) *rbacv1beta1.ClusterRoleBinding
- func CreateClient(r *unstructured.Unstructured, factory client.DynamicFactory, w io.Writer) (client.Dynamic, error)
- 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 Labels() map[string]string
- 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) *velerov1api.VolumeSnapshotLocation
- func WithAnnotations(annotations map[string]string) podTemplateOption
- func WithDefaultResticMaintenanceFrequency(val time.Duration) podTemplateOption
- func WithDefaultVolumesToRestic() podTemplateOption
- func WithEnvFromSecretKey(varName, secret, key string) podTemplateOption
- func WithFeatures(features []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 = "512Mi" DefaultResticPodCPURequest = "500m" DefaultResticPodMemRequest = "512Mi" DefaultResticPodCPULimit = "1000m" DefaultResticPodMemLimit = "1Gi" DefaultVeleroNamespace = "velero" )
DefaultImage is the default image to use for the Velero deployment and restic daemonset containers.
Functions ¶
func AllCRDs ¶ added in v1.2.0
func AllCRDs() *unstructured.UnstructuredList
func AllResources ¶ added in v1.0.0
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 ¶ added in v1.0.0
func BackupStorageLocation(namespace, provider, bucket, prefix string, config map[string]string, caCert []byte) *velerov1api.BackupStorageLocation
func ClusterRoleBinding ¶
func ClusterRoleBinding(namespace string) *rbacv1beta1.ClusterRoleBinding
func CreateClient ¶ added in v1.6.0
func CreateClient(r *unstructured.Unstructured, factory client.DynamicFactory, w io.Writer) (client.Dynamic, error)
CreateClient creates a client for an unstructured resource
func DaemonSetIsReady ¶ added in v1.2.0
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 ¶ added in v1.0.0
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 ¶ added in v1.0.0
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 ¶ added in v1.0.0
func VolumeSnapshotLocation(namespace, provider string, config map[string]string) *velerov1api.VolumeSnapshotLocation
func WithAnnotations ¶ added in v1.0.1
func WithDefaultResticMaintenanceFrequency ¶ added in v1.2.0
func WithDefaultVolumesToRestic ¶ added in v1.5.0
func WithDefaultVolumesToRestic() podTemplateOption
func WithEnvFromSecretKey ¶
func WithEnvFromSecretKey(varName, secret, key string) podTemplateOption
func WithFeatures ¶ added in v1.4.0
func WithFeatures(features []string) podTemplateOption
func WithPlugins ¶ added in v1.2.0
func WithPlugins(plugins []string) podTemplateOption
func WithResources ¶ added in v1.0.1
func WithResources(resources corev1.ResourceRequirements) podTemplateOption
func WithRestoreOnly ¶
func WithRestoreOnly() podTemplateOption
func WithSecret ¶ added in v1.0.1
func WithSecret(secretPresent bool) podTemplateOption
Types ¶
type ResourceGroup ¶ added in v1.0.0
type ResourceGroup struct { CRDResources []*unstructured.Unstructured OtherResources []*unstructured.Unstructured }
ResourceGroup represents a collection of kubernetes objects with a common ready condition
func GroupResources ¶ added in v1.0.0
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 ¶ added in v1.0.0
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 CACertData []byte Features []string DefaultVolumesToRestic bool }