Files
KubePi/pkg/util/imagerepo/image_repo.go
2021-11-18 17:27:26 +08:00

34 lines
844 B
Go

package imagerepo
import "github.com/KubeOperator/kubepi/pkg/util/imagerepo/repos"
type RepoClient interface {
//Auth() error
ListRepos() ([]string, error)
ListImages(repository string) (images []string, err error)
}
func NewClient(config Config) RepoClient {
switch config.Type {
case "Nexus":
return repos.NewNexusClient(config.EndPoint, config.Credential.Username, config.Credential.Password)
case "Harbor":
return repos.NewHarborClient(config.EndPoint, config.Credential.Username, config.Credential.Password)
case "DockerRegistry":
return repos.NewDockerRegistryClient(config.EndPoint, config.Credential.Username, config.Credential.Password)
}
return nil
}
type Config struct {
Type string
EndPoint string
//DownloadUrl string
Credential Credential
}
type Credential struct {
Username string
Password string
}