Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DockerHubClient ¶
type DockerHubClient interface { ListRepositories(ctx context.Context, repositoryName RepositoryName, ch chan<- DockerHubTagRepository) error ListTags(ctx context.Context, repositoryName RepositoryName, ch chan<- DockerHubTag) error DeleteTag(ctx context.Context, repositoryName RepositoryName, tag TagName) error }
func NewDockerHubClient ¶
func NewDockerHubClient( httpClient HttpClient, registry Registry, ) DockerHubClient
type DockerHubTag ¶
type DockerHubTagRepository ¶
func (DockerHubTagRepository) RepositoryName ¶
func (d DockerHubTagRepository) RepositoryName() RepositoryName
type HttpClient ¶
type HttpClient interface { Do(ctx context.Context, req *http.Request) (*http.Response, error) DoSuccess(ctx context.Context, req *http.Request) (*http.Response, error) DoJSON(ctx context.Context, req *http.Request, data interface{}) error }
func NewHttpClient ¶
func NewHttpClient(client *http.Client) HttpClient
type Manifest ¶
type Manifest struct { SchemaVersion int `json:"schemaVersion"` MediaType string `json:"mediaType"` Config ManifestConfig `json:"config"` Layers []ManifestConfig `json:"layers"` }
type ManifestConfig ¶
type Registry ¶
func (*Registry) RegistryPasswordFromFile ¶
type Repository ¶
type Repository struct { Name RepositoryName Tag TagName }
type RepositoryName ¶
type RepositoryName string
func (RepositoryName) String ¶
func (r RepositoryName) String() string
type RepositoryNamesByName ¶
type RepositoryNamesByName []RepositoryName
func (RepositoryNamesByName) Len ¶
func (t RepositoryNamesByName) Len() int
func (RepositoryNamesByName) Less ¶
func (t RepositoryNamesByName) Less(i, j int) bool
func (RepositoryNamesByName) Swap ¶
func (t RepositoryNamesByName) Swap(i, j int)
type TagsByName ¶
type TagsByName []TagName
func (TagsByName) Len ¶
func (t TagsByName) Len() int
func (TagsByName) Less ¶
func (t TagsByName) Less(i, j int) bool
func (TagsByName) Swap ¶
func (t TagsByName) Swap(i, j int)
type V2Client ¶
type V2Client interface { ListRepositories(ctx context.Context, ch chan<- RepositoryName) error DeleteTag(ctx context.Context, repositoryName RepositoryName, tag TagName) error ExistsTag(ctx context.Context, repositoryName RepositoryName, tag TagName) (bool, error) ListTags(ctx context.Context, repositoryName RepositoryName, ch chan<- TagName) error Sha(ctx context.Context, repositoryName RepositoryName, tag TagName) (string, error) Manifest(ctx context.Context, repositoryName RepositoryName, tag TagName) (*Manifest, error) }
func NewV2Client ¶
func NewV2Client( httpClient HttpClient, registry Registry, ) V2Client
Source Files ¶
Click to show internal directories.
Click to hide internal directories.