Documentation
¶
Index ¶
- Constants
- Variables
- func NewLocalPackageUrl(localPath string) *packageurl.PackageURL
- type BaseProvider
- type ConfigInterface
- type GithubProvider
- func (p *GithubProvider) ArtifactDownload(downloadFolderPath string, artifactPurl *packageurl.PackageURL) ([]string, []*packageurl.PackageURL, error)
- func (p *GithubProvider) ArtifactSearch(artifactPurl *packageurl.PackageURL) ([]*models.QueryResult, error)
- func (p *GithubProvider) ArtifactSetMetadata(metadata map[string]string, destArtifactPurl *packageurl.PackageURL) error
- func (p *GithubProvider) ArtifactUpload(artifactCachePath string, sourceArtifactPurl *packageurl.PackageURL, ...) error
- func (p *GithubProvider) Close()
- func (p *GithubProvider) IsAuthenticatedProvider() bool
- func (p *GithubProvider) IsSupportedArtifactType(actionType string, artifactType string) bool
- func (p *GithubProvider) ValidateAuth() error
- type GithubProviderConfig
- type Interface
- type LocalProvider
- func (p *LocalProvider) ArtifactDownload(downloadFolderPath string, artifactPurl *packageurl.PackageURL) ([]string, []*packageurl.PackageURL, error)
- func (p *LocalProvider) ArtifactSearch(artifactPurl *packageurl.PackageURL) ([]*models.QueryResult, error)
- func (p *LocalProvider) ArtifactSetMetadata(metadata map[string]string, destArtifactPurl *packageurl.PackageURL) error
- func (p *LocalProvider) ArtifactUpload(artifactCachePath string, sourceArtifactPurl *packageurl.PackageURL, ...) error
- func (p *LocalProvider) Close()
- func (p *LocalProvider) IsAuthenticatedProvider() bool
- func (p *LocalProvider) IsSupportedArtifactType(actionType string, artifactType string) bool
- func (p *LocalProvider) ValidateAuth() error
Constants ¶
View Source
const ( ActionDownload = "ActionDownload" ActionSearch = "ActionSearch" ActionSetMetadata = "ActionSetMetadata" ActionUpload = "ActionUpload" )
View Source
const ( ProviderTypeDocker = "docker" ProviderTypeGithub = "github" // special provider type for storing files locally. ProviderTypeLocal = "local" )
Additional provider types should be added, matching those from this list: https://github.com/package-url/purl-spec/blob/master/PURL-TYPES.rst
Variables ¶
View Source
var ( // DefaultGithubProviderConfig can be used if you don't want to think about options. DefaultGithubProviderConfig = &GithubProviderConfig{ Host: "", UseSSL: true, } )
Functions ¶
func NewLocalPackageUrl ¶
func NewLocalPackageUrl(localPath string) *packageurl.PackageURL
Types ¶
type BaseProvider ¶
type BaseProvider struct{}
type ConfigInterface ¶
type ConfigInterface interface {
Get(key string) interface{}
GetString(key string) string
GetBool(key string) bool
GetInt(key string) int
GetInt32(key string) int32
GetInt64(key string) int64
GetUint(key string) uint
GetUint32(key string) uint32
GetUint64(key string) uint64
GetFloat64(key string) float64
GetStringMap(key string) map[string]interface{}
GetStringMapString(key string) map[string]string
GetStringMapStringSlice(key string) map[string][]string
GetSizeInBytes(key string) uint
UnmarshalKey(key string, rawVal interface{}, opts ...viper.DecoderConfigOption) error
Unmarshal(rawVal interface{}, opts ...viper.DecoderConfigOption) error
Set(key string, value interface{})
SetDefault(key string, value interface{})
MergeConfig(in io.Reader) error
AllKeys() []string
}
Create mock using: mockgen -source=pkg/provider/interface.go -destination=pkg/provider/mock/mock_config.go
type GithubProvider ¶
type GithubProvider struct {
*BaseProvider
Name string
Client *github.Client
Config *GithubProviderConfig
}
func DefaultGithubProvider ¶
func DefaultGithubProvider() (*GithubProvider, error)
func NewGithubProvider ¶
func NewGithubProvider(providerName string, cfg *GithubProviderConfig) (*GithubProvider, error)
func (*GithubProvider) ArtifactDownload ¶
func (p *GithubProvider) ArtifactDownload(downloadFolderPath string, artifactPurl *packageurl.PackageURL) ([]string, []*packageurl.PackageURL, error)
func (*GithubProvider) ArtifactSearch ¶
func (p *GithubProvider) ArtifactSearch(artifactPurl *packageurl.PackageURL) ([]*models.QueryResult, error)
func (*GithubProvider) ArtifactSetMetadata ¶
func (p *GithubProvider) ArtifactSetMetadata(metadata map[string]string, destArtifactPurl *packageurl.PackageURL) error
func (*GithubProvider) ArtifactUpload ¶
func (p *GithubProvider) ArtifactUpload(artifactCachePath string, sourceArtifactPurl *packageurl.PackageURL, destArtifactPurl *packageurl.PackageURL) error
func (*GithubProvider) Close ¶
func (p *GithubProvider) Close()
func (*GithubProvider) IsAuthenticatedProvider ¶
func (p *GithubProvider) IsAuthenticatedProvider() bool
func (*GithubProvider) IsSupportedArtifactType ¶
func (p *GithubProvider) IsSupportedArtifactType(actionType string, artifactType string) bool
func (*GithubProvider) ValidateAuth ¶
func (p *GithubProvider) ValidateAuth() error
type GithubProviderConfig ¶
type GithubProviderConfig struct {
Host string `mapstructure:"hostname"`
Password string `mapstructure:"password"`
Port string `mapstructure:"port"`
Token string `mapstructure:"token"`
UseSSL bool `mapstructure:"use_ssl"`
Username string `mapstructure:"username"`
// contains filtered or unexported fields
}
type Interface ¶
type Interface interface {
ValidateAuth() error
Close()
IsAuthenticatedProvider() bool
IsSupportedArtifactType(actionType string, artifactType string) bool
//given a single purl, may return multiple purl's (one for each sub artifact)
ArtifactSearch(artifactPurl *packageurl.PackageURL) ([]*models.QueryResult, error)
ArtifactUpload(cachePath string, sourceArtifactPurl *packageurl.PackageURL, destArtifactPurl *packageurl.PackageURL) error
ArtifactDownload(basePath string, artifactPurl *packageurl.PackageURL) ([]string, []*packageurl.PackageURL, error)
ArtifactSetMetadata(metadata map[string]string, destArtifactPurl *packageurl.PackageURL) error
}
func CreateDefault ¶
type LocalProvider ¶
type LocalProvider struct {
*BaseProvider
Name string
}
func DefaultLocalProvider ¶
func DefaultLocalProvider() (*LocalProvider, error)
func NewLocalProvider ¶
func NewLocalProvider(providerName string) (*LocalProvider, error)
func (*LocalProvider) ArtifactDownload ¶
func (p *LocalProvider) ArtifactDownload(downloadFolderPath string, artifactPurl *packageurl.PackageURL) ([]string, []*packageurl.PackageURL, error)
func (*LocalProvider) ArtifactSearch ¶
func (p *LocalProvider) ArtifactSearch(artifactPurl *packageurl.PackageURL) ([]*models.QueryResult, error)
func (*LocalProvider) ArtifactSetMetadata ¶
func (p *LocalProvider) ArtifactSetMetadata(metadata map[string]string, destArtifactPurl *packageurl.PackageURL) error
func (*LocalProvider) ArtifactUpload ¶
func (p *LocalProvider) ArtifactUpload(artifactCachePath string, sourceArtifactPurl *packageurl.PackageURL, destArtifactPurl *packageurl.PackageURL) error
func (*LocalProvider) Close ¶
func (p *LocalProvider) Close()
func (*LocalProvider) IsAuthenticatedProvider ¶
func (p *LocalProvider) IsAuthenticatedProvider() bool
func (*LocalProvider) IsSupportedArtifactType ¶
func (p *LocalProvider) IsSupportedArtifactType(actionType string, artifactType string) bool
func (*LocalProvider) ValidateAuth ¶
func (p *LocalProvider) ValidateAuth() error
Click to show internal directories.
Click to hide internal directories.