repo

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2020 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrInvalidMetadata indicates that the metadata provided is not valid.
	ErrInvalidMetadata = errors.New("invalid metadata")
)
View Source
var (

	// GitRepoURLRE is a regexp used to validate and parse a git based
	// repository URL.
	GitRepoURLRE = regexp.MustCompile(`^(https:\/\/(github|gitlab)\.com\/[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+)\/?(.*)$`)
)

Functions

func ValidateMetadata added in v0.5.0

func ValidateMetadata(md *hub.RepositoryMetadata) error

ValidateMetadata validates if the repository metadata provided is valid.

func WithHelmIndexLoader added in v0.5.0

func WithHelmIndexLoader(l hub.HelmIndexLoader) func(m *Manager)

WithHelmIndexLoader allows providing a specific HelmIndexLoader implementation for a Manager instance.

Types

type Cloner

type Cloner struct{}

Cloner is a hub.RepositoryCloner implementation.

func (*Cloner) CloneRepository

func (c *Cloner) CloneRepository(ctx context.Context, r *hub.Repository) (string, string, error)

CloneRepository implements the hub.RepositoryCloner interface.

type ClonerMock

type ClonerMock struct {
	mock.Mock
}

ClonerMock is a mock implementation of the RepositoryCloner interface.

func (*ClonerMock) CloneRepository

func (m *ClonerMock) CloneRepository(ctx context.Context, r *hub.Repository) (string, string, error)

CloneRepository implements the RepositoryCloner interface.

type HelmIndexLoader

type HelmIndexLoader struct{}

HelmIndexLoader provides a mechanism to load a Helm repository index file, verifying it is valid.

func (*HelmIndexLoader) LoadIndex

func (l *HelmIndexLoader) LoadIndex(r *hub.Repository) (*helmrepo.IndexFile, error)

LoadIndex downloads and parses the index file of the provided repository.

type HelmIndexLoaderMock

type HelmIndexLoaderMock struct {
	mock.Mock
}

HelmIndexLoaderMock is a mock implementation of the HelmIndexLoader interface.

func (*HelmIndexLoaderMock) LoadIndex

func (m *HelmIndexLoaderMock) LoadIndex(r *hub.Repository) (*repo.IndexFile, error)

LoadIndex implements the HelmIndexLoader interface.

type Manager

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

Manager provides an API to manage repositories.

func NewManager

func NewManager(cfg *viper.Viper, db hub.DB, opts ...func(m *Manager)) *Manager

NewManager creates a new Manager instance.

func (*Manager) Add

func (m *Manager) Add(ctx context.Context, orgName string, r *hub.Repository) error

Add adds the provided repository to the database.

func (*Manager) CheckAvailability

func (m *Manager) CheckAvailability(ctx context.Context, resourceKind, value string) (bool, error)

CheckAvailability checks the availability of a given value for the provided resource kind.

func (*Manager) Delete

func (m *Manager) Delete(ctx context.Context, name string) error

Delete deletes the provided repository from the database.

func (*Manager) GetAll added in v0.4.0

func (m *Manager) GetAll(ctx context.Context) ([]*hub.Repository, error)

GetAll returns all available repositories.

func (*Manager) GetByID added in v0.5.0

func (m *Manager) GetByID(ctx context.Context, repositoryID string) (*hub.Repository, error)

GetByID returns the repository identified by the id provided.

func (*Manager) GetByKind

func (m *Manager) GetByKind(ctx context.Context, kind hub.RepositoryKind) ([]*hub.Repository, error)

GetByKind returns all available repositories of the provided kind.

func (*Manager) GetByName

func (m *Manager) GetByName(ctx context.Context, name string) (*hub.Repository, error)

GetByName returns the repository identified by the name provided.

func (*Manager) GetOwnedByOrgJSON

func (m *Manager) GetOwnedByOrgJSON(ctx context.Context, orgName string) ([]byte, error)

GetOwnedByOrgJSON returns all repositories that belong to the organization provided.

func (*Manager) GetOwnedByUserJSON

func (m *Manager) GetOwnedByUserJSON(ctx context.Context) ([]byte, error)

GetOwnedByUserJSON returns all repositories that belong to the user making the request.

