Documentation ¶
Overview ¶
Package v1beta2 is the second version of the stack, containing a structured spec
Index ¶
- Constants
- Variables
- func GroupResource(resource string) schema.GroupResource
- type ComposeFile
- type ConfigObjConfig
- type Constraint
- type Constraints
- type DeployConfig
- type External
- type FileObjectConfig
- type FileReferenceConfig
- type HealthCheckConfig
- type Owner
- type Placement
- type Resource
- type Resources
- type RestartPolicy
- type Scale
- type SecretConfig
- type ServiceConfig
- type ServiceConfigObjConfig
- type ServicePortConfig
- type ServiceSecretConfig
- type ServiceVolumeConfig
- type Stack
- type StackList
- type StackPhase
- type StackSpec
- type StackStatus
- type UpdateConfig
Constants ¶
const GroupName = "compose.docker.com"
GroupName is the name of the compose group
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta2"} // SchemeBuilder is the scheme builder SchemeBuilder runtime.SchemeBuilder // AddToScheme adds to scheme AddToScheme = localSchemeBuilder.AddToScheme )
Functions ¶
func GroupResource ¶
func GroupResource(resource string) schema.GroupResource
GroupResource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type ComposeFile ¶
type ComposeFile struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` ComposeFile string `json:"composeFile,omitempty"` }
ComposeFile is the content of a stack's compose file if any
func (*ComposeFile) DeepCopyObject ¶
func (c *ComposeFile) DeepCopyObject() runtime.Object
DeepCopyObject clones the ComposeFile
type ConfigObjConfig ¶
type ConfigObjConfig FileObjectConfig
ConfigObjConfig is the config for the swarm "Config" object
type Constraint ¶
Constraint defines a constraint and it's operator (== or !=)
type Constraints ¶
type Constraints struct { OperatingSystem *Constraint Architecture *Constraint Hostname *Constraint MatchLabels map[string]Constraint }
Constraints lists constraints that can be set on the service
type DeployConfig ¶
type DeployConfig struct { Mode string `json:"mode,omitempty"` Replicas *uint64 `json:"replicas,omitempty"` Labels map[string]string `json:"labels,omitempty"` UpdateConfig *UpdateConfig `json:"update_config,omitempty"` Resources Resources `json:"resources,omitempty"` RestartPolicy *RestartPolicy `json:"restart_policy,omitempty"` Placement Placement `json:"placement,omitempty"` }
DeployConfig is the deployment configuration for a service
type External ¶
type External struct { Name string `json:"name,omitempty"` External bool `json:"external,omitempty"` }
External identifies a Volume or Network as a reference to a resource that is not managed, and should already exist. External.name is deprecated and replaced by Volume.name
type FileObjectConfig ¶
type FileObjectConfig struct { Name string `json:"name,omitempty"` File string `json:"file,omitempty"` External External `json:"external,omitempty"` Labels map[string]string `json:"labels,omitempty"` }
FileObjectConfig is a config type for a file used by a service
type FileReferenceConfig ¶
type FileReferenceConfig struct { Source string `json:"source,omitempty"` Target string `json:"target,omitempty"` UID string `json:"uid,omitempty"` GID string `json:"gid,omitempty"` Mode *uint32 `json:"mode,omitempty"` }
FileReferenceConfig for a reference to a swarm file object
type HealthCheckConfig ¶
type HealthCheckConfig struct { Test []string `json:"test,omitempty"` Timeout *time.Duration `json:"timeout,omitempty"` Interval *time.Duration `json:"interval,omitempty"` Retries *uint64 `json:"retries,omitempty"` }
HealthCheckConfig the healthcheck configuration for a service
type Owner ¶
type Owner struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Owner impersonation.Config `json:"owner,omitempty"` }
Owner describes the user who created the stack
func (*Owner) DeepCopyObject ¶
DeepCopyObject clones the owner
type Placement ¶
type Placement struct {
Constraints *Constraints `json:"constraints,omitempty"`
}
Placement constraints for the service
type Resource ¶
type Resource struct { NanoCPUs string `json:"cpus,omitempty"` MemoryBytes int64 `json:"memory,omitempty"` }
Resource is a resource to be limited or reserved
type Resources ¶
type Resources struct { Limits *Resource `json:"limits,omitempty"` Reservations *Resource `json:"reservations,omitempty"` }
Resources the resource limits and reservations
type RestartPolicy ¶
type RestartPolicy struct {
Condition string `json:"condition,omitempty"`
}
RestartPolicy is the service restart policy
type Scale ¶
type Scale struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec map[string]int `json:"spec,omitempty"` Status map[string]int `json:"status,omitempty"` }
Scale contains the current/desired replica count for services in a stack.
func (*Scale) DeepCopyObject ¶
DeepCopyObject clones the scale
type ServiceConfig ¶
type ServiceConfig struct { Name string `json:"name,omitempty"` CapAdd []string `json:"cap_add,omitempty"` CapDrop []string `json:"cap_drop,omitempty"` Command []string `json:"command,omitempty"` Configs []ServiceConfigObjConfig `json:"configs,omitempty"` Deploy DeployConfig `json:"deploy,omitempty"` Entrypoint []string `json:"entrypoint,omitempty"` Environment map[string]*string `json:"environment,omitempty"` ExtraHosts []string `json:"extra_hosts,omitempty"` Hostname string `json:"hostname,omitempty"` HealthCheck *HealthCheckConfig `json:"health_check,omitempty"` Image string `json:"image,omitempty"` Ipc string `json:"ipc,omitempty"` Labels map[string]string `json:"labels,omitempty"` Pid string `json:"pid,omitempty"` Ports []ServicePortConfig `json:"ports,omitempty"` Privileged bool `json:"privileged,omitempty"` ReadOnly bool `json:"read_only,omitempty"` Secrets []ServiceSecretConfig `json:"secrets,omitempty"` StdinOpen bool `json:"stdin_open,omitempty"` StopGracePeriod *time.Duration `json:"stop_grace_period,omitempty"` Tmpfs []string `json:"tmpfs,omitempty"` Tty bool `json:"tty,omitempty"` User *int64 `json:"user,omitempty"` Volumes []ServiceVolumeConfig `json:"volumes,omitempty"` WorkingDir string `json:"working_dir,omitempty"` }
ServiceConfig is the configuration of one service
type ServiceConfigObjConfig ¶
type ServiceConfigObjConfig FileReferenceConfig
ServiceConfigObjConfig is the config obj configuration for a service
type ServicePortConfig ¶
type ServicePortConfig struct { Mode string `json:"mode,omitempty"` Target uint32 `json:"target,omitempty"` Published uint32 `json:"published,omitempty"` Protocol string `json:"protocol,omitempty"` }
ServicePortConfig is the port configuration for a service
type ServiceSecretConfig ¶
type ServiceSecretConfig FileReferenceConfig
ServiceSecretConfig is the secret configuration for a service
type ServiceVolumeConfig ¶
type ServiceVolumeConfig struct { Type string `json:"type,omitempty"` Source string `json:"source,omitempty"` Target string `json:"target,omitempty"` ReadOnly bool `json:"read_only,omitempty"` }
ServiceVolumeConfig are references to a volume used by a service
type Stack ¶
type Stack struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec *StackSpec `json:"spec,omitempty"` Status *StackStatus `json:"status,omitempty"` }
Stack is v1beta2's representation of a Stack
func (*Stack) DeepCopyObject ¶
DeepCopyObject clones the stack
type StackList ¶
type StackList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` Items []Stack `json:"items" protobuf:"bytes,2,rep,name=items"` }
StackList is a list of stacks
func (*StackList) DeepCopyObject ¶
DeepCopyObject clones the stack list
type StackPhase ¶
type StackPhase string
StackPhase is the deployment phase of a stack
const ( // StackAvailable means the stack is available. StackAvailable StackPhase = "Available" // StackProgressing means the deployment is progressing. StackProgressing StackPhase = "Progressing" // StackFailure is added in a stack when one of its members fails to be created // or deleted. StackFailure StackPhase = "Failure" )
These are valid conditions of a stack.
type StackSpec ¶
type StackSpec struct { Services []ServiceConfig `json:"services,omitempty"` Secrets map[string]SecretConfig `json:"secrets,omitempty"` Configs map[string]ConfigObjConfig `json:"configs,omitempty"` }
StackSpec defines the desired state of Stack
type StackStatus ¶
type StackStatus struct { // Current condition of the stack. // +optional Phase StackPhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=StackPhase"` // A human readable message indicating details about the stack. // +optional Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"` }
StackStatus defines the observed state of Stack
type UpdateConfig ¶
type UpdateConfig struct {
Parallelism *uint64 `json:"paralellism,omitempty"`
}
UpdateConfig is the service update configuration