Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the kudo v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kudobuilder/kudo/pkg/apis/kudo +k8s:defaulter-gen=TypeMeta +groupName=kudo.k8s.io
Package v1alpha1 contains API Schema definitions for the kudo v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kudobuilder/kudo/pkg/apis/kudo +k8s:defaulter-gen=TypeMeta +groupName=kudo.k8s.io
Index ¶
- Variables
- func Resource(resource string) schema.GroupResource
- type Config
- type Discovery
- type Framework
- type FrameworkDependency
- type FrameworkList
- type FrameworkSpec
- type FrameworkStatus
- type FrameworkVersion
- type FrameworkVersionList
- type FrameworkVersionSpec
- type FrameworkVersionStatus
- type HealthCheck
- type HostVolume
- type Instance
- type InstanceList
- type InstanceSpec
- type InstanceStatus
- type Network
- type Ordering
- type Parameter
- type Phase
- type PhaseState
- type PhaseStatus
- type Plan
- type PlanExecution
- type PlanExecutionList
- type PlanExecutionSpec
- type PlanExecutionStatus
- type Pod
- type Port
- type RLimit
- type ReadinessCheck
- type ResourceSet
- type Scheduler
- type Secret
- type ServiceSpec
- type Step
- type StepStatus
- type Task
- type TaskSpec
- type TransportEncryption
- type VIP
- type Volume
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "kudo.k8s.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme is required by pkg/client/... AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource is required by pkg/client/listers/...
Types ¶
type Config ¶
type Config struct { Template *string `json:"template" yaml:"template" validate:"required,gt=0"` // makes field mandatory and checks if set and non empty Dest *string `json:"dest" yaml:"dest" validate:"required,gt=0"` // makes field mandatory and checks if set and non empty }
Config represents a config templates which is rendered before the pods is launched.
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Discovery ¶
type Discovery struct { Prefix *string `json:"prefix" yaml:"prefix"` // no checks needed (TODO: not sure if needed at all, e.g. would it map to a service in k8s) Visibility *string `json:"visibility" yaml:"visibility"` // no checks needed (TODO: not sure if needed at all, e.g. would it map to a service in k8s) }
Discovery represents information about how a tasks should be exposed.
func (*Discovery) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Discovery.
func (*Discovery) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Framework ¶
type Framework struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FrameworkSpec `json:"spec,omitempty"` Status FrameworkStatus `json:"status,omitempty"` }
Framework is the Schema for the frameworks API +k8s:openapi-gen=true
func (*Framework) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Framework.
func (*Framework) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Framework) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FrameworkDependency ¶
type FrameworkDependency struct { //Name specifies the name of the dependency. Referenced via this in defaults.config ReferenceName string `json:"referenceName"` corev1.ObjectReference //Version captures the requirements for what versions // of the above object are allowed // Example: ^3.1.4 Version string `json:"version"` }
FrameworkDependency references a defined framework
func (*FrameworkDependency) DeepCopy ¶
func (in *FrameworkDependency) DeepCopy() *FrameworkDependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrameworkDependency.
func (*FrameworkDependency) DeepCopyInto ¶
func (in *FrameworkDependency) DeepCopyInto(out *FrameworkDependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FrameworkList ¶
type FrameworkList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Framework `json:"items"` }
FrameworkList contains a list of Framework
func (*FrameworkList) DeepCopy ¶
func (in *FrameworkList) DeepCopy() *FrameworkList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrameworkList.
func (*FrameworkList) DeepCopyInto ¶
func (in *FrameworkList) DeepCopyInto(out *FrameworkList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FrameworkList) DeepCopyObject ¶
func (in *FrameworkList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FrameworkSpec ¶
type FrameworkSpec struct { }
FrameworkSpec defines the desired state of Framework
func (*FrameworkSpec) DeepCopy ¶
func (in *FrameworkSpec) DeepCopy() *FrameworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrameworkSpec.
func (*FrameworkSpec) DeepCopyInto ¶
func (in *FrameworkSpec) DeepCopyInto(out *FrameworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FrameworkStatus ¶
type FrameworkStatus struct { }
FrameworkStatus defines the observed state of Framework
func (*FrameworkStatus) DeepCopy ¶
func (in *FrameworkStatus) DeepCopy() *FrameworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrameworkStatus.
func (*FrameworkStatus) DeepCopyInto ¶
func (in *FrameworkStatus) DeepCopyInto(out *FrameworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FrameworkVersion ¶
type FrameworkVersion struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FrameworkVersionSpec `json:"spec,omitempty"` Status FrameworkVersionStatus `json:"status,omitempty"` }
FrameworkVersion is the Schema for the frameworkversions API +k8s:openapi-gen=true
func (*FrameworkVersion) DeepCopy ¶
func (in *FrameworkVersion) DeepCopy() *FrameworkVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrameworkVersion.
func (*FrameworkVersion) DeepCopyInto ¶
func (in *FrameworkVersion) DeepCopyInto(out *FrameworkVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FrameworkVersion) DeepCopyObject ¶
func (in *FrameworkVersion) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FrameworkVersionList ¶
type FrameworkVersionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FrameworkVersion `json:"items"` }
FrameworkVersionList contains a list of FrameworkVersion
func (*FrameworkVersionList) DeepCopy ¶
func (in *FrameworkVersionList) DeepCopy() *FrameworkVersionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrameworkVersionList.
func (*FrameworkVersionList) DeepCopyInto ¶
func (in *FrameworkVersionList) DeepCopyInto(out *FrameworkVersionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FrameworkVersionList) DeepCopyObject ¶
func (in *FrameworkVersionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FrameworkVersionSpec ¶
type FrameworkVersionSpec struct { // +optional Framework corev1.ObjectReference `json:"framework,omitempty"` Version string `json:"version,omitempty"` //Yaml captures a mustached yaml list of elements that define the application framework instance Templates map[string]string `json:"templates,omitempty"` Tasks map[string]TaskSpec `json:"tasks,omitempty"` Parameters []Parameter `json:"parameters,omitempty"` //Plans specify a map a plans that specify how to Plans map[string]Plan `json:"plans,omitempty"` //ConnectionString defines a mustached string that can be used // to connect to an instance of the Framework // +optional ConnectionString string `json:"connectionString,omitempty"` Dependencies []FrameworkDependency `json:"dependencies,omitempty"` //UpgradableFrom lists all FrameworkVersions that can upgrade to this FrameworkVersion UpgradableFrom []FrameworkVersion `json:"upgradableFrom,omitempty"` }
FrameworkVersionSpec defines the desired state of FrameworkVersion
func (*FrameworkVersionSpec) DeepCopy ¶
func (in *FrameworkVersionSpec) DeepCopy() *FrameworkVersionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrameworkVersionSpec.
func (*FrameworkVersionSpec) DeepCopyInto ¶
func (in *FrameworkVersionSpec) DeepCopyInto(out *FrameworkVersionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FrameworkVersionStatus ¶
type FrameworkVersionStatus struct { }
FrameworkVersionStatus defines the observed state of FrameworkVersion
func (*FrameworkVersionStatus) DeepCopy ¶
func (in *FrameworkVersionStatus) DeepCopy() *FrameworkVersionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrameworkVersionStatus.
func (*FrameworkVersionStatus) DeepCopyInto ¶
func (in *FrameworkVersionStatus) DeepCopyInto(out *FrameworkVersionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheck ¶
type HealthCheck struct { Cmd *string `json:"cmd" yaml:"cmd" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values //Interval int32 `json:"interval" yaml:"interval" validate:"gte=1"` // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set) GracePeriodSecs int32 `json:"grace-period" yaml:"grace-period" validate:"gte=1"` // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set) MaxConsecutiveFailures int32 `json:"max-consecutive-failures" yaml:"max-consecutive-failures" validate:"gte=0"` // makes field optional and checks if its gte 0 (TODO: we should make this a pointer to check if set | can it be zero?) DelaySecs int32 `json:"delay" yaml:"delay" validate:"gte=0"` // makes field optional and checks if its gte 0 (TODO: we should make this a pointer to check if set) TimeoutSecs int32 `json:"timeout" yaml:"timeout" validate:"gte=1"` // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set) }
HealthCheck represents a validation that a pod is healthy.
func (*HealthCheck) DeepCopy ¶
func (in *HealthCheck) DeepCopy() *HealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.
func (*HealthCheck) DeepCopyInto ¶
func (in *HealthCheck) DeepCopyInto(out *HealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostVolume ¶
type HostVolume struct { HostPath *string `json:"host-path" yaml:"host-path" validate:"required,gt=0"` // makes field mandatory and checks if set and non empty (TODO: MatchRegex Custom Validation) ContainerPath *string `json:"container-path" yaml:"container-path" validate:"required,gt=0"` // makes field mandatory and checks if set and non empty (TODO: MatchRegex Custom Validation) }
HostVolume to be mounted in the Pod environment.
func (*HostVolume) DeepCopy ¶
func (in *HostVolume) DeepCopy() *HostVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostVolume.
func (*HostVolume) DeepCopyInto ¶
func (in *HostVolume) DeepCopyInto(out *HostVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Instance ¶
type Instance struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec InstanceSpec `json:"spec,omitempty"` Status InstanceStatus `json:"status,omitempty"` }
Instance is the Schema for the instances API +k8s:openapi-gen=true
func (*Instance) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.
func (*Instance) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Instance) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InstanceList ¶
type InstanceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Instance `json:"items"` }
InstanceList contains a list of Instance
func (*InstanceList) DeepCopy ¶
func (in *InstanceList) DeepCopy() *InstanceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList.
func (*InstanceList) DeepCopyInto ¶
func (in *InstanceList) DeepCopyInto(out *InstanceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstanceList) DeepCopyObject ¶
func (in *InstanceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InstanceSpec ¶
type InstanceSpec struct { //Framework specifies a reference to a specific Framework object FrameworkVersion corev1.ObjectReference `json:"frameworkVersion,omitempty"` //Dependency references specific Dependencies []FrameworkDependency `json:"dependencies,omitempty"` Parameters map[string]string `json:"parameters,omitempty"` }
InstanceSpec defines the desired state of Instance
func (*InstanceSpec) DeepCopy ¶
func (in *InstanceSpec) DeepCopy() *InstanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec.
func (*InstanceSpec) DeepCopyInto ¶
func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceStatus ¶
type InstanceStatus struct { //TODO turn into struct ActivePlan corev1.ObjectReference `json:"activePlan,omitempty"` Status PhaseState `json:"status,omitempty"` }
InstanceStatus defines the observed state of Instance
func (*InstanceStatus) DeepCopy ¶
func (in *InstanceStatus) DeepCopy() *InstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus.
func (*InstanceStatus) DeepCopyInto ¶
func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Network ¶
type Network struct { HostPorts []int32 `json:"host-ports" yaml:"host-ports" validate:"gte=1,dive,gte=1,max=65535"` // makes field mandatory and checks if its a valid port (TODO: we should make this a pointer to check if set, also check for duplicates) ContainerPorts []int32 `json:"container-ports" yaml:"container-ports" validate:"gte=1,dive,gte=1,max=65535"` // makes field mandatory and checks if its a valid port (TODO: we should make this a pointer to check if set, also check for duplicates) Labels string `json:"labels" yaml:"labels"` // no checks needed (TODO: not sure if needed at all, e.g. would it map to a service in k8s) }
Network represents a network setting or virtual network to be joined.
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Ordering ¶
type Ordering string
Ordering specifies how the subitems in this plan/phase should be rolled out
const Parallel Ordering = "parallel"
Parallel specifies that the plan or objects in the phase can all be lauched at the same time
const Serial Ordering = "serial"
Serial specifies that the plans or objects should be created in order. The first should be healthy before continuing on
type Parameter ¶
type Parameter struct { //DisplayName can be used by UI's looking to DisplayName string `json:"displayName,omitempty"` //Name is the string that should be used in the mustached file // for example, if `name: COUNT` // then using the variable in a spec like: // // spec: // replicas: {{COUNT}} Name string `json:"name,omitempty"` //Description captures a longer description of how the variable will be used Description string `json:"description,omitempty"` //Required specifies if the parameter is required to be provided by all instances, or whether a default can suffice Required bool `json:"required,omitempty"` //Default is a default value if no paramter is provided by the instance Default string `json:"default,omitempty"` //Trigger identifies the plan that gets executed when this parameter changes in the Instance object. //Default is `update` if present, or `deploy` if not present Trigger string `json:"trigger,omitempty"` }
Parameter captures the variability of a FrameworkVersion being instantiated in an instance. Describes
func (*Parameter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Parameter.
func (*Parameter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Phase ¶
type Phase struct { Name string `json:"name"` Strategy Ordering `json:"strategy"` //Steps maps a step name to a list of mustached kubernetes objects stored as a string Steps []Step `json:"steps"` }
Phase specifies a list of steps that contain Kubernetes objects.
func (*Phase) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Phase.
func (*Phase) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PhaseState ¶
type PhaseState string
PhaseState captures the state of the rollout
const PhaseStateComplete PhaseState = "COMPLETE"
PhaseStateComplete deployed and healthy
const PhaseStateError PhaseState = "ERROR"
PhaseStateError there was an error deploying the application
const PhaseStateInProgress PhaseState = "IN_PROGRESS"
PhaseStateInProgress actively deploying, but not yet healthy
const PhaseStatePending PhaseState = "PENDING"
PhaseStatePending Not ready to deploy because dependent phases/steps not healthy
const PhaseStateSuspend PhaseState = "SUSPEND"
PhaseStateSuspend Spec was triggered to stop this plan execution
type PhaseStatus ¶
type PhaseStatus struct { Name string `json:"name,omitempty"` Strategy Ordering `json:"strategy,omitempty"` State PhaseState `json:"state,omitempty"` //Steps maps a step name to a list of mustached kubernetes objects stored as a string Steps []StepStatus `json:"steps"` }
PhaseStatus specifies the status of list of steps that contain Kubernetes objects.
func (*PhaseStatus) DeepCopy ¶
func (in *PhaseStatus) DeepCopy() *PhaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhaseStatus.
func (*PhaseStatus) DeepCopyInto ¶
func (in *PhaseStatus) DeepCopyInto(out *PhaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Plan ¶
type Plan struct { Strategy Ordering `json:"strategy"` //Phases maps a phase name to a Phase object Phases []Phase `json:"phases"` }
Plan specifies a series of Phases that need to be completed.
func (*Plan) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plan.
func (*Plan) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlanExecution ¶
type PlanExecution struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PlanExecutionSpec `json:"spec,omitempty"` Status PlanExecutionStatus `json:"status,omitempty"` }
PlanExecution is the Schema for the planexecutions API +k8s:openapi-gen=true
func (*PlanExecution) DeepCopy ¶
func (in *PlanExecution) DeepCopy() *PlanExecution
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlanExecution.
func (*PlanExecution) DeepCopyInto ¶
func (in *PlanExecution) DeepCopyInto(out *PlanExecution)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PlanExecution) DeepCopyObject ¶
func (in *PlanExecution) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PlanExecutionList ¶
type PlanExecutionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PlanExecution `json:"items"` }
PlanExecutionList contains a list of PlanExecution
func (*PlanExecutionList) DeepCopy ¶
func (in *PlanExecutionList) DeepCopy() *PlanExecutionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlanExecutionList.
func (*PlanExecutionList) DeepCopyInto ¶
func (in *PlanExecutionList) DeepCopyInto(out *PlanExecutionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PlanExecutionList) DeepCopyObject ¶
func (in *PlanExecutionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PlanExecutionSpec ¶
type PlanExecutionSpec struct { // This is copied from the CronJob Spec // This flag tells the controller to suspend subsequent executions, it does // not apply to already started executions. Defaults to false. // +optional Suspend *bool `json:"suspend,omitempty" protobuf:"varint,4,opt,name=suspend"` PlanName string `json:"planName"` Instance corev1.ObjectReference `json:"instance"` }
PlanExecutionSpec defines the desired state of PlanExecution
func (*PlanExecutionSpec) DeepCopy ¶
func (in *PlanExecutionSpec) DeepCopy() *PlanExecutionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlanExecutionSpec.
func (*PlanExecutionSpec) DeepCopyInto ¶
func (in *PlanExecutionSpec) DeepCopyInto(out *PlanExecutionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlanExecutionStatus ¶
type PlanExecutionStatus struct { // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster // Important: Run "make" to regenerate code after modifying this file Name string `json:"name,omitempty"` Strategy Ordering `json:"strategy,omitempty"` State PhaseState `json:"state,omitempty"` //Phases maps a phase name to a Phase object Phases []PhaseStatus `json:"phases,omitempty"` }
PlanExecutionStatus defines the observed state of PlanExecution
func (*PlanExecutionStatus) DeepCopy ¶
func (in *PlanExecutionStatus) DeepCopy() *PlanExecutionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlanExecutionStatus.
func (*PlanExecutionStatus) DeepCopyInto ¶
func (in *PlanExecutionStatus) DeepCopyInto(out *PlanExecutionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Pod ¶
type Pod struct { ResourceSets map[string]*ResourceSet `json:"resource-sets" yaml:"resource-sets" validate:"gte=0,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values Placement *string `json:"placement" yaml:"placement" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values Count int32 `json:"count" yaml:"count" validate:"gte=1"` // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set) Image *string `json:"image" yaml:"image" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values Networks map[string]*Network `json:"networks" yaml:"networks" validate:"gte=0,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values RLimits map[string]*RLimit `json:"rlimits" yaml:"rlimits" validate:"gte=0,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values Uris []*string `json:"uris" yaml:"uris" validate:"gte=0,dive,gte=1"` // makes field mandatory and checks if its a valid port (TODO: check for duplicates) Tasks map[string]*Task `json:"tasks" yaml:"tasks" validate:"required,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values Volume *Volume `json:"volume" yaml:"volume"` // field optional, no need to validate Volumes map[string]*Volume `json:"volumes" yaml:"volumes" validate:"gte=0,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values PreReservedRole *string `json:"pre-reserved-role" yaml:"pre-reserved-role" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values Secrets map[string]*Secret `json:"secrets" yaml:"secrets" validate:"gte=0,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values AllowDecommission bool `json:"allow-decommission" yaml:"allow-decommission"` // no checks needed HostVolumes map[string]*HostVolume `json:"host-volumes" yaml:"host-volumes" validate:"gte=0,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values }
Pod represents a pod definition which could be deployed as part of a plan.
func (*Pod) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pod.
func (*Pod) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Port ¶
type Port struct { Port int32 `json:"port" yaml:"port" validate:"gte=1,max=65535"` // makes field mandatory and checks if its a valid port (TODO: we should make this a pointer to check if set) EnvKey *string `json:"env-key" yaml:"env-key" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values Advertise bool `json:"advertise" yaml:"advertise"` // no checks needed (TODO: not sure if needed at all, e.g. would it map to a service in k8s) VIP *VIP `json:"vip" yaml:"vip"` // no checks needed (TODO: not sure if needed at all, e.g. would it map to a service in k8s) }
Port represents a port an application should listen on.
func (*Port) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Port.
func (*Port) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RLimit ¶
type RLimit struct { Soft int64 `json:"soft" yaml:"soft" validate:"gte=1"` // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set | does this apply in k8s land?) Hard int64 `json:"hard" yaml:"hard" validate:"gte=1"` // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set | does this apply in k8s land?) }
RLmit represents a rlimit setting to be applied to the pod.
func (*RLimit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RLimit.
func (*RLimit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReadinessCheck ¶
type ReadinessCheck struct { Cmd *string `json:"cmd" yaml:"cmd" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values IntervalSecs int32 `json:"interval" yaml:"interval" validate:"gte=1"` // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set) DelaySecs int32 `json:"delay" yaml:"delay" validate:"gte=0"` // makes field optional and checks if its gte 0 (TODO: we should make this a pointer to check if set) TimeoutSecs int32 `json:"timeout" yaml:"timeout" validate:"gte=1"` // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set) }
ReadinessCheck represents an additional HealthCheck which is used when a task is first started.
func (*ReadinessCheck) DeepCopy ¶
func (in *ReadinessCheck) DeepCopy() *ReadinessCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadinessCheck.
func (*ReadinessCheck) DeepCopyInto ¶
func (in *ReadinessCheck) DeepCopyInto(out *ReadinessCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSet ¶
type ResourceSet struct { Cpus float64 `json:"cpus" yaml:"cpus" validate:"omitempty,gt=0"` // makes field optional but if set value needs to be gt 0 (TODO: we should make this a pointer to check if set) Gpus float64 `json:"gpus" yaml:"gpus" validate:"omitempty,gt=0"` // makes field optional but if set value needs to be gt 0 (TODO: we should make this a pointer to check if set) MemoryMB int32 `json:"memory" yaml:"memory" validate:"omitempty,gte=1"` // makes field optional but if set value needs to be gte 1 (TODO: we should make this a pointer to check if set) Ports map[string]*Port `json:"ports" yaml:"ports" validate:"gte=0,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values Volume *Volume `json:"volume" yaml:"volume"` // field optional, no need to validate Volumes map[string]*Volume `json:"volumes" yaml:"volumes" validate:"gte=0,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values }
ResourceSets defines a single set of resources which can be reused across tasks.
func (*ResourceSet) DeepCopy ¶
func (in *ResourceSet) DeepCopy() *ResourceSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSet.
func (*ResourceSet) DeepCopyInto ¶
func (in *ResourceSet) DeepCopyInto(out *ResourceSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Scheduler ¶
type Scheduler struct { Principal *string `json:"principal" yaml:"principal" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values Zookeeper *string `json:"zookeeper" yaml:"zookeeper" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values User *string `json:"user" yaml:"user" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values }
Scheduler contains settings for the (Mesos) scheduler from the original yaml. It is not required for this project, but kept for compatibility reasons.
func (*Scheduler) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scheduler.
func (*Scheduler) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Secret ¶
type Secret struct { SecretPath *string `json:"secret" yaml:"secret" validate:"required,gt=0"` // makes field mandatory and checks if set and non empty EnvKey *string `json:"env-key" yaml:"env-key" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values FilePath *string `json:"file" yaml:"file" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values (TODO: MatchRegex Custom Validation) }
Secret to be made available in the Pod environment.
func (*Secret) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret.
func (*Secret) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceSpec ¶
type ServiceSpec struct { Name *string `json:"name" yaml:"name" validate:"required,gt=0"` // makes field mandatory and checks if set and non empty WebUrl *string `json:"web-url" yaml:"web-url" validate:"required,gt=0"` // makes field mandatory and checks if set and non empty Scheduler *Scheduler `json:"scheduler" yaml:"scheduler"` // field optional, no need to validate Pods map[string]*Pod `json:"pods" yaml:"pods" validate:"gt=0,dive,keys,required,endkeys,required"` // makes field mandatory but when set it checks for non empty keys and non empty&nil values Plans map[string]*Plan `json:"plans" yaml:"plans" validate:"gt=0,dive,keys,required,endkeys,required"` // makes field mandatory but when set it checks for non empty keys and non empty&nil values }
ServiceSpec represents the overall service definition.
func (*ServiceSpec) DeepCopy ¶
func (in *ServiceSpec) DeepCopy() *ServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec.
func (*ServiceSpec) DeepCopyInto ¶
func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Step ¶
type Step struct { Name string `json:"name"` Tasks []string `json:"tasks"` Delete bool `json:"delete,omitempty"` //Objects will be serialized for each instance as the params and defaults // are provided Objects []runtime.Object `json:"-"` }
func (*Step) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Step.
func (*Step) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepStatus ¶
type StepStatus struct { Name string `json:"name,omitempty"` State PhaseState `json:"state,omitempty"` Delete bool `json:"delete,omitempty"` //Objects will be serialized for each instance as the params and defaults // are provided, but not serialized in the payload Objects []runtime.Object `json:"-"` }
StepStatus shows the status of the Step
func (*StepStatus) DeepCopy ¶
func (in *StepStatus) DeepCopy() *StepStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepStatus.
func (*StepStatus) DeepCopyInto ¶
func (in *StepStatus) DeepCopyInto(out *StepStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Task ¶
type Task struct { Goal *string `json:"goal" yaml:"goal" validate:"required,gt=0,eq=RUNNING|eq=FINISH|eq=ONCE"` // makes field mandatory and checks if set and non empty, allows just RUNNING,FINISH,ONCE Essential bool `json:"essential" yaml:"essential" validate:"isdefault"` // makes field optional but if set it expects it to be false and will fail if true (TODO: we should make this a pointer to check if set) Cmd *string `json:"cmd" yaml:"cmd" validate:"required,gt=0"` // makes field mandatory and checks if set and non empty Env map[string]*string `json:"env" yaml:"env" validate:"gte=0,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values Configs map[string]*Config `json:"configs" yaml:"configs" validate:"gte=0,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values Cpus float64 `json:"cpus" yaml:"cpus" validate:"omitempty,gt=0"` // makes field optional but if set value needs to be gt 0 (TODO: we should make this a pointer to check if set) Gpus float64 `json:"gpus" yaml:"gpus" validate:"omitempty,gt=0"` // makes field optional but if set value needs to be gt 0 (TODO: we should make this a pointer to check if set) MemoryMB float64 `json:"memory" yaml:"memory" validate:"omitempty,gte=1"` // makes field optional but if set value needs to be gte 1 (TODO: we should make this a pointer to check if set) Ports map[string]*Port `json:"ports" yaml:"ports" validate:"gte=0,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values HealthCheck *HealthCheck `json:"health-check" yaml:"health-check"` // field optional, no need to validate ReadinessCheck *ReadinessCheck `json:"readiness-check" yaml:"readiness-check"` // field optional, no need to validate Volume *Volume `json:"volume" yaml:"volume"` // field optional, no need to validate Volumes map[string]*Volume `json:"volumes" yaml:"volumes" validate:"gte=0,dive,keys,required,endkeys,required"` // makes field optional but when set it checks for non empty keys and non empty&nil values ResourceSet *string `json:"resource-set" yaml:"resource-set" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values Discovery *Discovery `json:"discovery" yaml:"discovery"` // field optional, no need to validate TaskKillGracePeriodSecs int32 `json:"kill-grace-period" yaml:"kill-grace-period" validate:"gte=0"` // makes field optional and checks if its gte 0 (TODO: we should make this a pointer to check if set) TransportEncryption []*TransportEncryption `json:"transport-encryption" yaml:"transport-encryption" validate:"omitempty,gt=0,dive"` // makes field optional and checks if its gt 0 }
Task specifies a task to be run inside the pod.
func (*Task) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Task.
func (*Task) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TaskSpec ¶
type TaskSpec struct {
Resources []string `json:"resources"`
}
TaskSpec is a struct containing lists of of Kustomize resources
func (*TaskSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskSpec.
func (*TaskSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransportEncryption ¶
type TransportEncryption struct { Name *string `json:"name" yaml:"name" validate:"required,gt=0"` // makes field mandatory and checks if set and non empty Type *string `json:"type" yaml:"type" validate:"required,gt=0,eq=TLS|eq=KEYSTORE"` // makes field mandatory and checks if set and non empty, allows just TLS or KEYSTORE }
TransportEncryption represents information about the TLS certificate used for encrypting traffic.
func (*TransportEncryption) DeepCopy ¶
func (in *TransportEncryption) DeepCopy() *TransportEncryption
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransportEncryption.
func (*TransportEncryption) DeepCopyInto ¶
func (in *TransportEncryption) DeepCopyInto(out *TransportEncryption)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VIP ¶
type VIP struct { Port int32 `json:"port" yaml:"port"` Prefix *string `json:"prefix" yaml:"prefix"` }
VIP define a Virtual IP address for a given port.
func (*VIP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VIP.
func (*VIP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Volume ¶
type Volume struct { Path *string `json:"path" yaml:"path" validate:"required,gt=0"` // makes field mandatory and checks if set and non empty (TODO: MatchRegex Custom Validation) Type *string `json:"type" yaml:"type" validate:"required,gt=0,eq=ROOT|eq=MOUNT"` // makes field mandatory and checks if set and non empty, allows just ROOT or MOUNT SizeMB int32 `json:"size" yaml:"size" validate:"gte=1"` // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set)` }
Volume to be mounted in the Pod environment.
func (*Volume) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.