Documentation ¶
Index ¶
- Variables
- func BuildKey(p *hub.Package) string
- func GetPackageMetadata(kind hub.RepositoryKind, mdFile string) (*hub.PackageMetadata, error)
- func NormalizeChange(change *hub.Change)
- func ParseKey(key string) (string, string)
- func PreparePackageFromMetadata(md *hub.PackageMetadata) (*hub.Package, error)
- func ValidateChange(change *hub.Change) error
- func ValidateContainersImages(kind hub.RepositoryKind, images []*hub.ContainerImage) error
- func ValidatePackageMetadata(kind hub.RepositoryKind, md *hub.PackageMetadata) error
- func WithFlushFrequency(d time.Duration) func(t *ViewsTracker)
- type Manager
- func (m *Manager) AddProductionUsage(ctx context.Context, repoName, pkgName, orgName string) error
- func (m *Manager) DeleteProductionUsage(ctx context.Context, repoName, pkgName, orgName string) error
- func (m *Manager) Get(ctx context.Context, input *hub.GetPackageInput) (*hub.Package, error)
- func (m *Manager) GetChangelog(ctx context.Context, pkgID string) (*hub.Changelog, error)
- func (m *Manager) GetHarborReplicationDumpJSON(ctx context.Context) ([]byte, error)
- func (m *Manager) GetHelmExporterDumpJSON(ctx context.Context) ([]byte, error)
- func (m *Manager) GetJSON(ctx context.Context, input *hub.GetPackageInput) ([]byte, error)
- func (m *Manager) GetProductionUsageJSON(ctx context.Context, repoName, pkgName string) ([]byte, error)
- func (m *Manager) GetRandomJSON(ctx context.Context) ([]byte, error)
- func (m *Manager) GetSnapshotSecurityReportJSON(ctx context.Context, pkgID, version string) ([]byte, error)
- func (m *Manager) GetSnapshotsToScan(ctx context.Context) ([]*hub.SnapshotToScan, error)
- func (m *Manager) GetStarredByUserJSON(ctx context.Context, p *hub.Pagination) (*hub.JSONQueryResult, error)
- func (m *Manager) GetStarsJSON(ctx context.Context, packageID string) ([]byte, error)
- func (m *Manager) GetStatsJSON(ctx context.Context) ([]byte, error)
- func (m *Manager) GetSummaryJSON(ctx context.Context, input *hub.GetPackageInput) ([]byte, error)
- func (m *Manager) GetValuesSchemaJSON(ctx context.Context, pkgID, version string) ([]byte, error)
- func (m *Manager) GetViewsJSON(ctx context.Context, pkgID string) ([]byte, error)
- func (m *Manager) Register(ctx context.Context, pkg *hub.Package) error
- func (m *Manager) SearchJSON(ctx context.Context, input *hub.SearchPackageInput) (*hub.JSONQueryResult, error)
- func (m *Manager) SearchMonocularJSON(ctx context.Context, baseURL, tsQueryWeb string) ([]byte, error)
- func (m *Manager) ToggleStar(ctx context.Context, packageID string) error
- func (m *Manager) Unregister(ctx context.Context, pkg *hub.Package) error
- func (m *Manager) UpdateSnapshotSecurityReport(ctx context.Context, r *hub.SnapshotSecurityReport) error
- type ManagerMock
- func (m *ManagerMock) AddProductionUsage(ctx context.Context, repoName, pkgName, orgName string) error
- func (m *ManagerMock) DeleteProductionUsage(ctx context.Context, repoName, pkgName, orgName string) error
- func (m *ManagerMock) Get(ctx context.Context, input *hub.GetPackageInput) (*hub.Package, error)
- func (m *ManagerMock) GetChangelog(ctx context.Context, pkgID string) (*hub.Changelog, error)
- func (m *ManagerMock) GetHarborReplicationDumpJSON(ctx context.Context) ([]byte, error)
- func (m *ManagerMock) GetHelmExporterDumpJSON(ctx context.Context) ([]byte, error)
- func (m *ManagerMock) GetJSON(ctx context.Context, input *hub.GetPackageInput) ([]byte, error)
- func (m *ManagerMock) GetProductionUsageJSON(ctx context.Context, repoName, pkgName string) ([]byte, error)
- func (m *ManagerMock) GetRandomJSON(ctx context.Context) ([]byte, error)
- func (m *ManagerMock) GetSnapshotSecurityReportJSON(ctx context.Context, pkgID, version string) ([]byte, error)
- func (m *ManagerMock) GetSnapshotsToScan(ctx context.Context) ([]*hub.SnapshotToScan, error)
- func (m *ManagerMock) GetStarredByUserJSON(ctx context.Context, p *hub.Pagination) (*hub.JSONQueryResult, error)
- func (m *ManagerMock) GetStarsJSON(ctx context.Context, packageID string) ([]byte, error)
- func (m *ManagerMock) GetStatsJSON(ctx context.Context) ([]byte, error)
- func (m *ManagerMock) GetSummaryJSON(ctx context.Context, input *hub.GetPackageInput) ([]byte, error)
- func (m *ManagerMock) GetValuesSchemaJSON(ctx context.Context, pkgID, version string) ([]byte, error)
- func (m *ManagerMock) GetViewsJSON(ctx context.Context, packageID string) ([]byte, error)
- func (m *ManagerMock) Register(ctx context.Context, pkg *hub.Package) error
- func (m *ManagerMock) SearchJSON(ctx context.Context, input *hub.SearchPackageInput) (*hub.JSONQueryResult, error)
- func (m *ManagerMock) SearchMonocularJSON(ctx context.Context, baseURL, tsQueryWeb string) ([]byte, error)
- func (m *ManagerMock) ToggleStar(ctx context.Context, packageID string) error
- func (m *ManagerMock) Unregister(ctx context.Context, pkg *hub.Package) error
- func (m *ManagerMock) UpdateSnapshotSecurityReport(ctx context.Context, r *hub.SnapshotSecurityReport) error
- type ViewsTracker
- type ViewsTrackerMock
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInvalidMetadata indicates that the metadata provided is not valid. ErrInvalidMetadata = errors.New("invalid metadata") )
Functions ¶
func GetPackageMetadata ¶ added in v0.12.0
func GetPackageMetadata(kind hub.RepositoryKind, mdFile string) (*hub.PackageMetadata, error)
GetPackageMetadata reads, parses and validates the package metadata file provided.
func NormalizeChange ¶ added in v0.20.0
NormalizeChange normalizes some values of the change provided when needed.
func ParseKey ¶ added in v0.14.0
ParseKey parses a key identifying a package version and returns its name and version.
func PreparePackageFromMetadata ¶ added in v0.4.0
func PreparePackageFromMetadata(md *hub.PackageMetadata) (*hub.Package, error)
PreparePackageFromMetadata prepares a Package struct that will be used to proceed with a package registration from the PackageMetadata provided by the publisher.
func ValidateChange ¶ added in v0.20.0
ValidateChange validates if the provided change is valid.
func ValidateContainersImages ¶ added in v0.20.0
func ValidateContainersImages(kind hub.RepositoryKind, images []*hub.ContainerImage) error
ValidateContainersImages checks if the provided containers images are valid.
func ValidatePackageMetadata ¶ added in v0.4.0
func ValidatePackageMetadata(kind hub.RepositoryKind, md *hub.PackageMetadata) error
ValidatePackageMetadata validates if the package metadata provided is valid.
func WithFlushFrequency ¶ added in v1.5.0
func WithFlushFrequency(d time.Duration) func(t *ViewsTracker)
WithFlushFrequency allows configuring the views tracker flush frequency.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager provides an API to manage packages.
func (*Manager) AddProductionUsage ¶ added in v1.4.0
AddProductionUsage adds the given organization to the list of production users for the provided package.
func (*Manager) DeleteProductionUsage ¶ added in v1.4.0
func (m *Manager) DeleteProductionUsage(ctx context.Context, repoName, pkgName, orgName string) error
DeleteProductionUsage deletes the given organization from the list of production users for the provided package.
func (*Manager) GetChangelog ¶ added in v1.4.0
GetChangelog returns the changelog for the package identified by the id provided.
func (*Manager) GetHarborReplicationDumpJSON ¶ added in v0.13.0
GetHarborReplicationDumpJSON returns a json list with all packages versions of kind Helm available so that they can be synchronized in Harbor.
func (*Manager) GetHelmExporterDumpJSON ¶ added in v1.3.0
GetHelmExporterDumpJSON returns a json list with the latest version of all packages of kind Helm available so that they can be used by Helm exporter.
func (*Manager) GetJSON ¶
GetJSON returns the package identified by the input provided as a json object. The json object is built by the database.
func (*Manager) GetProductionUsageJSON ¶ added in v1.4.0
func (m *Manager) GetProductionUsageJSON(ctx context.Context, repoName, pkgName string) ([]byte, error)
GetProductionUsageJSON returns a json object describing which of the organizations the user belongs to are using the package provided in production.
func (*Manager) GetRandomJSON ¶ added in v0.3.0
GetRandomJSON returns a json object with some random packages. The json object is built by the database.
func (*Manager) GetSnapshotSecurityReportJSON ¶ added in v0.7.0
func (m *Manager) GetSnapshotSecurityReportJSON(ctx context.Context, pkgID, version string) ([]byte, error)
GetSnapshotSecurityReportJSON returns the security report of the package's snapshot identified by the package id and version provided.
func (*Manager) GetSnapshotsToScan ¶ added in v0.7.0
GetSnapshotsToScan returns the packages' snapshots that need to be scanned for security vulnerabilities.
func (*Manager) GetStarredByUserJSON ¶
func (m *Manager) GetStarredByUserJSON(ctx context.Context, p *hub.Pagination) (*hub.JSONQueryResult, error)
GetStarredByUserJSON returns a json object with packages starred by the user doing the request. The json object is built by the database.
func (*Manager) GetStarsJSON ¶
GetStarsJSON returns the number of stars of the given package, indicating as well if the user doing the request has starred it.
func (*Manager) GetStatsJSON ¶
GetStatsJSON returns a json object describing the number of packages and releases available in the database. The json object is built by the database.
func (*Manager) GetSummaryJSON ¶ added in v0.19.0
GetSummaryJSON returns a summary of the package identified by the input provided as a json object. The json object is built by the database.
func (*Manager) GetValuesSchemaJSON ¶ added in v0.8.0
GetValuesSchemaJSON returns the values schema of the package's snapshot identified by the package id and version provided.
func (*Manager) GetViewsJSON ¶ added in v1.5.0
GetViewsJSON returns a json object with the package views organized by version and day. The json object is built by the database.
func (*Manager) SearchJSON ¶
func (m *Manager) SearchJSON(ctx context.Context, input *hub.SearchPackageInput) (*hub.JSONQueryResult, error)
SearchJSON returns a json object with the search results produced by the input provided. The json object is built by the database.
func (*Manager) SearchMonocularJSON ¶ added in v0.5.0
func (m *Manager) SearchMonocularJSON(ctx context.Context, baseURL, tsQueryWeb string) ([]byte, error)
SearchMonocularJSON returns a json object with the search results produced by the input provided that is compatible with the Monocular search API. The json object is built by the database.
func (*Manager) ToggleStar ¶
ToggleStar stars or unstars a given package for the provided user.
func (*Manager) Unregister ¶
Unregister unregisters the package provided from the database.
func (*Manager) UpdateSnapshotSecurityReport ¶ added in v0.7.0
func (m *Manager) UpdateSnapshotSecurityReport(ctx context.Context, r *hub.SnapshotSecurityReport) error
UpdateSnapshotSecurityReport updates the security report for the snapshot provided.
type ManagerMock ¶
ManagerMock is a mock implementation of the PackageManager interface.
func (*ManagerMock) AddProductionUsage ¶ added in v1.4.0
func (m *ManagerMock) AddProductionUsage(ctx context.Context, repoName, pkgName, orgName string) error
AddProductionUsage implements the PackageManager interface.
func (*ManagerMock) DeleteProductionUsage ¶ added in v1.4.0
func (m *ManagerMock) DeleteProductionUsage(ctx context.Context, repoName, pkgName, orgName string) error
DeleteProductionUsage implements the PackageManager interface.
func (*ManagerMock) Get ¶
func (m *ManagerMock) Get(ctx context.Context, input *hub.GetPackageInput) (*hub.Package, error)
Get implements the PackageManager interface.
func (*ManagerMock) GetChangelog ¶ added in v1.4.0
GetChangelog implements the PackageManager interface.
func (*ManagerMock) GetHarborReplicationDumpJSON ¶ added in v0.13.0
func (m *ManagerMock) GetHarborReplicationDumpJSON(ctx context.Context) ([]byte, error)
GetHarborReplicationDumpJSON implements the PackageManager interface.
func (*ManagerMock) GetHelmExporterDumpJSON ¶ added in v1.3.0
func (m *ManagerMock) GetHelmExporterDumpJSON(ctx context.Context) ([]byte, error)
GetHelmExporterDumpJSON implements the PackageManager interface.
func (*ManagerMock) GetJSON ¶
func (m *ManagerMock) GetJSON(ctx context.Context, input *hub.GetPackageInput) ([]byte, error)
GetJSON implements the PackageManager interface.
func (*ManagerMock) GetProductionUsageJSON ¶ added in v1.4.0
func (m *ManagerMock) GetProductionUsageJSON(ctx context.Context, repoName, pkgName string) ([]byte, error)
GetProductionUsageJSON implements the PackageManager interface.
func (*ManagerMock) GetRandomJSON ¶ added in v0.3.0
func (m *ManagerMock) GetRandomJSON(ctx context.Context) ([]byte, error)
GetRandomJSON implements the PackageManager interface.
func (*ManagerMock) GetSnapshotSecurityReportJSON ¶ added in v0.7.0
func (m *ManagerMock) GetSnapshotSecurityReportJSON(ctx context.Context, pkgID, version string) ([]byte, error)
GetSnapshotSecurityReportJSON implements the PackageManager interface.
func (*ManagerMock) GetSnapshotsToScan ¶ added in v0.7.0
func (m *ManagerMock) GetSnapshotsToScan(ctx context.Context) ([]*hub.SnapshotToScan, error)
GetSnapshotsToScan implements the PackageManager interface.
func (*ManagerMock) GetStarredByUserJSON ¶
func (m *ManagerMock) GetStarredByUserJSON(ctx context.Context, p *hub.Pagination) (*hub.JSONQueryResult, error)
GetStarredByUserJSON implements the PackageManager interface.
func (*ManagerMock) GetStarsJSON ¶
GetStarsJSON implements the PackageManager interface.
func (*ManagerMock) GetStatsJSON ¶
func (m *ManagerMock) GetStatsJSON(ctx context.Context) ([]byte, error)
GetStatsJSON implements the PackageManager interface.
func (*ManagerMock) GetSummaryJSON ¶ added in v0.19.0
func (m *ManagerMock) GetSummaryJSON(ctx context.Context, input *hub.GetPackageInput) ([]byte, error)
GetSummaryJSON implements the PackageManager interface.
func (*ManagerMock) GetValuesSchemaJSON ¶ added in v0.8.0
func (m *ManagerMock) GetValuesSchemaJSON(ctx context.Context, pkgID, version string) ([]byte, error)
GetValuesSchemaJSON implements the PackageManager interface.
func (*ManagerMock) GetViewsJSON ¶ added in v1.5.0
GetViewsJSON implements the PackageManager interface.
func (*ManagerMock) SearchJSON ¶
func (m *ManagerMock) SearchJSON(ctx context.Context, input *hub.SearchPackageInput) (*hub.JSONQueryResult, error)
SearchJSON implements the PackageManager interface.
func (*ManagerMock) SearchMonocularJSON ¶ added in v0.5.0
func (m *ManagerMock) SearchMonocularJSON(ctx context.Context, baseURL, tsQueryWeb string) ([]byte, error)
SearchMonocularJSON implements the PackageManager interface.
func (*ManagerMock) ToggleStar ¶
func (m *ManagerMock) ToggleStar(ctx context.Context, packageID string) error
ToggleStar implements the PackageManager interface.
func (*ManagerMock) Unregister ¶
Unregister implements the PackageManager interface.
func (*ManagerMock) UpdateSnapshotSecurityReport ¶ added in v0.7.0
func (m *ManagerMock) UpdateSnapshotSecurityReport(ctx context.Context, r *hub.SnapshotSecurityReport) error
UpdateSnapshotSecurityReport implements the PackageManager interface.
type ViewsTracker ¶ added in v1.5.0
type ViewsTracker struct {
// contains filtered or unexported fields
}
ViewsTracker aggregates packages views that are periodically flushed to the database.
func NewViewsTracker ¶ added in v1.5.0
func NewViewsTracker(db hub.DB, opts ...func(t *ViewsTracker)) *ViewsTracker
New creates a new ViewsTracker instance.
func (*ViewsTracker) Flusher ¶ added in v1.5.0
func (t *ViewsTracker) Flusher(ctx context.Context, wg *sync.WaitGroup)
Flusher handles the periodic flushes of packages views. It'll keep running until the context provided is done.
func (*ViewsTracker) TrackView ¶ added in v1.5.0
func (t *ViewsTracker) TrackView(packageID, version string) error
TrackView tracks a single view for a given package version.
type ViewsTrackerMock ¶ added in v1.5.0
ViewsTrackerMock is a mock implementation of the ViewsTracker interface.
func (*ViewsTrackerMock) TrackView ¶ added in v1.5.0
func (m *ViewsTrackerMock) TrackView(packageID, version string) error
TrackView implements the ViewsTracker interface.