Help us shape the future of Go! Take the 2026 Go Developer Survey

image

package
v0.3.5 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2021 License: Apache-2.0 Imports: 22 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// DefaultServerHostName is the default registry server hostname
	DefaultServerHostName = "registry-1.docker.io"
	// DefaultServer is the default registry server
	DefaultServer = "https://" + DefaultServerHostName
	// DefaultHostname is the default built-in hostname
	DefaultHostname = "docker.io"

	// LegacyDefaultDomain is ...
	LegacyDefaultDomain = "index.docker.io"
	// LegacyV1Server is FQDN of legacy v1 server
	LegacyV1Server = "https://index.docker.io/v1"
	// LegacyV2Server is FQDN of legacy v2 server
	LegacyV2Server = "https://index.docker.io/v2"
)

Variables

View Source
var Logger = log.Log.WithName("image-client")

Functions

This section is empty.

Types

type APIRepositories

type APIRepositories struct {
	Repositories []string `json:"repositories"`
}

API

type APIRepository

type APIRepository struct {
	Name string   `json:"name"`
	Tags []string `json:"tags"`
}

type APIRepositoryList

type APIRepositoryList []APIRepository

func (*APIRepositoryList) AddRepository

func (l *APIRepositoryList) AddRepository(repo APIRepository)

func (APIRepositoryList) GetRepository

func (l APIRepositoryList) GetRepository(name string) *APIRepository

type Image

type Image struct {
	ServerURL string

	Host         string
	Name         string
	FamiliarName string
	Tag          string
	Digest       string

	// username:password string encrypted by base64
	BasicAuth string
	Token     auth.Token

	HttpClient http.Client
}

func NewImage

func NewImage(uri, registryServer, basicAuth string, ca []byte) (*Image, error)

NewImage creates new image client

func (*Image) Catalog

func (r *Image) Catalog() *APIRepositories

Catalog gets repository list

func (*Image) DeleteManifest

func (r *Image) DeleteManifest(manifest *ImageManifest) error

DeleteManifest deletes manifest in the registry

func (*Image) ExistBlob

func (r *Image) ExistBlob() (bool, error)

ExistBlob checks if blob exists. If exist, return true

func (*Image) GetImageNameWithHost

func (r *Image) GetImageNameWithHost() string

func (*Image) GetManifest

func (r *Image) GetManifest() (*ImageManifest, error)

GetManifest gets manifests of image in the registry

func (*Image) GetToken

func (r *Image) GetToken(scope string) (auth.Token, error)

func (*Image) NormalizeNamed

func (r *Image) NormalizeNamed(image string) (reference.Named, error)

NormalizeNamed normalize image for default server

func (*Image) PullBlob

func (r *Image) PullBlob() (io.ReadCloser, int64, error)

func (*Image) PushBlob

func (r *Image) PushBlob(blob []byte, size int64) (string, string, error)

PushBlob pushes blob returns location, uuid, error

func (*Image) PutManifest

func (r *Image) PutManifest(manifest *ImageManifest) error

func (*Image) SetImage

func (r *Image) SetImage(image string) error

SetImage sets image from "[<server>/]<imageName>[:<tag>|@<digest>]" form argument

func (*Image) SetServerURL

func (r *Image) SetServerURL(url string)

SetServerURL sets registry server URL

func (*Image) Tags

func (r *Image) Tags() *APIRepository

type ImageManifest

type ImageManifest struct {
	Digest        string
	ContentLength int64
	Manifest      distribution.Manifest
}

type Manifest

type Manifest struct {
	Digest        string
	ContentLength int64

	// *schema1.Manifest or *schema2.Manifest
	Schema interface{}
}

Jump to

Keyboard shortcuts

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