forked from LaconicNetwork/kompose
update vendor with openshift
This commit is contained in:
+55
@@ -0,0 +1,55 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"github.com/fsouza/go-dockerclient"
|
||||
|
||||
kapi "k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/conversion"
|
||||
)
|
||||
|
||||
func init() {
|
||||
err := kapi.Scheme.AddConversionFuncs(
|
||||
// Convert docker client object to internal object
|
||||
func(in *docker.Image, out *DockerImage, s conversion.Scope) error {
|
||||
if err := s.Convert(&in.Config, &out.Config, conversion.AllowDifferentFieldTypeNames); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := s.Convert(&in.ContainerConfig, &out.ContainerConfig, conversion.AllowDifferentFieldTypeNames); err != nil {
|
||||
return err
|
||||
}
|
||||
out.ID = in.ID
|
||||
out.Parent = in.Parent
|
||||
out.Comment = in.Comment
|
||||
out.Created = unversioned.NewTime(in.Created)
|
||||
out.Container = in.Container
|
||||
out.DockerVersion = in.DockerVersion
|
||||
out.Author = in.Author
|
||||
out.Architecture = in.Architecture
|
||||
out.Size = in.Size
|
||||
return nil
|
||||
},
|
||||
func(in *DockerImage, out *docker.Image, s conversion.Scope) error {
|
||||
if err := s.Convert(&in.Config, &out.Config, conversion.AllowDifferentFieldTypeNames); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := s.Convert(&in.ContainerConfig, &out.ContainerConfig, conversion.AllowDifferentFieldTypeNames); err != nil {
|
||||
return err
|
||||
}
|
||||
out.ID = in.ID
|
||||
out.Parent = in.Parent
|
||||
out.Comment = in.Comment
|
||||
out.Created = in.Created.Time
|
||||
out.Container = in.Container
|
||||
out.DockerVersion = in.DockerVersion
|
||||
out.Author = in.Author
|
||||
out.Architecture = in.Architecture
|
||||
out.Size = in.Size
|
||||
return nil
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
// If one of the conversion functions is malformed, detect it immediately.
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
+942
@@ -0,0 +1,942 @@
|
||||
// +build !ignore_autogenerated_openshift
|
||||
|
||||
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
|
||||
|
||||
package api
|
||||
|
||||
import (
|
||||
api "k8s.io/kubernetes/pkg/api"
|
||||
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
|
||||
conversion "k8s.io/kubernetes/pkg/conversion"
|
||||
)
|
||||
|
||||
func init() {
|
||||
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
|
||||
DeepCopy_api_Descriptor,
|
||||
DeepCopy_api_DockerConfig,
|
||||
DeepCopy_api_DockerConfigHistory,
|
||||
DeepCopy_api_DockerConfigRootFS,
|
||||
DeepCopy_api_DockerFSLayer,
|
||||
DeepCopy_api_DockerHistory,
|
||||
DeepCopy_api_DockerImage,
|
||||
DeepCopy_api_DockerImageConfig,
|
||||
DeepCopy_api_DockerImageManifest,
|
||||
DeepCopy_api_DockerImageReference,
|
||||
DeepCopy_api_DockerV1CompatibilityImage,
|
||||
DeepCopy_api_DockerV1CompatibilityImageSize,
|
||||
DeepCopy_api_Image,
|
||||
DeepCopy_api_ImageImportSpec,
|
||||
DeepCopy_api_ImageImportStatus,
|
||||
DeepCopy_api_ImageLayer,
|
||||
DeepCopy_api_ImageList,
|
||||
DeepCopy_api_ImageSignature,
|
||||
DeepCopy_api_ImageStream,
|
||||
DeepCopy_api_ImageStreamImage,
|
||||
DeepCopy_api_ImageStreamImport,
|
||||
DeepCopy_api_ImageStreamImportSpec,
|
||||
DeepCopy_api_ImageStreamImportStatus,
|
||||
DeepCopy_api_ImageStreamList,
|
||||
DeepCopy_api_ImageStreamMapping,
|
||||
DeepCopy_api_ImageStreamSpec,
|
||||
DeepCopy_api_ImageStreamStatus,
|
||||
DeepCopy_api_ImageStreamTag,
|
||||
DeepCopy_api_ImageStreamTagList,
|
||||
DeepCopy_api_RepositoryImportSpec,
|
||||
DeepCopy_api_RepositoryImportStatus,
|
||||
DeepCopy_api_SignatureCondition,
|
||||
DeepCopy_api_SignatureGenericEntity,
|
||||
DeepCopy_api_SignatureIssuer,
|
||||
DeepCopy_api_SignatureSubject,
|
||||
DeepCopy_api_TagEvent,
|
||||
DeepCopy_api_TagEventCondition,
|
||||
DeepCopy_api_TagEventList,
|
||||
DeepCopy_api_TagImportPolicy,
|
||||
DeepCopy_api_TagReference,
|
||||
); err != nil {
|
||||
// if one of the deep copy functions is malformed, detect it immediately.
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
func DeepCopy_api_Descriptor(in Descriptor, out *Descriptor, c *conversion.Cloner) error {
|
||||
out.MediaType = in.MediaType
|
||||
out.Size = in.Size
|
||||
out.Digest = in.Digest
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_DockerConfig(in DockerConfig, out *DockerConfig, c *conversion.Cloner) error {
|
||||
out.Hostname = in.Hostname
|
||||
out.Domainname = in.Domainname
|
||||
out.User = in.User
|
||||
out.Memory = in.Memory
|
||||
out.MemorySwap = in.MemorySwap
|
||||
out.CPUShares = in.CPUShares
|
||||
out.CPUSet = in.CPUSet
|
||||
out.AttachStdin = in.AttachStdin
|
||||
out.AttachStdout = in.AttachStdout
|
||||
out.AttachStderr = in.AttachStderr
|
||||
if in.PortSpecs != nil {
|
||||
in, out := in.PortSpecs, &out.PortSpecs
|
||||
*out = make([]string, len(in))
|
||||
copy(*out, in)
|
||||
} else {
|
||||
out.PortSpecs = nil
|
||||
}
|
||||
if in.ExposedPorts != nil {
|
||||
in, out := in.ExposedPorts, &out.ExposedPorts
|
||||
*out = make(map[string]struct{})
|
||||
for key, val := range in {
|
||||
if newVal, err := c.DeepCopy(val); err != nil {
|
||||
return err
|
||||
} else {
|
||||
(*out)[key] = newVal.(struct{})
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.ExposedPorts = nil
|
||||
}
|
||||
out.Tty = in.Tty
|
||||
out.OpenStdin = in.OpenStdin
|
||||
out.StdinOnce = in.StdinOnce
|
||||
if in.Env != nil {
|
||||
in, out := in.Env, &out.Env
|
||||
*out = make([]string, len(in))
|
||||
copy(*out, in)
|
||||
} else {
|
||||
out.Env = nil
|
||||
}
|
||||
if in.Cmd != nil {
|
||||
in, out := in.Cmd, &out.Cmd
|
||||
*out = make([]string, len(in))
|
||||
copy(*out, in)
|
||||
} else {
|
||||
out.Cmd = nil
|
||||
}
|
||||
if in.DNS != nil {
|
||||
in, out := in.DNS, &out.DNS
|
||||
*out = make([]string, len(in))
|
||||
copy(*out, in)
|
||||
} else {
|
||||
out.DNS = nil
|
||||
}
|
||||
out.Image = in.Image
|
||||
if in.Volumes != nil {
|
||||
in, out := in.Volumes, &out.Volumes
|
||||
*out = make(map[string]struct{})
|
||||
for key, val := range in {
|
||||
if newVal, err := c.DeepCopy(val); err != nil {
|
||||
return err
|
||||
} else {
|
||||
(*out)[key] = newVal.(struct{})
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Volumes = nil
|
||||
}
|
||||
out.VolumesFrom = in.VolumesFrom
|
||||
out.WorkingDir = in.WorkingDir
|
||||
if in.Entrypoint != nil {
|
||||
in, out := in.Entrypoint, &out.Entrypoint
|
||||
*out = make([]string, len(in))
|
||||
copy(*out, in)
|
||||
} else {
|
||||
out.Entrypoint = nil
|
||||
}
|
||||
out.NetworkDisabled = in.NetworkDisabled
|
||||
if in.SecurityOpts != nil {
|
||||
in, out := in.SecurityOpts, &out.SecurityOpts
|
||||
*out = make([]string, len(in))
|
||||
copy(*out, in)
|
||||
} else {
|
||||
out.SecurityOpts = nil
|
||||
}
|
||||
if in.OnBuild != nil {
|
||||
in, out := in.OnBuild, &out.OnBuild
|
||||
*out = make([]string, len(in))
|
||||
copy(*out, in)
|
||||
} else {
|
||||
out.OnBuild = nil
|
||||
}
|
||||
if in.Labels != nil {
|
||||
in, out := in.Labels, &out.Labels
|
||||
*out = make(map[string]string)
|
||||
for key, val := range in {
|
||||
(*out)[key] = val
|
||||
}
|
||||
} else {
|
||||
out.Labels = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_DockerConfigHistory(in DockerConfigHistory, out *DockerConfigHistory, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_Time(in.Created, &out.Created, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.Author = in.Author
|
||||
out.CreatedBy = in.CreatedBy
|
||||
out.Comment = in.Comment
|
||||
out.EmptyLayer = in.EmptyLayer
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_DockerConfigRootFS(in DockerConfigRootFS, out *DockerConfigRootFS, c *conversion.Cloner) error {
|
||||
out.Type = in.Type
|
||||
if in.DiffIDs != nil {
|
||||
in, out := in.DiffIDs, &out.DiffIDs
|
||||
*out = make([]string, len(in))
|
||||
copy(*out, in)
|
||||
} else {
|
||||
out.DiffIDs = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_DockerFSLayer(in DockerFSLayer, out *DockerFSLayer, c *conversion.Cloner) error {
|
||||
out.DockerBlobSum = in.DockerBlobSum
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_DockerHistory(in DockerHistory, out *DockerHistory, c *conversion.Cloner) error {
|
||||
out.DockerV1Compatibility = in.DockerV1Compatibility
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_DockerImage(in DockerImage, out *DockerImage, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.ID = in.ID
|
||||
out.Parent = in.Parent
|
||||
out.Comment = in.Comment
|
||||
if err := unversioned.DeepCopy_unversioned_Time(in.Created, &out.Created, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.Container = in.Container
|
||||
if err := DeepCopy_api_DockerConfig(in.ContainerConfig, &out.ContainerConfig, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.DockerVersion = in.DockerVersion
|
||||
out.Author = in.Author
|
||||
if in.Config != nil {
|
||||
in, out := in.Config, &out.Config
|
||||
*out = new(DockerConfig)
|
||||
if err := DeepCopy_api_DockerConfig(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.Config = nil
|
||||
}
|
||||
out.Architecture = in.Architecture
|
||||
out.Size = in.Size
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_DockerImageConfig(in DockerImageConfig, out *DockerImageConfig, c *conversion.Cloner) error {
|
||||
out.ID = in.ID
|
||||
out.Parent = in.Parent
|
||||
out.Comment = in.Comment
|
||||
if err := unversioned.DeepCopy_unversioned_Time(in.Created, &out.Created, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.Container = in.Container
|
||||
if err := DeepCopy_api_DockerConfig(in.ContainerConfig, &out.ContainerConfig, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.DockerVersion = in.DockerVersion
|
||||
out.Author = in.Author
|
||||
if in.Config != nil {
|
||||
in, out := in.Config, &out.Config
|
||||
*out = new(DockerConfig)
|
||||
if err := DeepCopy_api_DockerConfig(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.Config = nil
|
||||
}
|
||||
out.Architecture = in.Architecture
|
||||
out.Size = in.Size
|
||||
if in.RootFS != nil {
|
||||
in, out := in.RootFS, &out.RootFS
|
||||
*out = new(DockerConfigRootFS)
|
||||
if err := DeepCopy_api_DockerConfigRootFS(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.RootFS = nil
|
||||
}
|
||||
if in.History != nil {
|
||||
in, out := in.History, &out.History
|
||||
*out = make([]DockerConfigHistory, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_DockerConfigHistory(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.History = nil
|
||||
}
|
||||
out.OSVersion = in.OSVersion
|
||||
if in.OSFeatures != nil {
|
||||
in, out := in.OSFeatures, &out.OSFeatures
|
||||
*out = make([]string, len(in))
|
||||
copy(*out, in)
|
||||
} else {
|
||||
out.OSFeatures = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_DockerImageManifest(in DockerImageManifest, out *DockerImageManifest, c *conversion.Cloner) error {
|
||||
out.SchemaVersion = in.SchemaVersion
|
||||
out.MediaType = in.MediaType
|
||||
out.Name = in.Name
|
||||
out.Tag = in.Tag
|
||||
out.Architecture = in.Architecture
|
||||
if in.FSLayers != nil {
|
||||
in, out := in.FSLayers, &out.FSLayers
|
||||
*out = make([]DockerFSLayer, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_DockerFSLayer(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.FSLayers = nil
|
||||
}
|
||||
if in.History != nil {
|
||||
in, out := in.History, &out.History
|
||||
*out = make([]DockerHistory, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_DockerHistory(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.History = nil
|
||||
}
|
||||
if in.Layers != nil {
|
||||
in, out := in.Layers, &out.Layers
|
||||
*out = make([]Descriptor, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_Descriptor(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Layers = nil
|
||||
}
|
||||
if err := DeepCopy_api_Descriptor(in.Config, &out.Config, c); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_DockerImageReference(in DockerImageReference, out *DockerImageReference, c *conversion.Cloner) error {
|
||||
out.Registry = in.Registry
|
||||
out.Namespace = in.Namespace
|
||||
out.Name = in.Name
|
||||
out.Tag = in.Tag
|
||||
out.ID = in.ID
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_DockerV1CompatibilityImage(in DockerV1CompatibilityImage, out *DockerV1CompatibilityImage, c *conversion.Cloner) error {
|
||||
out.ID = in.ID
|
||||
out.Parent = in.Parent
|
||||
out.Comment = in.Comment
|
||||
if err := unversioned.DeepCopy_unversioned_Time(in.Created, &out.Created, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.Container = in.Container
|
||||
if err := DeepCopy_api_DockerConfig(in.ContainerConfig, &out.ContainerConfig, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.DockerVersion = in.DockerVersion
|
||||
out.Author = in.Author
|
||||
if in.Config != nil {
|
||||
in, out := in.Config, &out.Config
|
||||
*out = new(DockerConfig)
|
||||
if err := DeepCopy_api_DockerConfig(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.Config = nil
|
||||
}
|
||||
out.Architecture = in.Architecture
|
||||
out.Size = in.Size
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_DockerV1CompatibilityImageSize(in DockerV1CompatibilityImageSize, out *DockerV1CompatibilityImageSize, c *conversion.Cloner) error {
|
||||
out.Size = in.Size
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_Image(in Image, out *Image, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.DockerImageReference = in.DockerImageReference
|
||||
if err := DeepCopy_api_DockerImage(in.DockerImageMetadata, &out.DockerImageMetadata, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.DockerImageMetadataVersion = in.DockerImageMetadataVersion
|
||||
out.DockerImageManifest = in.DockerImageManifest
|
||||
if in.DockerImageLayers != nil {
|
||||
in, out := in.DockerImageLayers, &out.DockerImageLayers
|
||||
*out = make([]ImageLayer, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_ImageLayer(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.DockerImageLayers = nil
|
||||
}
|
||||
if in.Signatures != nil {
|
||||
in, out := in.Signatures, &out.Signatures
|
||||
*out = make([]ImageSignature, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_ImageSignature(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Signatures = nil
|
||||
}
|
||||
if in.DockerImageSignatures != nil {
|
||||
in, out := in.DockerImageSignatures, &out.DockerImageSignatures
|
||||
*out = make([][]byte, len(in))
|
||||
for i := range in {
|
||||
if newVal, err := c.DeepCopy(in[i]); err != nil {
|
||||
return err
|
||||
} else {
|
||||
(*out)[i] = newVal.([]byte)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.DockerImageSignatures = nil
|
||||
}
|
||||
out.DockerImageManifestMediaType = in.DockerImageManifestMediaType
|
||||
out.DockerImageConfig = in.DockerImageConfig
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageImportSpec(in ImageImportSpec, out *ImageImportSpec, c *conversion.Cloner) error {
|
||||
if err := api.DeepCopy_api_ObjectReference(in.From, &out.From, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if in.To != nil {
|
||||
in, out := in.To, &out.To
|
||||
*out = new(api.LocalObjectReference)
|
||||
if err := api.DeepCopy_api_LocalObjectReference(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.To = nil
|
||||
}
|
||||
if err := DeepCopy_api_TagImportPolicy(in.ImportPolicy, &out.ImportPolicy, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.IncludeManifest = in.IncludeManifest
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageImportStatus(in ImageImportStatus, out *ImageImportStatus, c *conversion.Cloner) error {
|
||||
out.Tag = in.Tag
|
||||
if err := unversioned.DeepCopy_unversioned_Status(in.Status, &out.Status, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if in.Image != nil {
|
||||
in, out := in.Image, &out.Image
|
||||
*out = new(Image)
|
||||
if err := DeepCopy_api_Image(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.Image = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageLayer(in ImageLayer, out *ImageLayer, c *conversion.Cloner) error {
|
||||
out.Name = in.Name
|
||||
out.LayerSize = in.LayerSize
|
||||
out.MediaType = in.MediaType
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageList(in ImageList, out *ImageList, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := unversioned.DeepCopy_unversioned_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if in.Items != nil {
|
||||
in, out := in.Items, &out.Items
|
||||
*out = make([]Image, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_Image(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Items = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageSignature(in ImageSignature, out *ImageSignature, c *conversion.Cloner) error {
|
||||
out.Type = in.Type
|
||||
if in.Content != nil {
|
||||
in, out := in.Content, &out.Content
|
||||
*out = make([]byte, len(in))
|
||||
copy(*out, in)
|
||||
} else {
|
||||
out.Content = nil
|
||||
}
|
||||
if in.Conditions != nil {
|
||||
in, out := in.Conditions, &out.Conditions
|
||||
*out = make([]SignatureCondition, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_SignatureCondition(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Conditions = nil
|
||||
}
|
||||
out.ImageIdentity = in.ImageIdentity
|
||||
if in.SignedClaims != nil {
|
||||
in, out := in.SignedClaims, &out.SignedClaims
|
||||
*out = make(map[string]string)
|
||||
for key, val := range in {
|
||||
(*out)[key] = val
|
||||
}
|
||||
} else {
|
||||
out.SignedClaims = nil
|
||||
}
|
||||
if in.Created != nil {
|
||||
in, out := in.Created, &out.Created
|
||||
*out = new(unversioned.Time)
|
||||
if err := unversioned.DeepCopy_unversioned_Time(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.Created = nil
|
||||
}
|
||||
if in.IssuedBy != nil {
|
||||
in, out := in.IssuedBy, &out.IssuedBy
|
||||
*out = new(SignatureIssuer)
|
||||
if err := DeepCopy_api_SignatureIssuer(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.IssuedBy = nil
|
||||
}
|
||||
if in.IssuedTo != nil {
|
||||
in, out := in.IssuedTo, &out.IssuedTo
|
||||
*out = new(SignatureSubject)
|
||||
if err := DeepCopy_api_SignatureSubject(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.IssuedTo = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageStream(in ImageStream, out *ImageStream, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := DeepCopy_api_ImageStreamSpec(in.Spec, &out.Spec, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := DeepCopy_api_ImageStreamStatus(in.Status, &out.Status, c); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageStreamImage(in ImageStreamImage, out *ImageStreamImage, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := DeepCopy_api_Image(in.Image, &out.Image, c); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageStreamImport(in ImageStreamImport, out *ImageStreamImport, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := DeepCopy_api_ImageStreamImportSpec(in.Spec, &out.Spec, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := DeepCopy_api_ImageStreamImportStatus(in.Status, &out.Status, c); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageStreamImportSpec(in ImageStreamImportSpec, out *ImageStreamImportSpec, c *conversion.Cloner) error {
|
||||
out.Import = in.Import
|
||||
if in.Repository != nil {
|
||||
in, out := in.Repository, &out.Repository
|
||||
*out = new(RepositoryImportSpec)
|
||||
if err := DeepCopy_api_RepositoryImportSpec(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.Repository = nil
|
||||
}
|
||||
if in.Images != nil {
|
||||
in, out := in.Images, &out.Images
|
||||
*out = make([]ImageImportSpec, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_ImageImportSpec(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Images = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageStreamImportStatus(in ImageStreamImportStatus, out *ImageStreamImportStatus, c *conversion.Cloner) error {
|
||||
if in.Import != nil {
|
||||
in, out := in.Import, &out.Import
|
||||
*out = new(ImageStream)
|
||||
if err := DeepCopy_api_ImageStream(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.Import = nil
|
||||
}
|
||||
if in.Repository != nil {
|
||||
in, out := in.Repository, &out.Repository
|
||||
*out = new(RepositoryImportStatus)
|
||||
if err := DeepCopy_api_RepositoryImportStatus(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.Repository = nil
|
||||
}
|
||||
if in.Images != nil {
|
||||
in, out := in.Images, &out.Images
|
||||
*out = make([]ImageImportStatus, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_ImageImportStatus(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Images = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageStreamList(in ImageStreamList, out *ImageStreamList, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := unversioned.DeepCopy_unversioned_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if in.Items != nil {
|
||||
in, out := in.Items, &out.Items
|
||||
*out = make([]ImageStream, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_ImageStream(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Items = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageStreamMapping(in ImageStreamMapping, out *ImageStreamMapping, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.DockerImageRepository = in.DockerImageRepository
|
||||
if err := DeepCopy_api_Image(in.Image, &out.Image, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.Tag = in.Tag
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageStreamSpec(in ImageStreamSpec, out *ImageStreamSpec, c *conversion.Cloner) error {
|
||||
out.DockerImageRepository = in.DockerImageRepository
|
||||
if in.Tags != nil {
|
||||
in, out := in.Tags, &out.Tags
|
||||
*out = make(map[string]TagReference)
|
||||
for key, val := range in {
|
||||
newVal := new(TagReference)
|
||||
if err := DeepCopy_api_TagReference(val, newVal, c); err != nil {
|
||||
return err
|
||||
}
|
||||
(*out)[key] = *newVal
|
||||
}
|
||||
} else {
|
||||
out.Tags = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageStreamStatus(in ImageStreamStatus, out *ImageStreamStatus, c *conversion.Cloner) error {
|
||||
out.DockerImageRepository = in.DockerImageRepository
|
||||
if in.Tags != nil {
|
||||
in, out := in.Tags, &out.Tags
|
||||
*out = make(map[string]TagEventList)
|
||||
for key, val := range in {
|
||||
newVal := new(TagEventList)
|
||||
if err := DeepCopy_api_TagEventList(val, newVal, c); err != nil {
|
||||
return err
|
||||
}
|
||||
(*out)[key] = *newVal
|
||||
}
|
||||
} else {
|
||||
out.Tags = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageStreamTag(in ImageStreamTag, out *ImageStreamTag, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if in.Tag != nil {
|
||||
in, out := in.Tag, &out.Tag
|
||||
*out = new(TagReference)
|
||||
if err := DeepCopy_api_TagReference(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.Tag = nil
|
||||
}
|
||||
out.Generation = in.Generation
|
||||
if in.Conditions != nil {
|
||||
in, out := in.Conditions, &out.Conditions
|
||||
*out = make([]TagEventCondition, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_TagEventCondition(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Conditions = nil
|
||||
}
|
||||
if err := DeepCopy_api_Image(in.Image, &out.Image, c); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_ImageStreamTagList(in ImageStreamTagList, out *ImageStreamTagList, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := unversioned.DeepCopy_unversioned_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if in.Items != nil {
|
||||
in, out := in.Items, &out.Items
|
||||
*out = make([]ImageStreamTag, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_ImageStreamTag(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Items = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_RepositoryImportSpec(in RepositoryImportSpec, out *RepositoryImportSpec, c *conversion.Cloner) error {
|
||||
if err := api.DeepCopy_api_ObjectReference(in.From, &out.From, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := DeepCopy_api_TagImportPolicy(in.ImportPolicy, &out.ImportPolicy, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.IncludeManifest = in.IncludeManifest
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_RepositoryImportStatus(in RepositoryImportStatus, out *RepositoryImportStatus, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_Status(in.Status, &out.Status, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if in.Images != nil {
|
||||
in, out := in.Images, &out.Images
|
||||
*out = make([]ImageImportStatus, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_ImageImportStatus(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Images = nil
|
||||
}
|
||||
if in.AdditionalTags != nil {
|
||||
in, out := in.AdditionalTags, &out.AdditionalTags
|
||||
*out = make([]string, len(in))
|
||||
copy(*out, in)
|
||||
} else {
|
||||
out.AdditionalTags = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_SignatureCondition(in SignatureCondition, out *SignatureCondition, c *conversion.Cloner) error {
|
||||
out.Type = in.Type
|
||||
out.Status = in.Status
|
||||
if err := unversioned.DeepCopy_unversioned_Time(in.LastProbeTime, &out.LastProbeTime, c); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := unversioned.DeepCopy_unversioned_Time(in.LastTransitionTime, &out.LastTransitionTime, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.Reason = in.Reason
|
||||
out.Message = in.Message
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_SignatureGenericEntity(in SignatureGenericEntity, out *SignatureGenericEntity, c *conversion.Cloner) error {
|
||||
out.Organization = in.Organization
|
||||
out.CommonName = in.CommonName
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_SignatureIssuer(in SignatureIssuer, out *SignatureIssuer, c *conversion.Cloner) error {
|
||||
if err := DeepCopy_api_SignatureGenericEntity(in.SignatureGenericEntity, &out.SignatureGenericEntity, c); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_SignatureSubject(in SignatureSubject, out *SignatureSubject, c *conversion.Cloner) error {
|
||||
if err := DeepCopy_api_SignatureGenericEntity(in.SignatureGenericEntity, &out.SignatureGenericEntity, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.PublicKeyID = in.PublicKeyID
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_TagEvent(in TagEvent, out *TagEvent, c *conversion.Cloner) error {
|
||||
if err := unversioned.DeepCopy_unversioned_Time(in.Created, &out.Created, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.DockerImageReference = in.DockerImageReference
|
||||
out.Image = in.Image
|
||||
out.Generation = in.Generation
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_TagEventCondition(in TagEventCondition, out *TagEventCondition, c *conversion.Cloner) error {
|
||||
out.Type = in.Type
|
||||
out.Status = in.Status
|
||||
if err := unversioned.DeepCopy_unversioned_Time(in.LastTransitionTime, &out.LastTransitionTime, c); err != nil {
|
||||
return err
|
||||
}
|
||||
out.Reason = in.Reason
|
||||
out.Message = in.Message
|
||||
out.Generation = in.Generation
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_TagEventList(in TagEventList, out *TagEventList, c *conversion.Cloner) error {
|
||||
if in.Items != nil {
|
||||
in, out := in.Items, &out.Items
|
||||
*out = make([]TagEvent, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_TagEvent(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Items = nil
|
||||
}
|
||||
if in.Conditions != nil {
|
||||
in, out := in.Conditions, &out.Conditions
|
||||
*out = make([]TagEventCondition, len(in))
|
||||
for i := range in {
|
||||
if err := DeepCopy_api_TagEventCondition(in[i], &(*out)[i], c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out.Conditions = nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_TagImportPolicy(in TagImportPolicy, out *TagImportPolicy, c *conversion.Cloner) error {
|
||||
out.Insecure = in.Insecure
|
||||
out.Scheduled = in.Scheduled
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeepCopy_api_TagReference(in TagReference, out *TagReference, c *conversion.Cloner) error {
|
||||
out.Name = in.Name
|
||||
if in.Annotations != nil {
|
||||
in, out := in.Annotations, &out.Annotations
|
||||
*out = make(map[string]string)
|
||||
for key, val := range in {
|
||||
(*out)[key] = val
|
||||
}
|
||||
} else {
|
||||
out.Annotations = nil
|
||||
}
|
||||
if in.From != nil {
|
||||
in, out := in.From, &out.From
|
||||
*out = new(api.ObjectReference)
|
||||
if err := api.DeepCopy_api_ObjectReference(*in, *out, c); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
out.From = nil
|
||||
}
|
||||
out.Reference = in.Reference
|
||||
if in.Generation != nil {
|
||||
in, out := in.Generation, &out.Generation
|
||||
*out = new(int64)
|
||||
**out = *in
|
||||
} else {
|
||||
out.Generation = nil
|
||||
}
|
||||
if err := DeepCopy_api_TagImportPolicy(in.ImportPolicy, &out.ImportPolicy, c); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
+157
@@ -0,0 +1,157 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
)
|
||||
|
||||
// DockerImage is the type representing a docker image and its various properties when
|
||||
// retrieved from the Docker client API.
|
||||
type DockerImage struct {
|
||||
unversioned.TypeMeta `json:",inline"`
|
||||
|
||||
ID string `json:"Id"`
|
||||
Parent string `json:"Parent,omitempty"`
|
||||
Comment string `json:"Comment,omitempty"`
|
||||
Created unversioned.Time `json:"Created,omitempty"`
|
||||
Container string `json:"Container,omitempty"`
|
||||
ContainerConfig DockerConfig `json:"ContainerConfig,omitempty"`
|
||||
DockerVersion string `json:"DockerVersion,omitempty"`
|
||||
Author string `json:"Author,omitempty"`
|
||||
Config *DockerConfig `json:"Config,omitempty"`
|
||||
Architecture string `json:"Architecture,omitempty"`
|
||||
Size int64 `json:"Size,omitempty"`
|
||||
}
|
||||
|
||||
// DockerConfig is the list of configuration options used when creating a container.
|
||||
type DockerConfig struct {
|
||||
Hostname string `json:"Hostname,omitempty"`
|
||||
Domainname string `json:"Domainname,omitempty"`
|
||||
User string `json:"User,omitempty"`
|
||||
Memory int64 `json:"Memory,omitempty"`
|
||||
MemorySwap int64 `json:"MemorySwap,omitempty"`
|
||||
CPUShares int64 `json:"CpuShares,omitempty"`
|
||||
CPUSet string `json:"Cpuset,omitempty"`
|
||||
AttachStdin bool `json:"AttachStdin,omitempty"`
|
||||
AttachStdout bool `json:"AttachStdout,omitempty"`
|
||||
AttachStderr bool `json:"AttachStderr,omitempty"`
|
||||
PortSpecs []string `json:"PortSpecs,omitempty"`
|
||||
ExposedPorts map[string]struct{} `json:"ExposedPorts,omitempty"`
|
||||
Tty bool `json:"Tty,omitempty"`
|
||||
OpenStdin bool `json:"OpenStdin,omitempty"`
|
||||
StdinOnce bool `json:"StdinOnce,omitempty"`
|
||||
Env []string `json:"Env,omitempty"`
|
||||
Cmd []string `json:"Cmd,omitempty"`
|
||||
DNS []string `json:"Dns,omitempty"` // For Docker API v1.9 and below only
|
||||
Image string `json:"Image,omitempty"`
|
||||
Volumes map[string]struct{} `json:"Volumes,omitempty"`
|
||||
VolumesFrom string `json:"VolumesFrom,omitempty"`
|
||||
WorkingDir string `json:"WorkingDir,omitempty"`
|
||||
Entrypoint []string `json:"Entrypoint,omitempty"`
|
||||
NetworkDisabled bool `json:"NetworkDisabled,omitempty"`
|
||||
SecurityOpts []string `json:"SecurityOpts,omitempty"`
|
||||
OnBuild []string `json:"OnBuild,omitempty"`
|
||||
Labels map[string]string `json:"Labels,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 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"`
|
||||
}
|
||||
|
||||
// DockerImageManifest represents the Docker v2 image format.
|
||||
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"`
|
||||
}
|
||||
|
||||
// DockerFSLayer is a container struct for BlobSums defined in an image manifest
|
||||
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"`
|
||||
}
|
||||
|
||||
// DockerHistory stores unstructured v1 compatibility information
|
||||
type DockerHistory struct {
|
||||
// DockerV1Compatibility is the raw v1 compatibility information
|
||||
DockerV1Compatibility string `json:"v1Compatibility"`
|
||||
}
|
||||
|
||||
// DockerV1CompatibilityImage represents the structured v1
|
||||
// compatibility information.
|
||||
type DockerV1CompatibilityImage struct {
|
||||
ID string `json:"id"`
|
||||
Parent string `json:"parent,omitempty"`
|
||||
Comment string `json:"comment,omitempty"`
|
||||
Created unversioned.Time `json:"created"`
|
||||
Container string `json:"container,omitempty"`
|
||||
ContainerConfig DockerConfig `json:"container_config,omitempty"`
|
||||
DockerVersion string `json:"docker_version,omitempty"`
|
||||
Author string `json:"author,omitempty"`
|
||||
Config *DockerConfig `json:"config,omitempty"`
|
||||
Architecture string `json:"architecture,omitempty"`
|
||||
Size int64 `json:"size,omitempty"`
|
||||
}
|
||||
|
||||
// DockerV1CompatibilityImageSize represents the structured v1
|
||||
// compatibility information for size
|
||||
type DockerV1CompatibilityImageSize struct {
|
||||
Size int64 `json:"size,omitempty"`
|
||||
}
|
||||
|
||||
// DockerImageConfig stores the image configuration
|
||||
type DockerImageConfig struct {
|
||||
ID string `json:"id"`
|
||||
Parent string `json:"parent,omitempty"`
|
||||
Comment string `json:"comment,omitempty"`
|
||||
Created unversioned.Time `json:"created"`
|
||||
Container string `json:"container,omitempty"`
|
||||
ContainerConfig DockerConfig `json:"container_config,omitempty"`
|
||||
DockerVersion string `json:"docker_version,omitempty"`
|
||||
Author string `json:"author,omitempty"`
|
||||
Config *DockerConfig `json:"config,omitempty"`
|
||||
Architecture string `json:"architecture,omitempty"`
|
||||
Size int64 `json:"size,omitempty"`
|
||||
RootFS *DockerConfigRootFS `json:"rootfs,omitempty"`
|
||||
History []DockerConfigHistory `json:"history,omitempty"`
|
||||
OSVersion string `json:"os.version,omitempty"`
|
||||
OSFeatures []string `json:"os.features,omitempty"`
|
||||
}
|
||||
|
||||
// DockerConfigHistory stores build commands that were used to create an image
|
||||
type DockerConfigHistory struct {
|
||||
Created unversioned.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"`
|
||||
}
|
||||
|
||||
// DockerConfigRootFS describes images root filesystem
|
||||
type DockerConfigRootFS struct {
|
||||
Type string `json:"type"`
|
||||
DiffIDs []string `json:"diff_ids,omitempty"`
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package api
|
||||
|
||||
import "k8s.io/kubernetes/pkg/fields"
|
||||
|
||||
// ImageToSelectableFields returns a label set that represents the object.
|
||||
func ImageToSelectableFields(image *Image) fields.Set {
|
||||
return fields.Set{
|
||||
"metadata.name": image.Name,
|
||||
"metadata.namespace": image.Namespace,
|
||||
}
|
||||
}
|
||||
|
||||
// ImageStreamToSelectableFields returns a label set that represents the object.
|
||||
func ImageStreamToSelectableFields(ir *ImageStream) fields.Set {
|
||||
return fields.Set{
|
||||
"metadata.name": ir.Name,
|
||||
"metadata.namespace": ir.Namespace,
|
||||
"spec.dockerImageRepository": ir.Spec.DockerImageRepository,
|
||||
"status.dockerImageRepository": ir.Status.DockerImageRepository,
|
||||
}
|
||||
}
|
||||
+1005
File diff suppressed because it is too large
Load Diff
+53
@@ -0,0 +1,53 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
)
|
||||
|
||||
const GroupName = ""
|
||||
|
||||
// SchemeGroupVersion is group version used to register these objects
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
|
||||
|
||||
// Kind takes an unqualified kind and returns back a Group qualified GroupKind
|
||||
func Kind(kind string) unversioned.GroupKind {
|
||||
return SchemeGroupVersion.WithKind(kind).GroupKind()
|
||||
}
|
||||
|
||||
// Resource takes an unqualified resource and returns back a Group qualified GroupResource
|
||||
func Resource(resource string) unversioned.GroupResource {
|
||||
return SchemeGroupVersion.WithResource(resource).GroupResource()
|
||||
}
|
||||
|
||||
func AddToScheme(scheme *runtime.Scheme) {
|
||||
// Add the API to Scheme.
|
||||
addKnownTypes(scheme)
|
||||
}
|
||||
|
||||
// Adds the list of known types to api.Scheme.
|
||||
func addKnownTypes(scheme *runtime.Scheme) {
|
||||
scheme.AddKnownTypes(SchemeGroupVersion,
|
||||
&Image{},
|
||||
&ImageList{},
|
||||
&DockerImage{},
|
||||
&ImageStream{},
|
||||
&ImageStreamList{},
|
||||
&ImageStreamMapping{},
|
||||
&ImageStreamTag{},
|
||||
&ImageStreamTagList{},
|
||||
&ImageStreamImage{},
|
||||
&ImageStreamImport{},
|
||||
)
|
||||
}
|
||||
|
||||
func (obj *Image) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *ImageList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *DockerImage) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *ImageStream) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *ImageStreamList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *ImageStreamMapping) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *ImageStreamTag) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *ImageStreamTagList) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *ImageStreamImage) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
func (obj *ImageStreamImport) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"sort"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
)
|
||||
|
||||
type tag struct {
|
||||
Name string
|
||||
Created unversioned.Time
|
||||
}
|
||||
|
||||
type byCreationTimestamp []tag
|
||||
|
||||
func (t byCreationTimestamp) Len() int {
|
||||
return len(t)
|
||||
}
|
||||
|
||||
func (t byCreationTimestamp) Less(i, j int) bool {
|
||||
return t[i].Created.Time.After(t[j].Created.Time)
|
||||
}
|
||||
|
||||
func (t byCreationTimestamp) Swap(i, j int) {
|
||||
t[i], t[j] = t[j], t[i]
|
||||
}
|
||||
|
||||
// SortStatusTags sorts the status tags of an image stream based on
|
||||
// the latest created
|
||||
func SortStatusTags(tags map[string]TagEventList) []string {
|
||||
tagSlice := make([]tag, len(tags))
|
||||
index := 0
|
||||
for tag, list := range tags {
|
||||
tagSlice[index].Name = tag
|
||||
if len(list.Items) > 0 {
|
||||
tagSlice[index].Created = list.Items[0].Created
|
||||
}
|
||||
index++
|
||||
}
|
||||
|
||||
sort.Sort(byCreationTimestamp(tagSlice))
|
||||
|
||||
actual := make([]string, len(tagSlice))
|
||||
for i, tag := range tagSlice {
|
||||
actual[i] = tag.Name
|
||||
}
|
||||
|
||||
return actual
|
||||
}
|
||||
+434
@@ -0,0 +1,434 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
kapi "k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
)
|
||||
|
||||
// ImageList is a list of Image objects.
|
||||
type ImageList struct {
|
||||
unversioned.TypeMeta
|
||||
unversioned.ListMeta
|
||||
|
||||
Items []Image
|
||||
}
|
||||
|
||||
const (
|
||||
// ManagedByOpenShiftAnnotation indicates that an image is managed by OpenShift's registry.
|
||||
ManagedByOpenShiftAnnotation = "openshift.io/image.managed"
|
||||
|
||||
// DockerImageRepositoryCheckAnnotation indicates that OpenShift has
|
||||
// attempted to import tag and image information from an external Docker
|
||||
// image repository.
|
||||
DockerImageRepositoryCheckAnnotation = "openshift.io/image.dockerRepositoryCheck"
|
||||
|
||||
// InsecureRepositoryAnnotation may be set true on an image stream to allow insecure access to pull content.
|
||||
InsecureRepositoryAnnotation = "openshift.io/image.insecureRepository"
|
||||
|
||||
// ExcludeImageSecretAnnotation indicates that a secret should not be returned by imagestream/secrets.
|
||||
ExcludeImageSecretAnnotation = "openshift.io/image.excludeSecret"
|
||||
|
||||
// DefaultImageTag is used when an image tag is needed and the configuration does not specify a tag to use.
|
||||
DefaultImageTag = "latest"
|
||||
|
||||
// ResourceImageStreams represents a number of image streams in a project.
|
||||
ResourceImageStreams kapi.ResourceName = "openshift.io/imagestreams"
|
||||
|
||||
// ResourceImageStreamImages represents a number of unique references to images in all image stream
|
||||
// statuses of a project.
|
||||
ResourceImageStreamImages kapi.ResourceName = "openshift.io/images"
|
||||
|
||||
// ResourceImageStreamTags represents a number of unique references to images in all image stream specs
|
||||
// of a project.
|
||||
ResourceImageStreamTags kapi.ResourceName = "openshift.io/image-tags"
|
||||
|
||||
// Limit that applies to images. Used with a max["storage"] LimitRangeItem to set
|
||||
// the maximum size of an image.
|
||||
LimitTypeImage kapi.LimitType = "openshift.io/Image"
|
||||
|
||||
// Limit that applies to image streams. Used with a max[resource] LimitRangeItem to set the maximum number
|
||||
// of resource. Where the resource is one of "openshift.io/images" and "openshift.io/image-tags".
|
||||
LimitTypeImageStream kapi.LimitType = "openshift.io/ImageStream"
|
||||
)
|
||||
|
||||
// +genclient=true
|
||||
|
||||
// Image is an immutable representation of a Docker image and metadata at a point in time.
|
||||
type Image struct {
|
||||
unversioned.TypeMeta
|
||||
kapi.ObjectMeta
|
||||
|
||||
// The string that can be used to pull this image.
|
||||
DockerImageReference string
|
||||
// Metadata about this image
|
||||
DockerImageMetadata DockerImage
|
||||
// This attribute conveys the version of docker metadata the JSON should be stored in, which if empty defaults to "1.0"
|
||||
DockerImageMetadataVersion string
|
||||
// The raw JSON of the manifest
|
||||
DockerImageManifest string
|
||||
// DockerImageLayers represents the layers in the image. May not be set if the image does not define that data.
|
||||
DockerImageLayers []ImageLayer
|
||||
// Signatures holds all signatures of the image.
|
||||
Signatures []ImageSignature
|
||||
// DockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1.
|
||||
DockerImageSignatures [][]byte
|
||||
// DockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2.
|
||||
DockerImageManifestMediaType string
|
||||
// DockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2.
|
||||
DockerImageConfig string
|
||||
}
|
||||
|
||||
// ImageLayer represents a single layer of the image. Some images may have multiple layers. Some may have none.
|
||||
type ImageLayer struct {
|
||||
// Name of the layer as defined by the underlying store.
|
||||
Name string
|
||||
// LayerSize of the layer as defined by the underlying store.
|
||||
LayerSize int64
|
||||
// MediaType of the referenced object.
|
||||
MediaType string
|
||||
}
|
||||
|
||||
const (
|
||||
// The supported type of image signature.
|
||||
ImageSignatureTypeAtomicImageV1 string = "AtomicImageV1"
|
||||
)
|
||||
|
||||
// ImageSignature holds a signature of an image. It allows to verify image identity and possibly other claims
|
||||
// as long as the signature is trusted. Based on this information it is possible to restrict runnable images
|
||||
// to those matching cluster-wide policy.
|
||||
// There are two mandatory fields provided by client: Type and Content. They should be parsed by clients doing
|
||||
// image verification. The others are parsed from signature's content by the server. They serve just an
|
||||
// informative purpose.
|
||||
type ImageSignature struct {
|
||||
// Required: Describes a type of stored blob.
|
||||
Type string
|
||||
// Required: An opaque binary string which is an image's signature.
|
||||
Content []byte
|
||||
// Conditions represent the latest available observations of a signature's current state.
|
||||
Conditions []SignatureCondition
|
||||
|
||||
// Following metadata fields will be set by server if the signature content is successfully parsed and
|
||||
// the information available.
|
||||
|
||||
// A human readable string representing image's identity. It could be a product name and version, or an
|
||||
// image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2").
|
||||
ImageIdentity string
|
||||
// Contains claims from the signature.
|
||||
SignedClaims map[string]string
|
||||
// If specified, it is the time of signature's creation.
|
||||
Created *unversioned.Time
|
||||
// If specified, it holds information about an issuer of signing certificate or key (a person or entity
|
||||
// who signed the signing certificate or key).
|
||||
IssuedBy *SignatureIssuer
|
||||
// If specified, it holds information about a subject of signing certificate or key (a person or entity
|
||||
// who signed the image).
|
||||
IssuedTo *SignatureSubject
|
||||
}
|
||||
|
||||
// These are valid conditions of an image signature.
|
||||
const (
|
||||
// SignatureTrusted means the signing key or certificate was valid and the signature matched the image at
|
||||
// the probe time.
|
||||
SignatureTrusted = "Trusted"
|
||||
// SignatureForImage means the signature matches image object containing it.
|
||||
SignatureForImage = "ForImage"
|
||||
// SignatureExpired means the signature or its signing key or certificate had been expired at the probe
|
||||
// time.
|
||||
SignatureExpired = "Expired"
|
||||
// SignatureRevoked means the signature or its signing key or certificate has been revoked.
|
||||
SignatureRevoked = "Revoked"
|
||||
)
|
||||
|
||||
/// SignatureConditionType is a type of image signature condition.
|
||||
type SignatureConditionType string
|
||||
|
||||
// SignatureCondition describes an image signature condition of particular kind at particular probe time.
|
||||
type SignatureCondition struct {
|
||||
// Type of job condition, Complete or Failed.
|
||||
Type SignatureConditionType
|
||||
// Status of the condition, one of True, False, Unknown.
|
||||
Status kapi.ConditionStatus
|
||||
// Last time the condition was checked.
|
||||
LastProbeTime unversioned.Time
|
||||
// Last time the condition transit from one status to another.
|
||||
LastTransitionTime unversioned.Time
|
||||
// (brief) reason for the condition's last transition.
|
||||
Reason string
|
||||
// Human readable message indicating details about last transition.
|
||||
Message string
|
||||
}
|
||||
|
||||
// SignatureGenericEntity holds a generic information about a person or entity who is an issuer or a subject
|
||||
// of signing certificate or key.
|
||||
type SignatureGenericEntity struct {
|
||||
// Organization name.
|
||||
Organization string
|
||||
// Common name (e.g. openshift-signing-service).
|
||||
CommonName string
|
||||
}
|
||||
|
||||
// SignatureIssuer holds information about an issuer of signing certificate or key.
|
||||
type SignatureIssuer struct {
|
||||
SignatureGenericEntity
|
||||
}
|
||||
|
||||
// SignatureSubject holds information about a person or entity who created the signature.
|
||||
type SignatureSubject struct {
|
||||
SignatureGenericEntity
|
||||
// If present, it is a human readable key id of public key belonging to the subject used to verify image
|
||||
// signature. It should contain at least 64 lowest bits of public key's fingerprint (e.g.
|
||||
// 0x685ebe62bf278440).
|
||||
PublicKeyID string
|
||||
}
|
||||
|
||||
// ImageStreamList is a list of ImageStream objects.
|
||||
type ImageStreamList struct {
|
||||
unversioned.TypeMeta
|
||||
unversioned.ListMeta
|
||||
|
||||
Items []ImageStream
|
||||
}
|
||||
|
||||
// ImageStream stores a mapping of tags to images, metadata overrides that are applied
|
||||
// when images are tagged in a stream, and an optional reference to a Docker image
|
||||
// repository on a registry.
|
||||
type ImageStream struct {
|
||||
unversioned.TypeMeta
|
||||
kapi.ObjectMeta
|
||||
|
||||
// Spec describes the desired state of this stream
|
||||
Spec ImageStreamSpec
|
||||
// Status describes the current state of this stream
|
||||
Status ImageStreamStatus
|
||||
}
|
||||
|
||||
// ImageStreamSpec represents options for ImageStreams.
|
||||
type ImageStreamSpec struct {
|
||||
// Optional, if specified this stream is backed by a Docker repository on this server
|
||||
DockerImageRepository string
|
||||
// Tags map arbitrary string values to specific image locators
|
||||
Tags map[string]TagReference
|
||||
}
|
||||
|
||||
// TagReference specifies optional annotations for images using this tag and an optional reference to
|
||||
// an ImageStreamTag, ImageStreamImage, or DockerImage this tag should track.
|
||||
type TagReference struct {
|
||||
// Name of the tag
|
||||
Name string
|
||||
// Optional; if specified, annotations that are applied to images retrieved via ImageStreamTags.
|
||||
Annotations map[string]string
|
||||
// Optional; if specified, a reference to another image that this tag should point to. Valid values
|
||||
// are ImageStreamTag, ImageStreamImage, and DockerImage.
|
||||
From *kapi.ObjectReference
|
||||
// Reference states if the tag will be imported. Default value is false, which means the tag will
|
||||
// be imported.
|
||||
Reference bool
|
||||
// Generation is a counter that tracks mutations to the spec tag (user intent). When a tag reference
|
||||
// is changed the generation is set to match the current stream generation (which is incremented every
|
||||
// time spec is changed). Other processes in the system like the image importer observe that the
|
||||
// generation of spec tag is newer than the generation recorded in the status and use that as a trigger
|
||||
// to import the newest remote tag. To trigger a new import, clients may set this value to zero which
|
||||
// will reset the generation to the latest stream generation. Legacy clients will send this value as
|
||||
// nil which will be merged with the current tag generation.
|
||||
Generation *int64
|
||||
// ImportPolicy is information that controls how images may be imported by the server.
|
||||
ImportPolicy TagImportPolicy
|
||||
}
|
||||
|
||||
type TagImportPolicy struct {
|
||||
// Insecure is true if the server may bypass certificate verification or connect directly over HTTP during image import.
|
||||
Insecure bool
|
||||
// Scheduled indicates to the server that this tag should be periodically checked to ensure it is up to date, and imported
|
||||
Scheduled bool
|
||||
}
|
||||
|
||||
// ImageStreamStatus contains information about the state of this image stream.
|
||||
type ImageStreamStatus struct {
|
||||
// DockerImageRepository represents the effective location this stream may be accessed at. May be empty until the server
|
||||
// determines where the repository is located
|
||||
DockerImageRepository string
|
||||
// A historical record of images associated with each tag. The first entry in the TagEvent array is
|
||||
// the currently tagged image.
|
||||
Tags map[string]TagEventList
|
||||
}
|
||||
|
||||
// TagEventList contains a historical record of images associated with a tag.
|
||||
type TagEventList struct {
|
||||
Items []TagEvent
|
||||
// Conditions is an array of conditions that apply to the tag event list.
|
||||
Conditions []TagEventCondition
|
||||
}
|
||||
|
||||
// TagEvent is used by ImageRepositoryStatus to keep a historical record of images associated with a tag.
|
||||
type TagEvent struct {
|
||||
// When the TagEvent was created
|
||||
Created unversioned.Time
|
||||
// The string that can be used to pull this image
|
||||
DockerImageReference string
|
||||
// The image
|
||||
Image string
|
||||
// Generation is the spec tag generation that resulted in this tag being updated
|
||||
Generation int64
|
||||
}
|
||||
|
||||
type TagEventConditionType string
|
||||
|
||||
// These are valid conditions of TagEvents.
|
||||
const (
|
||||
// ImportSuccess with status False means the import of the specific tag failed
|
||||
ImportSuccess TagEventConditionType = "ImportSuccess"
|
||||
)
|
||||
|
||||
// TagEventCondition contains condition information for a tag event.
|
||||
type TagEventCondition struct {
|
||||
// Type of tag event condition, currently only ImportSuccess
|
||||
Type TagEventConditionType
|
||||
// Status of the condition, one of True, False, Unknown.
|
||||
Status kapi.ConditionStatus
|
||||
// LastTransitionTIme is the time the condition transitioned from one status to another.
|
||||
LastTransitionTime unversioned.Time
|
||||
// Reason is a brief machine readable explanation for the condition's last transition.
|
||||
Reason string
|
||||
// Message is a human readable description of the details about last transition, complementing reason.
|
||||
Message string
|
||||
// Generation is the spec tag generation that this status corresponds to. If this value is
|
||||
// older than the spec tag generation, the user has requested this status tag be updated.
|
||||
// This value is set to zero for older versions of streams, which means that no generation
|
||||
// was recorded.
|
||||
Generation int64
|
||||
}
|
||||
|
||||
// ImageStreamMapping represents a mapping from a single tag to a Docker image as
|
||||
// well as the reference to the Docker image repository the image came from.
|
||||
type ImageStreamMapping struct {
|
||||
unversioned.TypeMeta
|
||||
kapi.ObjectMeta
|
||||
|
||||
// The Docker image repository the specified image is located in
|
||||
// DEPRECATED: remove once v1beta1 support is dropped
|
||||
DockerImageRepository string
|
||||
// A Docker image.
|
||||
Image Image
|
||||
// A string value this image can be located with inside the repository.
|
||||
Tag string
|
||||
}
|
||||
|
||||
// ImageStreamTag has a .Name in the format <stream name>:<tag>.
|
||||
type ImageStreamTag struct {
|
||||
unversioned.TypeMeta
|
||||
kapi.ObjectMeta
|
||||
|
||||
// Tag is the spec tag associated with this image stream tag, and it may be null
|
||||
// if only pushes have occurred to this image stream.
|
||||
Tag *TagReference
|
||||
|
||||
// Generation is the current generation of the tagged image - if tag is provided
|
||||
// and this value is not equal to the tag generation, a user has requested an
|
||||
// import that has not completed, or Conditions will be filled out indicating any
|
||||
// error.
|
||||
Generation int64
|
||||
|
||||
// Conditions is an array of conditions that apply to the image stream tag.
|
||||
Conditions []TagEventCondition
|
||||
|
||||
// The Image associated with the ImageStream and tag.
|
||||
Image Image
|
||||
}
|
||||
|
||||
// ImageStreamTagList is a list of ImageStreamTag objects.
|
||||
type ImageStreamTagList struct {
|
||||
unversioned.TypeMeta
|
||||
unversioned.ListMeta
|
||||
|
||||
Items []ImageStreamTag
|
||||
}
|
||||
|
||||
// ImageStreamImage represents an Image that is retrieved by image name from an ImageStream.
|
||||
type ImageStreamImage struct {
|
||||
unversioned.TypeMeta
|
||||
kapi.ObjectMeta
|
||||
|
||||
// The Image associated with the ImageStream and image name.
|
||||
Image Image
|
||||
}
|
||||
|
||||
// DockerImageReference points to a Docker image.
|
||||
type DockerImageReference struct {
|
||||
Registry string
|
||||
Namespace string
|
||||
Name string
|
||||
Tag string
|
||||
ID string
|
||||
}
|
||||
|
||||
// ImageStreamImport allows a caller to request information about a set of images for possible
|
||||
// import into an image stream, or actually tag the images into the image stream.
|
||||
type ImageStreamImport struct {
|
||||
unversioned.TypeMeta
|
||||
// ObjectMeta must identify the name of the image stream to create or update. If resourceVersion
|
||||
// or UID are set, they must match the image stream that will be loaded from the server.
|
||||
kapi.ObjectMeta
|
||||
|
||||
// Spec is the set of items desired to be imported
|
||||
Spec ImageStreamImportSpec
|
||||
// Status is the result of the import
|
||||
Status ImageStreamImportStatus
|
||||
}
|
||||
|
||||
// ImageStreamImportSpec defines what images should be imported.
|
||||
type ImageStreamImportSpec struct {
|
||||
// Import indicates whether to perform an import - if so, the specified tags are set on the spec
|
||||
// and status of the image stream defined by the type meta.
|
||||
Import bool
|
||||
// Repository is an optional import of an entire Docker image repository. A maximum limit on the
|
||||
// number of tags imported this way is imposed by the server.
|
||||
Repository *RepositoryImportSpec
|
||||
// Images are a list of individual images to import.
|
||||
Images []ImageImportSpec
|
||||
}
|
||||
|
||||
// ImageStreamImportStatus contains information about the status of an image stream import.
|
||||
type ImageStreamImportStatus struct {
|
||||
// Import is the image stream that was successfully updated or created when 'to' was set.
|
||||
Import *ImageStream
|
||||
// Repository is set if spec.repository was set to the outcome of the import
|
||||
Repository *RepositoryImportStatus
|
||||
// Images is set with the result of importing spec.images
|
||||
Images []ImageImportStatus
|
||||
}
|
||||
|
||||
// RepositoryImport indicates to load a set of tags from a given Docker image repository
|
||||
type RepositoryImportSpec struct {
|
||||
// The source of the import, only kind DockerImage is supported
|
||||
From kapi.ObjectReference
|
||||
|
||||
ImportPolicy TagImportPolicy
|
||||
IncludeManifest bool
|
||||
}
|
||||
|
||||
// RepositoryImportStatus describes the outcome of the repository import
|
||||
type RepositoryImportStatus struct {
|
||||
// Status reflects whether any failure occurred during import
|
||||
Status unversioned.Status
|
||||
// Images is the list of imported images
|
||||
Images []ImageImportStatus
|
||||
// AdditionalTags are tags that exist in the repository but were not imported because
|
||||
// a maximum limit of automatic imports was applied.
|
||||
AdditionalTags []string
|
||||
}
|
||||
|
||||
// ImageImportSpec defines how an image is imported.
|
||||
type ImageImportSpec struct {
|
||||
From kapi.ObjectReference
|
||||
To *kapi.LocalObjectReference
|
||||
|
||||
ImportPolicy TagImportPolicy
|
||||
IncludeManifest bool
|
||||
}
|
||||
|
||||
// ImageImportStatus describes the result of an image import.
|
||||
type ImageImportStatus struct {
|
||||
Tag string
|
||||
Status unversioned.Status
|
||||
Image *Image
|
||||
}
|
||||
Reference in New Issue
Block a user