docker

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2017 License: LGPL-3.0 Imports: 22 Imported by: 10

Documentation

Index

Constants

View Source
const (
	ENV_APP_VERSION                  = "APP_VERSION"
	ENV_AURORA_VERSION               = "AURORA_VERSION"
	ENV_SNAPSHOT_TAG                 = "SNAPSHOT_TAG"
	ENV_PUSH_EXTRA_TAGS              = "PUSH_EXTRA_TAGS"
	ENV_READINESS_CHECK_URL          = "READINESS_CHECK_URL"
	ENV_READINESS_ON_MANAGEMENT_PORT = "READINESS_ON_MANAGEMENT_PORT"
	TZ                               = "TZ"
	IMAGE_BUILD_TIME                 = "IMAGE_BUILD_TIME"
)

Variables

This section is empty.

Functions

func CreateImageNameFromSpecAndTags added in v1.2.0

func CreateImageNameFromSpecAndTags(tags []string, outputRegistry string, outputRepository string) []string

CreateCompleteTagsFromSpecAndTags makes a target image to be used for push. The tag format in docker is somewhat confusing. For a description, see https://docs.docker.com/engine/reference/commandline/tag/ Given format a list of tags consisting of "a", "b" and "c", a registry host:5000 and repository "aurora/test", this function will return: host:5000/aurora/test:a host:5000/aurora/test:b host:5000/aurora/test:c

func CusterRegistryCredentials added in v1.2.0

func CusterRegistryCredentials() func(string) (*RegistryCredentials, error)

func GetDockerConfigPath added in v1.0.1

func GetDockerConfigPath() (string, error)

func GetUtcTimestamp added in v1.3.0

func GetUtcTimestamp() string

func JsonMapToString

func JsonMapToString(jsonStr string, key string) (string, error)

func LocalRegistryCredentials added in v1.2.0

func LocalRegistryCredentials() func(string) (*RegistryCredentials, error)

Types

type Auths added in v1.0.1

type Auths map[string]RegistryEntry

type Credentials added in v1.0.1

type Credentials struct {
	User     string
	Password string
}

type DockerBuildConfig

type DockerBuildConfig struct {
	AuroraVersion    *runtime.AuroraVersion
	DockerRepository string ///TODO: Refactor? We need to have to different for nodejs
	BuildFolder      string
	Baseimage        runtime.DockerImage //We need to pull the newest image...
}

type DockerClient

type DockerClient struct {
	Client DockerClientAPI
}

func NewDockerClient

func NewDockerClient() (*DockerClient, error)

func (*DockerClient) BuildImage

func (d *DockerClient) BuildImage(buildFolder string) (string, error)

func (*DockerClient) PullImage added in v1.2.0

func (d *DockerClient) PullImage(baseimage runtime.DockerImage) error

THIS IS BUGGY!

func (*DockerClient) PushImage

func (d *DockerClient) PushImage(tag string, credentials *RegistryCredentials) error

func (*DockerClient) PushImages

func (d *DockerClient) PushImages(tags []string, credentials *RegistryCredentials) error

func (*DockerClient) TagImage

func (d *DockerClient) TagImage(imageId string, tag string) error

type DockerClientAPI added in v1.0.1

type DockerClientAPI interface {
	ImageBuild(ctx context.Context, context io.Reader, options types.ImageBuildOptions) (types.ImageBuildResponse, error)
	ImagePush(ctx context.Context, ref string, options types.ImagePushOptions) (io.ReadCloser, error)
	ImageTag(ctx context.Context, image string, ref string) error
	ImagePull(ctx context.Context, image string, options types.ImagePullOptions) (io.ReadCloser, error)
}

type DockerClientProxy added in v1.0.1

type DockerClientProxy struct {
	// contains filtered or unexported fields
}

func (DockerClientProxy) ImageBuild added in v1.0.1

func (proxy DockerClientProxy) ImageBuild(ctx context.Context, context io.Reader, options types.ImageBuildOptions) (types.ImageBuildResponse, error)

func (DockerClientProxy) ImagePull added in v1.2.0

func (proxy DockerClientProxy) ImagePull(ctx context.Context, image string, options types.ImagePullOptions) (io.ReadCloser, error)

func (DockerClientProxy) ImagePush added in v1.0.1

func (proxy DockerClientProxy) ImagePush(ctx context.Context, ref string, options types.ImagePushOptions) (io.ReadCloser, error)

func (DockerClientProxy) ImageTag added in v1.0.1

func (proxy DockerClientProxy) ImageTag(ctx context.Context, image string, ref string) error

type DockerConfig added in v1.0.1

type DockerConfig struct {
	Auths       Auths             `json:"auths"`
	HttpHeaders map[string]string `json:"HttpHeaders,omitempty"`
}

func ReadConfig added in v1.0.1

func ReadConfig(reader io.Reader) (*DockerConfig, error)

func (DockerConfig) GetCredentials added in v1.0.1

func (cfg DockerConfig) GetCredentials(address string) (*Credentials, error)

type ImageInfoProvider added in v1.0.0

type ImageInfoProvider interface {
	GetCompleteBaseImageVersion(repository string, tag string) (string, error)
	GetTags(repository string) (*TagsAPIResponse, error)
	GetManifestEnvMap(repository string, tag string) (map[string]string, error)
}

func NewRegistryClient

func NewRegistryClient(address string) ImageInfoProvider

type RegistryClient

type RegistryClient struct {
	// contains filtered or unexported fields
}

func (*RegistryClient) GetCompleteBaseImageVersion added in v1.2.0

func (registry *RegistryClient) GetCompleteBaseImageVersion(repository string, tag string) (string, error)

func (*RegistryClient) GetManifestEnvMap

func (registry *RegistryClient) GetManifestEnvMap(repository string, tag string) (map[string]string, error)

func (*RegistryClient) GetTags

func (registry *RegistryClient) GetTags(repository string) (*TagsAPIResponse, error)

type RegistryCredentials added in v1.0.1

type RegistryCredentials struct {
	Username      string `json:"username,omitempty"`
	Password      string `json:"password,omitempty"`
	Serveraddress string `json:"serveraddress,omitempty"`
}

TODO: Fix context!!!

func (RegistryCredentials) Encode added in v1.0.1

func (rc RegistryCredentials) Encode() (string, error)

type RegistryEntry added in v1.0.1

type RegistryEntry struct {
	Email string `json:"email,omitempty"`
	Auth  string `json:"auth,omitempty"`
}

type TagsAPIResponse added in v1.0.0

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

Jump to

Keyboard shortcuts

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