Documentation ¶
Index ¶
- func AddAnnotations(o *metav1.ObjectMeta, vals map[string]string)
- func Contains(slice []string, key string) bool
- func GetAnnotationFromSnapshot(itemSnapshot interface{}) (string, error)
- func GetKubeClient(config *rest.Config, logger logrus.FieldLogger) (*kubernetes.Clientset, error)
- func GetPVForPVC(pvc *corev1.PersistentVolumeClaim, ...) (*corev1.PersistentVolume, error)
- func GetPodVolumeNameForPVC(pod corev1.Pod, pvcName string) (string, error)
- func GetPodsUsingPVC(pvcNamespace, pvcName string, podsGetter corev1client.PodsGetter) ([]corev1.Pod, error)
- func GetResources() []string
- func GetSnapshotFromPVCAnnotation(snapshotAnnotation string, itemSnapshot interface{}) error
- func IsObjectBlocked(item runtime.Unstructured) (bool, string, error)
- func IsPVCBackedUpByRestic(pvcNamespace, pvcName string, podClient corev1client.PodsGetter, ...) (bool, error)
- func IsResourceBlocked(resourceName string) bool
- func IsResourceBlockedOnRestore(resourceName string) bool
- func RetrieveStorageClassMapping(config *rest.Config, veleroNs string, logger logrus.FieldLogger) (map[string]string, error)
- func SelfLinkToCRDName(selfLink string) string
- func SkipPVCCreation(ctx context.Context, config *rest.Config, pvc *corev1.PersistentVolumeClaim, ...) (bool, error)
- func UnstructuredToCRDName(item runtime.Unstructured) (string, error)
- func UpdateSnapshotWithNewNamespace(itemSnapshot *backupdriverv1.Snapshot, namespace string) (backupdriverv1.Snapshot, error)
- func UpdateSnapshotWithNewStorageClass(config *rest.Config, itemSnapshot *backupdriverv1.Snapshot, ...) (backupdriverv1.Snapshot, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddAnnotations ¶
func AddAnnotations(o *metav1.ObjectMeta, vals map[string]string)
AddAnnotations adds the supplied key-values to the annotations on the object
func GetKubeClient ¶
func GetKubeClient(config *rest.Config, logger logrus.FieldLogger) (*kubernetes.Clientset, error)
func GetPVForPVC ¶ added in v1.2.0
func GetPVForPVC(pvc *corev1.PersistentVolumeClaim, pvGetter corev1client.PersistentVolumesGetter) (*corev1.PersistentVolume, error)
func GetPodVolumeNameForPVC ¶ added in v1.2.0
func GetPodsUsingPVC ¶ added in v1.2.0
func GetPodsUsingPVC(pvcNamespace, pvcName string, podsGetter corev1client.PodsGetter) ([]corev1.Pod, error)
func GetResources ¶ added in v1.2.0
func GetResources() []string
func IsObjectBlocked ¶ added in v1.2.0
func IsObjectBlocked(item runtime.Unstructured) (bool, string, error)
func IsPVCBackedUpByRestic ¶ added in v1.2.0
func IsPVCBackedUpByRestic(pvcNamespace, pvcName string, podClient corev1client.PodsGetter, defaultVolumesToRestic bool) (bool, error)
func IsResourceBlocked ¶ added in v1.2.0
func IsResourceBlockedOnRestore ¶ added in v1.2.0
func SelfLinkToCRDName ¶
* Converts a K8S Self Link into the CRD name. Supports namespaced and cluster level CRs * K8S Cluster Resource Self Link format: /api/<version>/<resource plural name>/<item name>, * e.g. /api/v1/persistentvolumes/pvc-3240e5ed-9a97-446c-a6ab-b2442d852d04 * K8S Namespace resource Self Link format: /api/<version>/namespaces/<namespace>/<resource plural name>/<item name>, * e.g. /api/v1/namespaces/kibishii/persistentvolumeclaims/etcd0-pv-claim * K8S Resource Name = <resource plural name>, e.g. persistentvolumes * Custom Resource Cluster Self Link format: /apis/<CR group>/<version>/<CR plural name>/<item name>, * e.g. /api/cnsdp.vmware.com/v1/backuprepositories/br-1 * Custom Resource Namespace Self Link format: /apis/<CR group>/<version>/namespaces/<namespace>/<CR plural name>/<item name>, * e.g. /apis/velero.io/v1/namespaces/velero/backups/kibishii-1 * Custom Resource Name = <CR plural name>.<CR group>, e.g. backups.velero.io
func SkipPVCCreation ¶ added in v1.2.0
func SkipPVCCreation(ctx context.Context, config *rest.Config, pvc *corev1.PersistentVolumeClaim, logger logrus.FieldLogger) (bool, error)
SkipPVCCreation checks whether to skip creation of the PVC. Returns true to indicate skipping PVC creation and false otherwise. If an error occurrs, it returns true and the error. If PVC already exists, it returns true and nil. If PVC is not found, it returns false and nil to indicate PVC should be created.
func UnstructuredToCRDName ¶ added in v1.1.1
func UnstructuredToCRDName(item runtime.Unstructured) (string, error)
* Extracts the CRD name from a K8S Unstructured into the CRD name. Supports namespaced and cluster level CRs * K8S Cluster Resource Self Link format: /api/<version>/<resource plural name>/<item name>, * e.g. /api/v1/persistentvolumes/pvc-3240e5ed-9a97-446c-a6ab-b2442d852d04 * K8S Resource Name = <resource plural name>, e.g. persistentvolumes * Custom Resource Cluster Self Link format: /apis/<CR group>/<version>/<CR plural name>/<item name>, * e.g. /api/cnsdp.vmware.com/v1/backuprepositories/br-1 * Custom Resource Name = <CR plural name>.<CR group>, e.g. backuprepositories.cnsdp.vmware.com * TODO - replace with a better system that does need singular to plural translation
func UpdateSnapshotWithNewNamespace ¶
func UpdateSnapshotWithNewNamespace(itemSnapshot *backupdriverv1.Snapshot, namespace string) (backupdriverv1.Snapshot, error)
func UpdateSnapshotWithNewStorageClass ¶
func UpdateSnapshotWithNewStorageClass(config *rest.Config, itemSnapshot *backupdriverv1.Snapshot, storageClassMapping map[string]string, logger logrus.FieldLogger) (backupdriverv1.Snapshot, error)
Types ¶
This section is empty.