repository

package
v1.18.2 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2026 License: Apache-2.0 Imports: 13 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetBackupRepository

func GetBackupRepository(ctx context.Context, cli client.Client, namespace string, key BackupRepositoryKey, options ...bool) (*velerov1api.BackupRepository, error)

GetBackupRepository gets a backup repository through BackupRepositoryKey and ensure ready if required.

func NewBackupRepository added in v1.12.0

func NewBackupRepository(namespace string, key BackupRepositoryKey) *velerov1api.BackupRepository

Types

type BackupRepositoryKey

type BackupRepositoryKey struct {
	VolumeNamespace string
	BackupLocation  string
	RepositoryType  string
}

A BackupRepositoryKey uniquely identify a backup repository

type Ensurer added in v1.12.0

type Ensurer struct {
	// contains filtered or unexported fields
}

Ensurer ensures that backup repositories are created and ready.

func NewEnsurer added in v1.12.0

func NewEnsurer(repoClient client.Client, log logrus.FieldLogger, resourceTimeout time.Duration) *Ensurer

func (*Ensurer) EnsureRepo added in v1.12.0

func (r *Ensurer) EnsureRepo(ctx context.Context, namespace, volumeNamespace, backupLocation, repositoryType string) (*velerov1api.BackupRepository, error)

type RepoLocker

type RepoLocker struct {
	// contains filtered or unexported fields
}

RepoLocker manages exclusive/non-exclusive locks for operations against backup repositories. The semantics of exclusive/non-exclusive locks are the same as for a sync.RWMutex, where a non-exclusive lock is equivalent to a read lock, and an exclusive lock is equivalent to a write lock.

func NewRepoLocker

func NewRepoLocker() *RepoLocker

func (*RepoLocker) Lock

func (rl *RepoLocker) Lock(name string)

Lock acquires a non-exclusive lock for the specified repository. This function blocks until no exclusive locks exist for the repo.

func (*RepoLocker) LockExclusive

func (rl *RepoLocker) LockExclusive(name string)

LockExclusive acquires an exclusive lock for the specified repository. This function blocks until no other locks exist for the repo.

func (*RepoLocker) Unlock

func (rl *RepoLocker) Unlock(name string)

Unlock releases a non-exclusive lock for the repo.

func (*RepoLocker) UnlockExclusive

func (rl *RepoLocker) UnlockExclusive(name string)

UnlockExclusive releases an exclusive lock for the repo.

Jump to

Keyboard shortcuts

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