v1alpha1

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 11, 2019 License: Apache-2.0 Imports: 5 Imported by: 0

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

Constants

This section is empty.

Variables

View Source
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

func (in *Config) DeepCopy() *Config

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

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

func (in *Discovery) DeepCopy() *Discovery

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Discovery.

func (*Discovery) DeepCopyInto

func (in *Discovery) DeepCopyInto(out *Discovery)

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

func (in *Framework) DeepCopy() *Framework

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Framework.

func (*Framework) DeepCopyInto

func (in *Framework) DeepCopyInto(out *Framework)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Framework) DeepCopyObject

func (in *Framework) DeepCopyObject() runtime.Object

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

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

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

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

func (in *Instance) DeepCopy() *Instance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.

func (*Instance) DeepCopyInto

func (in *Instance) DeepCopyInto(out *Instance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Instance) DeepCopyObject

func (in *Instance) DeepCopyObject() runtime.Object

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

func (in *Network) DeepCopy() *Network

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

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

func (in *Parameter) DeepCopy() *Parameter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Parameter.

func (*Parameter) DeepCopyInto

func (in *Parameter) DeepCopyInto(out *Parameter)

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

func (in *Phase) DeepCopy() *Phase

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Phase.

func (*Phase) DeepCopyInto

func (in *Phase) DeepCopyInto(out *Phase)

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

func (in *Plan) DeepCopy() *Plan

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plan.

func (*Plan) DeepCopyInto

func (in *Plan) DeepCopyInto(out *Plan)

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
	SharePidNamespace bool                    `json:"share-pid-namespace" yaml:"share-pid-namespace"`                                          // no checks needed
	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

func (in *Pod) DeepCopy() *Pod

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pod.

func (*Pod) DeepCopyInto

func (in *Pod) DeepCopyInto(out *Pod)

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

func (in *Port) DeepCopy() *Port

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Port.

func (*Port) DeepCopyInto

func (in *Port) DeepCopyInto(out *Port)

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

func (in *RLimit) DeepCopy() *RLimit

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RLimit.

func (*RLimit) DeepCopyInto

func (in *RLimit) DeepCopyInto(out *RLimit)

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

func (in *Scheduler) DeepCopy() *Scheduler

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scheduler.

func (*Scheduler) DeepCopyInto

func (in *Scheduler) DeepCopyInto(out *Scheduler)

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

func (in *Secret) DeepCopy() *Secret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret.

func (*Secret) DeepCopyInto

func (in *Secret) DeepCopyInto(out *Secret)

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

func (in *Step) DeepCopy() *Step

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Step.

func (*Step) DeepCopyInto

func (in *Step) DeepCopyInto(out *Step)

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

func (in *Task) DeepCopy() *Task

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Task.

func (*Task) DeepCopyInto

func (in *Task) DeepCopyInto(out *Task)

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

func (in *TaskSpec) DeepCopy() *TaskSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskSpec.

func (*TaskSpec) DeepCopyInto

func (in *TaskSpec) DeepCopyInto(out *TaskSpec)

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

func (in *VIP) DeepCopy() *VIP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VIP.

func (*VIP) DeepCopyInto

func (in *VIP) DeepCopyInto(out *VIP)

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

func (in *Volume) DeepCopy() *Volume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL