diff --git a/pkg/api/v1beta1/types.go b/pkg/api/v1beta1/types.go index b24d35b2b73da..158c220d1602f 100644 --- a/pkg/api/v1beta1/types.go +++ b/pkg/api/v1beta1/types.go @@ -19,7 +19,7 @@ package v1beta1 import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/util" "github.com/GoogleCloudPlatform/kubernetes/pkg/watch" - "github.com/fsouza/go-dockerclient-copiedstructs" + "github.com/GoogleCloudPlatform/kubernetes/third_party/docker-api-structs" ) // Common string formats diff --git a/third_party/docker-api-structs/LICENSE b/third_party/docker-api-structs/LICENSE new file mode 100644 index 0000000000000..7a6d8bb69d9ce --- /dev/null +++ b/third_party/docker-api-structs/LICENSE @@ -0,0 +1,22 @@ +Copyright (c) 2014, go-dockerclient authors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/third_party/docker-api-structs/README.third_party.md b/third_party/docker-api-structs/README.third_party.md new file mode 100644 index 0000000000000..3ba6150eb80fc --- /dev/null +++ b/third_party/docker-api-structs/README.third_party.md @@ -0,0 +1 @@ +This package is a fork of part of [go-dockerclient](https://github.com/fsouza/go-dockerclient). diff --git a/third_party/docker-api-structs/container.go b/third_party/docker-api-structs/container.go new file mode 100644 index 0000000000000..3e45a7547de8a --- /dev/null +++ b/third_party/docker-api-structs/container.go @@ -0,0 +1,104 @@ +// Copyright 2014 go-dockerclient authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package docker + +import ( + "time" +) + +type Container struct { + ID string `yaml:"ID,omitempty" json:"ID,omitempty"` + Created time.Time `yaml:"Created,omitempty" json:"Created,omitempty"` + Path string `yaml:"Path,omitempty" json:"Path,omitempty"` + Args []string `yaml:"Args,omitempty" json:"Args,omitempty"` + Config *Config `yaml:"Config,omitempty" json:"Config,omitempty"` + State State `yaml:"State,omitempty" json:"State,omitempty"` + Image string `yaml:"Image,omitempty" json:"Image,omitempty"` + + NetworkSettings *NetworkSettings `yaml:"NetworkSettings,omitempty" json:"NetworkSettings,omitempty"` + + SysInitPath string `yaml:"SysInitPath,omitempty" json:"SysInitPath,omitempty"` + ResolvConfPath string `yaml:"ResolvConfPath,omitempty" json:"ResolvConfPath,omitempty"` + HostnamePath string `yaml:"HostnamePath,omitempty" json:"HostnamePath,omitempty"` + HostsPath string `yaml:"HostsPath,omitempty" json:"HostsPath,omitempty"` + Name string `yaml:"Name,omitempty" json:"Name,omitempty"` + Driver string `yaml:"Driver,omitempty" json:"Driver,omitempty"` + + Volumes map[string]string `yaml:"Volumes,omitempty" json:"Volumes,omitempty"` + VolumesRW map[string]bool `yaml:"VolumesRW,omitempty" json:"VolumesRW,omitempty"` + HostConfig *HostConfig `yaml:"HostConfig,omitempty" json:"HostConfig,omitempty"` +} + +type Config struct { + Hostname string `yaml:"Hostname,omitempty" json:"Hostname,omitempty"` + Domainname string `yaml:"Domainname,omitempty" json:"Domainname,omitempty"` + User string `yaml:"User,omitempty" json:"User,omitempty"` + Memory int64 `yaml:"Memory,omitempty" json:"Memory,omitempty"` + MemorySwap int64 `yaml:"MemorySwap,omitempty" json:"MemorySwap,omitempty"` + CpuShares int64 `yaml:"CpuShares,omitempty" json:"CpuShares,omitempty"` + AttachStdin bool `yaml:"AttachStdin,omitempty" json:"AttachStdin,omitempty"` + AttachStdout bool `yaml:"AttachStdout,omitempty" json:"AttachStdout,omitempty"` + AttachStderr bool `yaml:"AttachStderr,omitempty" json:"AttachStderr,omitempty"` + PortSpecs []string `yaml:"PortSpecs,omitempty" json:"PortSpecs,omitempty"` + ExposedPorts map[Port]struct{} `yaml:"ExposedPorts,omitempty" json:"ExposedPorts,omitempty"` + Tty bool `yaml:"Tty,omitempty" json:"Tty,omitempty"` + OpenStdin bool `yaml:"OpenStdin,omitempty" json:"OpenStdin,omitempty"` + StdinOnce bool `yaml:"StdinOnce,omitempty" json:"StdinOnce,omitempty"` + Env []string `yaml:"Env,omitempty" json:"Env,omitempty"` + Cmd []string `yaml:"Cmd,omitempty" json:"Cmd,omitempty"` + Dns []string `yaml:"Dns,omitempty" json:"Dns,omitempty"` + Image string `yaml:"Image,omitempty" json:"Image,omitempty"` + Volumes map[string]struct{} `yaml:"Volumes,omitempty" json:"Volumes,omitempty"` + VolumesFrom string `yaml:"VolumesFrom,omitempty" json:"VolumesFrom,omitempty"` + WorkingDir string `yaml:"WorkingDir,omitempty" json:"WorkingDir,omitempty"` + Entrypoint []string `yaml:"Entrypoint,omitempty" json:"Entrypoint,omitempty"` + NetworkDisabled bool `yaml:"NetworkDisabled,omitempty" json:"NetworkDisabled,omitempty"` +} + +type State struct { + Running bool `yaml:"Running,omitempty" json:"Running,omitempty"` + Paused bool `yaml:"Paused,omitempty" json:"Paused,omitempty"` + Pid int `yaml:"Pid,omitempty" json:"Pid,omitempty"` + ExitCode int `yaml:"ExitCode,omitempty" json:"ExitCode,omitempty"` + StartedAt time.Time `yaml:"StartedAt,omitempty" json:"StartedAt,omitempty"` + FinishedAt time.Time `yaml:"FinishedAt,omitempty" json:"FinishedAt,omitempty"` +} + +type PortBinding struct { + HostIp string `yaml:"HostIp,omitempty" json:"HostIp,omitempty"` + HostPort string `yaml:"HostPort,omitempty" json:"HostPort,omitempty"` +} + +type PortMapping map[string]string + +type NetworkSettings struct { + IPAddress string `yaml:"IPAddress,omitempty" json:"IPAddress,omitempty"` + IPPrefixLen int `yaml:"IPPrefixLen,omitempty" json:"IPPrefixLen,omitempty"` + Gateway string `yaml:"Gateway,omitempty" json:"Gateway,omitempty"` + Bridge string `yaml:"Bridge,omitempty" json:"Bridge,omitempty"` + PortMapping map[string]PortMapping `yaml:"PortMapping,omitempty" json:"PortMapping,omitempty"` + Ports map[Port][]PortBinding `yaml:"Ports,omitempty" json:"Ports,omitempty"` +} + +type KeyValuePair struct { + Key string `yaml:"Key,omitempty" json:"Key,omitempty"` + Value string `yaml:"Value,omitempty" json:"Value,omitempty"` +} + +type Port string + +type HostConfig struct { + Binds []string `yaml:"Binds,omitempty" json:"Binds,omitempty"` + ContainerIDFile string `yaml:"ContainerIDFile,omitempty" json:"ContainerIDFile,omitempty"` + LxcConf []KeyValuePair `yaml:"LxcConf,omitempty" json:"LxcConf,omitempty"` + Privileged bool `yaml:"Privileged,omitempty" json:"Privileged,omitempty"` + PortBindings map[Port][]PortBinding `yaml:"PortBindings,omitempty" json:"PortBindings,omitempty"` + Links []string `yaml:"Links,omitempty" json:"Links,omitempty"` + PublishAllPorts bool `yaml:"PublishAllPorts,omitempty" json:"PublishAllPorts,omitempty"` + Dns []string `yaml:"Dns,omitempty" json:"Dns,omitempty"` + DnsSearch []string `yaml:"DnsSearch,omitempty" json:"DnsSearch,omitempty"` + VolumesFrom []string `yaml:"VolumesFrom,omitempty" json:"VolumesFrom,omitempty"` + NetworkMode string `yaml:"NetworkMode,omitempty" json:"NetworkMode,omitempty"` +}