func (*Manager) GetPackagesDigest

func (m *Manager) GetPackagesDigest(
	ctx context.Context,
	repositoryID string,
) (map[string]string, error)

GetPackagesDigest returns the digests for all packages in the repository identified by the id provided.

func (*Manager) SetLastTrackingResults

func (m *Manager) SetLastTrackingResults(ctx context.Context, repositoryID, errs string) error

SetLastTrackingResults updates the timestamp and errors of the last tracking of the provided repository in the database.

func (*Manager) SetVerifiedPublisher added in v0.5.0

func (m *Manager) SetVerifiedPublisher(ctx context.Context, repositoryID string, verified bool) error

SetVerifiedPublisher updates the verified publisher flag of the provided repository in the database.

func (*Manager) Transfer

func (m *Manager) Transfer(ctx context.Context, repoName, orgName string) error

Transfer transfers the provided repository to a different owner. A user owned repo can be transferred to an organization the requesting user belongs to. An org owned repo can be transfer to the requesting user, provided the user belongs to the owning org, or to a different organization the user belongs to.

func (*Manager) Update

func (m *Manager) Update(ctx context.Context, r *hub.Repository) error

Update updates the provided repository in the database.

type ManagerMock

type ManagerMock struct {
	mock.Mock
}

ManagerMock is a mock implementation of the RepositoryManager interface.

func (*ManagerMock) Add

func (m *ManagerMock) Add(ctx context.Context, orgName string, r *hub.Repository) error

Add implements the RepositoryManager interface.

func (*ManagerMock) CheckAvailability

func (m *ManagerMock) CheckAvailability(ctx context.Context, resourceKind, value string) (bool, error)

CheckAvailability implements the RepositoryManager interface.

func (*ManagerMock) Delete

func (m *ManagerMock) Delete(ctx context.Context, name string) error

Delete implements the RepositoryManager interface.

func (*ManagerMock) GetAll added in v0.4.0

func (m *ManagerMock) GetAll(ctx context.Context) ([]*hub.Repository, error)

GetAll implements the RepositoryManager interface.

func (*ManagerMock) GetByID added in v0.5.0

func (m *ManagerMock) GetByID(ctx context.Context, repositoryID string) (*hub.Repository, error)

GetByID implements the RepositoryManager interface.

func (*ManagerMock) GetByKind

func (m *ManagerMock) GetByKind(ctx context.Context, kind hub.RepositoryKind) ([]*hub.Repository, error)

GetByKind implements the RepositoryManager interface.

func (*ManagerMock) GetByName

func (m *ManagerMock) GetByName(ctx context.Context, name string) (*hub.Repository, error)

GetByName implements the RepositoryManager interface.

func (*ManagerMock) GetOwnedByOrgJSON

func (m *ManagerMock) GetOwnedByOrgJSON(ctx context.Context, orgName string) ([]byte, error)

GetOwnedByOrgJSON implements the RepositoryManager interface.

func (*ManagerMock) GetOwnedByUserJSON

func (m *ManagerMock) GetOwnedByUserJSON(ctx context.Context) ([]byte, error)

GetOwnedByUserJSON implements the RepositoryManager interface.

func (*ManagerMock) GetPackagesDigest

func (m *ManagerMock) GetPackagesDigest(
	ctx context.Context,
	repositoryID string,
) (map[string]string, error)

GetPackagesDigest implements the RepositoryManager interface.

func (*ManagerMock) SetLastTrackingResults

func (m *ManagerMock) SetLastTrackingResults(ctx context.Context, repositoryID, errs string) error

SetLastTrackingResults implements the RepositoryManager interface.

func (*ManagerMock) SetVerifiedPublisher added in v0.5.0

func (m *ManagerMock) SetVerifiedPublisher(ctx context.Context, repositoryID string, verified bool) error

SetVerifiedPublisher implements the RepositoryManager interface.

func (*ManagerMock) Transfer

func (m *ManagerMock) Transfer(ctx context.Context, name, orgName string) error

Transfer implements the RepositoryManager interface.

func (*ManagerMock) Update

func (m *ManagerMock) Update(ctx context.Context, r *hub.Repository) error

Update implements the RepositoryManager interface.

Jump to

Keyboard shortcuts

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