dockerv1client

package
v0.0.0-...-f8abdcd Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2019 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ImageScheme = runtime.NewScheme()
)

Functions

func Convert_DockerV1CompatibilityImage_to_DockerImageConfig

func Convert_DockerV1CompatibilityImage_to_DockerImageConfig(in *DockerV1CompatibilityImage, out *DockerImageConfig) error

Convert_DockerV1CompatibilityImage_to_DockerImageConfig takes a Docker registry digest (schema 2.1) and converts it to the external API version of Image.

func IsBlobNotFound

func IsBlobNotFound(err error) bool

func IsImageNotFound

func IsImageNotFound(err error) bool

func IsNotFound

func IsNotFound(err error) bool

func IsRegistryNotFound

func IsRegistryNotFound(err error) bool

func IsRepositoryNotFound

func IsRepositoryNotFound(err error) bool

func IsTagNotFound

func IsTagNotFound(err error) bool

func NewImageNotFoundError

func NewImageNotFoundError(repository, image, tag string) error

Types

type Client

type Client interface {
	// Connect to a Docker registry by name. Pass "" for the Docker Hub
	Connect(registry string, allowInsecure bool) (Connection, error)
}

Client includes methods for accessing a Docker registry by name.

func NewClient

func NewClient(dialTimeout time.Duration, allowV2 bool) Client

NewClient returns a client object which allows public access to a Docker registry. enableV2 allows a client to prefer V1 registry API connections. TODO: accept a godockerclient auth config

type Connection

type Connection interface {
	// ImageTags will return a map of the tags for the image by namespace and name.
	// If namespace is not specified, will default to "library" for Docker hub.
	ImageTags(namespace, name string) (map[string]string, error)
	// ImageByID will return the requested image by namespace, name, and ID.
	// If namespace is not specified, will default to "library" for Docker hub.
	ImageByID(namespace, name, id string) (*Image, error)
	// ImageByTag will return the requested image by namespace, name, and tag
	// (if not specified, "latest").
	// If namespace is not specified, will default to "library" for Docker hub.
	ImageByTag(namespace, name, tag string) (*Image, error)
	// ImageManifest will return the raw image manifest and digest by namespace,
	// name, and tag.
	ImageManifest(namespace, name, tag string) (string, []byte, error)
}

Connection allows you to retrieve data from a Docker V1/V2 registry.

type Descriptor

type Descriptor struct {
	// MediaType describe the type of the content. All text based formats are
	// encoded as utf-8.
	MediaType string `json:"mediaType,omitempty"`

	// Size in bytes of content.
	Size int64 `json:"size,omitempty"`

	// Digest uniquely identifies the content. A byte stream can be verified
	// against against this digest.
	Digest string `json:"digest,omitempty"`
}

Descriptor describes targeted content. Used in conjunction with a blob store, a descriptor can be used to fetch, store and target any kind of blob. The struct also describes the wire protocol format. Fields should only be added but never changed.

type DockerConfigHistory

type DockerConfigHistory struct {
	Created    time.Time `json:"created"`
	Author     string    `json:"author,omitempty"`
	CreatedBy  string    `json:"created_by,omitempty"`
	Comment    string    `json:"comment,omitempty"`
	EmptyLayer bool      `json:"empty_layer,omitempty"`
}

DockerConfigHistory stores build commands that were used to create an image

type DockerConfigRootFS

type DockerConfigRootFS struct {
	Type    string   `json:"type"`
	DiffIDs []string `json:"diff_ids,omitempty"`
}

DockerConfigRootFS describes images root filesystem

type DockerFSLayer

type DockerFSLayer struct {
	// DockerBlobSum is the tarsum of the referenced filesystem image layer
	// TODO make this digest.Digest once docker/distribution is in Godeps
	DockerBlobSum string `json:"blobSum"`
}

DockerFSLayer is a container struct for BlobSums defined in an image manifest

type DockerHistory

type DockerHistory struct {
	// DockerV1Compatibility is the raw v1 compatibility information
	DockerV1Compatibility string `json:"v1Compatibility"`
}

DockerHistory stores unstructured v1 compatibility information

type DockerImageConfig

type DockerImageConfig struct {
	ID              string                 `json:"id"`
	Parent          string                 `json:"parent,omitempty"`
	Comment         string                 `json:"comment,omitempty"`
	Created         time.Time              `json:"created"`
	Container       string                 `json:"container,omitempty"`
	ContainerConfig docker10.DockerConfig  `json:"container_config,omitempty"`
	DockerVersion   string                 `json:"docker_version,omitempty"`
	Author          string                 `json:"author,omitempty"`
	Config          *docker10.DockerConfig `json:"config,omitempty"`
	Architecture    string                 `json:"architecture,omitempty"`
	Size            int64                  `json:"size,omitempty"`
	RootFS          *DockerConfigRootFS    `json:"rootfs,omitempty"`
	History         []DockerConfigHistory  `json:"history,omitempty"`
	OS              string                 `json:"os,omitempty"`
	OSVersion       string                 `json:"os.version,omitempty"`
	OSFeatures      []string               `json:"os.features,omitempty"`
}

DockerImageConfig stores the image configuration

type DockerImageManifest

type DockerImageManifest struct {
	SchemaVersion int    `json:"schemaVersion"`
	MediaType     string `json:"mediaType,omitempty"`

	// schema1
	Name         string          `json:"name"`
	Tag          string          `json:"tag"`
	Architecture string          `json:"architecture"`
	FSLayers     []DockerFSLayer `json:"fsLayers"`
	History      []DockerHistory `json:"history"`

	// schema2
	Layers []Descriptor `json:"layers"`
	Config Descriptor   `json:"config"`
}

DockerImageManifest represents the Docker v2 image format.

type DockerV1CompatibilityImage

type DockerV1CompatibilityImage struct {
	ID              string                 `json:"id"`
	Parent          string                 `json:"parent,omitempty"`
	Comment         string                 `json:"comment,omitempty"`
	Created         time.Time              `json:"created"`
	Container       string                 `json:"container,omitempty"`
	ContainerConfig docker10.DockerConfig  `json:"container_config,omitempty"`
	DockerVersion   string                 `json:"docker_version,omitempty"`
	Author          string                 `json:"author,omitempty"`
	Config          *docker10.DockerConfig `json:"config,omitempty"`
	Architecture    string                 `json:"architecture,omitempty"`
	Size            int64                  `json:"size,omitempty"`
}

DockerV1CompatibilityImage represents the structured v1 compatibility information.

type DockerV1CompatibilityImageSize

type DockerV1CompatibilityImageSize struct {
	Size int64 `json:"size,omitempty"`
}

DockerV1CompatibilityImageSize represents the structured v1 compatibility information for size

type Image

type Image struct {
	Image godockerclient.Image

	// Does this registry support pull by ID
	PullByID bool
}

Jump to

Keyboard shortcuts

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