update vendor
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
This commit is contained in:
parent
19a32db84d
commit
94d1cfbfbf
10501 changed files with 2307943 additions and 29279 deletions
25
vendor/github.com/docker/cli/kubernetes/compose/clone/maps.go
generated
vendored
Normal file
25
vendor/github.com/docker/cli/kubernetes/compose/clone/maps.go
generated
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
package clone
|
||||
|
||||
// MapOfStringToSliceOfString deep copy a map[string][]string
|
||||
func MapOfStringToSliceOfString(source map[string][]string) map[string][]string {
|
||||
if source == nil {
|
||||
return nil
|
||||
}
|
||||
res := make(map[string][]string, len(source))
|
||||
for k, v := range source {
|
||||
res[k] = SliceOfString(v)
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
// MapOfStringToInt deep copy a map[string]int
|
||||
func MapOfStringToInt(source map[string]int) map[string]int {
|
||||
if source == nil {
|
||||
return nil
|
||||
}
|
||||
res := make(map[string]int, len(source))
|
||||
for k, v := range source {
|
||||
res[k] = v
|
||||
}
|
||||
return res
|
||||
}
|
11
vendor/github.com/docker/cli/kubernetes/compose/clone/slices.go
generated
vendored
Normal file
11
vendor/github.com/docker/cli/kubernetes/compose/clone/slices.go
generated
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
package clone
|
||||
|
||||
// SliceOfString deep copy a slice of strings
|
||||
func SliceOfString(source []string) []string {
|
||||
if source == nil {
|
||||
return nil
|
||||
}
|
||||
res := make([]string, len(source))
|
||||
copy(res, source)
|
||||
return res
|
||||
}
|
5
vendor/github.com/docker/cli/kubernetes/compose/doc.go
generated
vendored
Normal file
5
vendor/github.com/docker/cli/kubernetes/compose/doc.go
generated
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
// +k8s:deepcopy-gen=package,register
|
||||
// +groupName=compose.docker.com
|
||||
|
||||
// Package compose is the internal version of the API.
|
||||
package compose
|
26
vendor/github.com/docker/cli/kubernetes/compose/impersonation/impersonationconfig.go
generated
vendored
Normal file
26
vendor/github.com/docker/cli/kubernetes/compose/impersonation/impersonationconfig.go
generated
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
package impersonation
|
||||
|
||||
import "github.com/docker/cli/kubernetes/compose/clone"
|
||||
|
||||
// Config contains the data required to impersonate a user.
|
||||
type Config struct {
|
||||
// UserName is the username to impersonate on each request.
|
||||
UserName string
|
||||
// Groups are the groups to impersonate on each request.
|
||||
Groups []string
|
||||
// Extra is a free-form field which can be used to link some authentication information
|
||||
// to authorization information. This field allows you to impersonate it.
|
||||
Extra map[string][]string
|
||||
}
|
||||
|
||||
// Clone clones the impersonation config
|
||||
func (ic *Config) Clone() *Config {
|
||||
if ic == nil {
|
||||
return nil
|
||||
}
|
||||
result := new(Config)
|
||||
result.UserName = ic.UserName
|
||||
result.Groups = clone.SliceOfString(ic.Groups)
|
||||
result.Extra = clone.MapOfStringToSliceOfString(ic.Extra)
|
||||
return result
|
||||
}
|
11
vendor/github.com/docker/cli/kubernetes/compose/v1beta1/doc.go
generated
vendored
Normal file
11
vendor/github.com/docker/cli/kubernetes/compose/v1beta1/doc.go
generated
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
// Api versions allow the api contract for a resource to be changed while keeping
|
||||
// backward compatibility by support multiple concurrent versions
|
||||
// of the same resource
|
||||
|
||||
// +k8s:openapi-gen=true
|
||||
// +k8s:deepcopy-gen=package,register
|
||||
// +k8s:defaulter-gen=TypeMeta
|
||||
// +groupName=compose.docker.com
|
||||
|
||||
// Package v1beta1 is the first version of the Stack spec, containing only a compose file
|
||||
package v1beta1 // import "github.com/docker/cli/kubernetes/compose/v1beta1"
|
31
vendor/github.com/docker/cli/kubernetes/compose/v1beta1/owner.go
generated
vendored
Normal file
31
vendor/github.com/docker/cli/kubernetes/compose/v1beta1/owner.go
generated
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
package v1beta1
|
||||
|
||||
import (
|
||||
"github.com/docker/cli/kubernetes/compose/impersonation"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
// Owner defines the owner of a stack. It is used to impersonate the controller calls
|
||||
// to kubernetes api.
|
||||
type Owner struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
Owner impersonation.Config `json:"owner,omitempty"`
|
||||
}
|
||||
|
||||
func (o *Owner) clone() *Owner {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
result := new(Owner)
|
||||
result.TypeMeta = o.TypeMeta
|
||||
result.ObjectMeta = o.ObjectMeta
|
||||
result.Owner = *result.Owner.Clone()
|
||||
return result
|
||||
}
|
||||
|
||||
// DeepCopyObject clones the owner
|
||||
func (o *Owner) DeepCopyObject() runtime.Object {
|
||||
return o.clone()
|
||||
}
|
4
vendor/github.com/docker/cli/kubernetes/compose/v1beta1/parsing.go
generated
vendored
Normal file
4
vendor/github.com/docker/cli/kubernetes/compose/v1beta1/parsing.go
generated
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
package v1beta1
|
||||
|
||||
// MaxComposeVersion is the most recent version of compose file Schema supported in v1beta1
|
||||
const MaxComposeVersion = "3.5"
|
39
vendor/github.com/docker/cli/kubernetes/compose/v1beta1/register.go
generated
vendored
Normal file
39
vendor/github.com/docker/cli/kubernetes/compose/v1beta1/register.go
generated
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
package v1beta1
|
||||
|
||||
import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
)
|
||||
|
||||
// GroupName is the group name used to register these objects
|
||||
const GroupName = "compose.docker.com"
|
||||
|
||||
// Alias variables for the registration
|
||||
var (
|
||||
// SchemeGroupVersion is group version used to register these objects
|
||||
SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"}
|
||||
SchemeBuilder runtime.SchemeBuilder
|
||||
localSchemeBuilder = &SchemeBuilder
|
||||
AddToScheme = localSchemeBuilder.AddToScheme
|
||||
)
|
||||
|
||||
func init() {
|
||||
localSchemeBuilder.Register(addKnownTypes)
|
||||
}
|
||||
|
||||
// Adds the list of known types to api.Scheme.
|
||||
func addKnownTypes(scheme *runtime.Scheme) error {
|
||||
scheme.AddKnownTypes(SchemeGroupVersion,
|
||||
&Stack{},
|
||||
&StackList{},
|
||||
&Owner{},
|
||||
)
|
||||
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Resource takes an unqualified resource and returns a Group qualified GroupResource
|
||||
func Resource(resource string) schema.GroupResource {
|
||||
return SchemeGroupVersion.WithResource(resource).GroupResource()
|
||||
}
|
87
vendor/github.com/docker/cli/kubernetes/compose/v1beta1/stack.go
generated
vendored
Normal file
87
vendor/github.com/docker/cli/kubernetes/compose/v1beta1/stack.go
generated
vendored
Normal file
|
@ -0,0 +1,87 @@
|
|||
package v1beta1
|
||||
|
||||
import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
// StackList defines a list of stacks
|
||||
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"`
|
||||
}
|
||||
|
||||
// DeepCopyObject clones the stack list
|
||||
func (s *StackList) DeepCopyObject() runtime.Object {
|
||||
if s == nil {
|
||||
return nil
|
||||
}
|
||||
result := new(StackList)
|
||||
result.TypeMeta = s.TypeMeta
|
||||
result.ListMeta = s.ListMeta
|
||||
if s.Items == nil {
|
||||
return result
|
||||
}
|
||||
result.Items = make([]Stack, len(s.Items))
|
||||
for ix, s := range s.Items {
|
||||
result.Items[ix] = *s.clone()
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
// Stack defines a stack object to be register in the kubernetes API
|
||||
type Stack struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
Spec StackSpec `json:"spec,omitempty"`
|
||||
Status StackStatus `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
// StackSpec defines the desired state of Stack
|
||||
type StackSpec struct {
|
||||
ComposeFile string `json:"composeFile,omitempty"`
|
||||
}
|
||||
|
||||
// StackPhase defines the status phase in which the stack is.
|
||||
type StackPhase string
|
||||
|
||||
// These are valid conditions 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"
|
||||
)
|
||||
|
||||
// StackStatus defines the observed state of Stack
|
||||
type StackStatus struct {
|
||||
// Current condition of the stack.
|
||||
Phase StackPhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=StackPhase"`
|
||||
// A human readable message indicating details about the stack.
|
||||
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
|
||||
}
|
||||
|
||||
func (s *Stack) clone() *Stack {
|
||||
if s == nil {
|
||||
return nil
|
||||
}
|
||||
// in v1beta1, Stack has no pointer, slice or map. Plain old struct copy is ok
|
||||
result := *s
|
||||
return &result
|
||||
}
|
||||
|
||||
// Clone implements the Cloner interface for kubernetes
|
||||
func (s *Stack) Clone() *Stack {
|
||||
return s.clone()
|
||||
}
|
||||
|
||||
// DeepCopyObject clones the stack
|
||||
func (s *Stack) DeepCopyObject() runtime.Object {
|
||||
return s.clone()
|
||||
}
|
1
vendor/github.com/docker/cli/kubernetes/compose/v1beta1/stack_test.go
generated
vendored
Normal file
1
vendor/github.com/docker/cli/kubernetes/compose/v1beta1/stack_test.go
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
package v1beta1
|
26
vendor/github.com/docker/cli/kubernetes/compose/v1beta2/composefile_stack_types.go
generated
vendored
Normal file
26
vendor/github.com/docker/cli/kubernetes/compose/v1beta2/composefile_stack_types.go
generated
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
package v1beta2
|
||||
|
||||
import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
// ComposeFile is the content of a stack's compose file if any
|
||||
type ComposeFile struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
ComposeFile string `json:"composeFile,omitempty"`
|
||||
}
|
||||
|
||||
func (c *ComposeFile) clone() *ComposeFile {
|
||||
if c == nil {
|
||||
return nil
|
||||
}
|
||||
res := *c
|
||||
return &res
|
||||
}
|
||||
|
||||
// DeepCopyObject clones the ComposeFile
|
||||
func (c *ComposeFile) DeepCopyObject() runtime.Object {
|
||||
return c.clone()
|
||||
}
|
6
vendor/github.com/docker/cli/kubernetes/compose/v1beta2/doc.go
generated
vendored
Normal file
6
vendor/github.com/docker/cli/kubernetes/compose/v1beta2/doc.go
generated
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// Api versions allow the api contract for a resource to be changed while keeping
|
||||
// backward compatibility by support multiple concurrent versions
|
||||
// of the same resource
|
||||
|
||||
// Package v1beta2 is the second version of the stack, containing a structured spec
|
||||
package v1beta2 // import "github.com/docker/cli/kubernetes/compose/v1beta2"
|
30
vendor/github.com/docker/cli/kubernetes/compose/v1beta2/owner.go
generated
vendored
Normal file
30
vendor/github.com/docker/cli/kubernetes/compose/v1beta2/owner.go
generated
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
package v1beta2
|
||||
|
||||
import (
|
||||
"github.com/docker/cli/kubernetes/compose/impersonation"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
// Owner describes the user who created the stack
|
||||
type Owner struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
Owner impersonation.Config `json:"owner,omitempty"`
|
||||
}
|
||||
|
||||
func (o *Owner) clone() *Owner {
|
||||
if o == nil {
|
||||
return nil
|
||||
}
|
||||
result := new(Owner)
|
||||
result.TypeMeta = o.TypeMeta
|
||||
result.ObjectMeta = o.ObjectMeta
|
||||
result.Owner = *result.Owner.Clone()
|
||||
return result
|
||||
}
|
||||
|
||||
// DeepCopyObject clones the owner
|
||||
func (o *Owner) DeepCopyObject() runtime.Object {
|
||||
return o.clone()
|
||||
}
|
42
vendor/github.com/docker/cli/kubernetes/compose/v1beta2/register.go
generated
vendored
Normal file
42
vendor/github.com/docker/cli/kubernetes/compose/v1beta2/register.go
generated
vendored
Normal file
|
@ -0,0 +1,42 @@
|
|||
package v1beta2
|
||||
|
||||
import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
)
|
||||
|
||||
// GroupName is the name of the compose group
|
||||
const GroupName = "compose.docker.com"
|
||||
|
||||
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
|
||||
localSchemeBuilder = &SchemeBuilder
|
||||
// AddToScheme adds to scheme
|
||||
AddToScheme = localSchemeBuilder.AddToScheme
|
||||
)
|
||||
|
||||
func init() {
|
||||
localSchemeBuilder.Register(addKnownTypes)
|
||||
}
|
||||
|
||||
// Adds the list of known types to api.Scheme.
|
||||
func addKnownTypes(scheme *runtime.Scheme) error {
|
||||
scheme.AddKnownTypes(SchemeGroupVersion,
|
||||
&Stack{},
|
||||
&StackList{},
|
||||
&Owner{},
|
||||
&ComposeFile{},
|
||||
&Scale{},
|
||||
)
|
||||
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
|
||||
return nil
|
||||
}
|
||||
|
||||
// GroupResource takes an unqualified resource and returns a Group qualified GroupResource
|
||||
func GroupResource(resource string) schema.GroupResource {
|
||||
return SchemeGroupVersion.WithResource(resource).GroupResource()
|
||||
}
|
29
vendor/github.com/docker/cli/kubernetes/compose/v1beta2/scale.go
generated
vendored
Normal file
29
vendor/github.com/docker/cli/kubernetes/compose/v1beta2/scale.go
generated
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
package v1beta2
|
||||
|
||||
import (
|
||||
"github.com/docker/cli/kubernetes/compose/clone"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
// Scale contains the current/desired replica count for services in a stack.
|
||||
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"`
|
||||
}
|
||||
|
||||
func (s *Scale) clone() *Scale {
|
||||
return &Scale{
|
||||
TypeMeta: s.TypeMeta,
|
||||
ObjectMeta: s.ObjectMeta,
|
||||
Spec: clone.MapOfStringToInt(s.Spec),
|
||||
Status: clone.MapOfStringToInt(s.Status),
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopyObject clones the scale
|
||||
func (s *Scale) DeepCopyObject() runtime.Object {
|
||||
return s.clone()
|
||||
}
|
256
vendor/github.com/docker/cli/kubernetes/compose/v1beta2/stack.go
generated
vendored
Normal file
256
vendor/github.com/docker/cli/kubernetes/compose/v1beta2/stack.go
generated
vendored
Normal file
|
@ -0,0 +1,256 @@
|
|||
package v1beta2
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
// StackList is a list of stacks
|
||||
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"`
|
||||
}
|
||||
|
||||
// Stack is v1beta2's representation of a Stack
|
||||
type Stack struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
Spec *StackSpec `json:"spec,omitempty"`
|
||||
Status *StackStatus `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
// DeepCopyObject clones the stack
|
||||
func (s *Stack) DeepCopyObject() runtime.Object {
|
||||
return s.clone()
|
||||
}
|
||||
|
||||
// DeepCopyObject clones the stack list
|
||||
func (s *StackList) DeepCopyObject() runtime.Object {
|
||||
if s == nil {
|
||||
return nil
|
||||
}
|
||||
result := new(StackList)
|
||||
result.TypeMeta = s.TypeMeta
|
||||
result.ListMeta = s.ListMeta
|
||||
if s.Items == nil {
|
||||
return result
|
||||
}
|
||||
result.Items = make([]Stack, len(s.Items))
|
||||
for ix, s := range s.Items {
|
||||
result.Items[ix] = *s.clone()
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func (s *Stack) clone() *Stack {
|
||||
if s == nil {
|
||||
return nil
|
||||
}
|
||||
result := new(Stack)
|
||||
result.TypeMeta = s.TypeMeta
|
||||
result.ObjectMeta = s.ObjectMeta
|
||||
result.Spec = s.Spec.clone()
|
||||
result.Status = s.Status.clone()
|
||||
return result
|
||||
}
|
||||
|
||||
// StackSpec defines the desired state of Stack
|
||||
type StackSpec struct {
|
||||
Services []ServiceConfig `json:"services,omitempty"`
|
||||
Secrets map[string]SecretConfig `json:"secrets,omitempty"`
|
||||
Configs map[string]ConfigObjConfig `json:"configs,omitempty"`
|
||||
}
|
||||
|
||||
// ServiceConfig is the configuration of one service
|
||||
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"`
|
||||
}
|
||||
|
||||
// ServicePortConfig is the port configuration for a service
|
||||
type ServicePortConfig struct {
|
||||
Mode string `json:"mode,omitempty"`
|
||||
Target uint32 `json:"target,omitempty"`
|
||||
Published uint32 `json:"published,omitempty"`
|
||||
Protocol string `json:"protocol,omitempty"`
|
||||
}
|
||||
|
||||
// FileObjectConfig is a config type for a file used by a service
|
||||
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"`
|
||||
}
|
||||
|
||||
// SecretConfig for a secret
|
||||
type SecretConfig FileObjectConfig
|
||||
|
||||
// ConfigObjConfig is the config for the swarm "Config" object
|
||||
type ConfigObjConfig FileObjectConfig
|
||||
|
||||
// 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 External struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
External bool `json:"external,omitempty"`
|
||||
}
|
||||
|
||||
// FileReferenceConfig for a reference to a swarm file object
|
||||
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"`
|
||||
}
|
||||
|
||||
// ServiceConfigObjConfig is the config obj configuration for a service
|
||||
type ServiceConfigObjConfig FileReferenceConfig
|
||||
|
||||
// ServiceSecretConfig is the secret configuration for a service
|
||||
type ServiceSecretConfig FileReferenceConfig
|
||||
|
||||
// DeployConfig is the deployment configuration for a service
|
||||
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"`
|
||||
}
|
||||
|
||||
// UpdateConfig is the service update configuration
|
||||
type UpdateConfig struct {
|
||||
Parallelism *uint64 `json:"paralellism,omitempty"`
|
||||
}
|
||||
|
||||
// Resources the resource limits and reservations
|
||||
type Resources struct {
|
||||
Limits *Resource `json:"limits,omitempty"`
|
||||
Reservations *Resource `json:"reservations,omitempty"`
|
||||
}
|
||||
|
||||
// Resource is a resource to be limited or reserved
|
||||
type Resource struct {
|
||||
NanoCPUs string `json:"cpus,omitempty"`
|
||||
MemoryBytes int64 `json:"memory,omitempty"`
|
||||
}
|
||||
|
||||
// RestartPolicy is the service restart policy
|
||||
type RestartPolicy struct {
|
||||
Condition string `json:"condition,omitempty"`
|
||||
}
|
||||
|
||||
// Placement constraints for the service
|
||||
type Placement struct {
|
||||
Constraints *Constraints `json:"constraints,omitempty"`
|
||||
}
|
||||
|
||||
// Constraints lists constraints that can be set on the service
|
||||
type Constraints struct {
|
||||
OperatingSystem *Constraint
|
||||
Architecture *Constraint
|
||||
Hostname *Constraint
|
||||
MatchLabels map[string]Constraint
|
||||
}
|
||||
|
||||
// Constraint defines a constraint and it's operator (== or !=)
|
||||
type Constraint struct {
|
||||
Value string
|
||||
Operator string
|
||||
}
|
||||
|
||||
// HealthCheckConfig the healthcheck configuration for a service
|
||||
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"`
|
||||
}
|
||||
|
||||
// ServiceVolumeConfig are references to a volume used by a service
|
||||
type ServiceVolumeConfig struct {
|
||||
Type string `json:"type,omitempty"`
|
||||
Source string `json:"source,omitempty"`
|
||||
Target string `json:"target,omitempty"`
|
||||
ReadOnly bool `json:"read_only,omitempty"`
|
||||
}
|
||||
|
||||
func (s *StackSpec) clone() *StackSpec {
|
||||
if s == nil {
|
||||
return nil
|
||||
}
|
||||
result := *s
|
||||
return &result
|
||||
}
|
||||
|
||||
// StackPhase is the deployment phase of a stack
|
||||
type StackPhase string
|
||||
|
||||
// These are valid conditions 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"
|
||||
)
|
||||
|
||||
// StackStatus defines the observed state of Stack
|
||||
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"`
|
||||
}
|
||||
|
||||
func (s *StackStatus) clone() *StackStatus {
|
||||
if s == nil {
|
||||
return nil
|
||||
}
|
||||
result := *s
|
||||
return &result
|
||||
}
|
||||
|
||||
// Clone clones a Stack
|
||||
func (s *Stack) Clone() *Stack {
|
||||
return s.clone()
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue