refactor services to v1beta3

This commit is contained in:
markturansky
2014-10-30 09:29:11 -04:00
parent 5a649f2b93
commit bd7643c033
26 changed files with 466 additions and 340 deletions

View File

@@ -123,36 +123,37 @@ const (
NamespaceAll string = ""
)
// ContainerManifest corresponds to the Container Manifest format, documented at:
// https://developers.google.com/compute/docs/containers/container_vms#container_manifest
// This is used as the representation of Kubernetes workloads.
// DEPRECATED: Exists to allow backwards compatible storage for clients accessing etcd
// directly.
type ContainerManifest struct {
// Required: This must be a supported version string, such as "v1beta1".
Version string `json:"version" yaml:"version"`
// Required: This must be a DNS_SUBDOMAIN.
// TODO: ID on Manifest is deprecated and will be removed in the future.
ID string `json:"id" yaml:"id"`
// TODO: UUID on Manifest is deprecated in the future once we are done
// with the API refactoring. It is required for now to determine the instance
// of a Pod.
UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"`
Volumes []Volume `json:"volumes" yaml:"volumes"`
Containers []Container `json:"containers" yaml:"containers"`
RestartPolicy RestartPolicy `json:"restartPolicy,omitempty" yaml:"restartPolicy,omitempty"`
}
// ContainerManifestList is used to communicate container manifests to kubelet.
// DEPRECATED: Exists to allow backwards compatible storage for clients accessing etcd
// directly.
type ContainerManifestList struct {
TypeMeta `json:",inline" yaml:",inline"`
// ID is the legacy field representing Name
ID string `json:"id,omitempty" yaml:"id,omitempty"`
Items []ContainerManifest `json:"items,omitempty" yaml:"items,omitempty"`
}
//
//// ContainerManifest corresponds to the Container Manifest format, documented at:
//// https://developers.google.com/compute/docs/containers/container_vms#container_manifest
//// This is used as the representation of Kubernetes workloads.
//// DEPRECATED: Exists to allow backwards compatible storage for clients accessing etcd
//// directly.
//type ContainerManifest struct {
// // Required: This must be a supported version string, such as "v1beta1".
// Version string `json:"version" yaml:"version"`
// // Required: This must be a DNS_SUBDOMAIN.
// // TODO: ID on Manifest is deprecated and will be removed in the future.
// ID string `json:"id" yaml:"id"`
// // TODO: UUID on Manifest is deprecated in the future once we are done
// // with the API refactoring. It is required for now to determine the instance
// // of a Pod.
// UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"`
// Volumes []Volume `json:"volumes" yaml:"volumes"`
// Containers []Container `json:"containers" yaml:"containers"`
// RestartPolicy RestartPolicy `json:"restartPolicy,omitempty" yaml:"restartPolicy,omitempty"`
//}
//
//// ContainerManifestList is used to communicate container manifests to kubelet.
//// DEPRECATED: Exists to allow backwards compatible storage for clients accessing etcd
//// directly.
//type ContainerManifestList struct {
// TypeMeta `json:",inline" yaml:",inline"`
// // ID is the legacy field representing Name
// ID string `json:"id,omitempty" yaml:"id,omitempty"`
//
// Items []ContainerManifest `json:"items,omitempty" yaml:"items,omitempty"`
//}
// Volume represents a named volume in a pod that may be accessed by any containers in the pod.
type Volume struct {
@@ -583,10 +584,7 @@ type ReplicationControllerList struct {
}
// ServiceStatus represents the current status of a service
type ServiceStatus struct {
// ProxyPort is assigned by the master. If 0, the proxy will choose an ephemeral port.
ProxyPort int `json:"proxyPort,omitempty" yaml:"proxyPort,omitempty"`
}
type ServiceStatus struct{}
// ServiceSpec describes the attributes that a user creates on a service
type ServiceSpec struct {
@@ -605,6 +603,9 @@ type ServiceSpec struct {
// not be changed by updates.
PortalIP string `json:"portalIP,omitempty" yaml:"portalIP,omitempty"`
// ProxyPort is assigned by the master. If 0, the proxy will choose an ephemeral port.
ProxyPort int `json:"proxyPort,omitempty" yaml:"proxyPort,omitempty"`
// CreateExternalLoadBalancer indicates whether a load balancer should be created for this service.
CreateExternalLoadBalancer bool `json:"createExternalLoadBalancer,omitempty" yaml:"createExternalLoadBalancer,omitempty"`