v1alpha1

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Jul 9, 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 non empty
	Dest     *string `json:"dest" yaml:"dest" validate:"required,gt=0"`         // makes field mandatory and checks if non empty
}

Config represents a config template which is rendered before the pods are 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 HealthCheck

type HealthCheck struct {
	Cmd                    *string `json:"cmd" yaml:"cmd" validate:"omitempty,gt=0"`                                            // makes field optional and checks if non empty
	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:"omitempty,gte=1"` // makes field optional and checks if its gte 1 (TODO: we should make this a pointer to check if set | can it be zero?)
	DelaySecs              int32   `json:"delay" yaml:"delay" validate:"omitempty,gte=1"`                                       // makes field optional and checks if its gte 1 (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 non empty (TODO: MatchRegex Custom Validation)
	ContainerPath *string `json:"container-path" yaml:"container-path" validate:"required,gt=0"` // makes field mandatory and checks if 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.

func (*Instance) GetOperatorVersionNamespace added in v0.3.0

func (i *Instance) GetOperatorVersionNamespace() string

GetOperatorVersionNamespace returns the namespace of the OperatorVersion that the Instance references.

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 {
	// Operator specifies a reference to a specific Operator object.
	OperatorVersion corev1.ObjectReference `json:"operatorVersion,omitempty"`

	Dependencies []OperatorDependency `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 Maintainer added in v0.2.0

type Maintainer string

Maintainer contains contact info for the maintainer of the Operator

type Network

type Network struct {
	HostPorts      []int32 `json:"host-ports" yaml:"host-ports" validate:"required,gt=0,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:"required,gt=0,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 Operator added in v0.3.0

type Operator struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OperatorSpec   `json:"spec,omitempty"`
	Status OperatorStatus `json:"status,omitempty"`
}

Operator is the Schema for the operator API +k8s:openapi-gen=true

func (*Operator) DeepCopy added in v0.3.0

func (in *Operator) DeepCopy() *Operator

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

func (*Operator) DeepCopyInto added in v0.3.0

func (in *Operator) DeepCopyInto(out *Operator)

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

func (*Operator) DeepCopyObject added in v0.3.0

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OperatorDependency added in v0.3.0

type OperatorDependency struct {
	// Name specifies the name of the dependency. Referenced via 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"`
}

OperatorDependency references a defined operator.

func (*OperatorDependency) DeepCopy added in v0.3.0

func (in *OperatorDependency) DeepCopy() *OperatorDependency

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

func (*OperatorDependency) DeepCopyInto added in v0.3.0

func (in *OperatorDependency) DeepCopyInto(out *OperatorDependency)

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

type OperatorList added in v0.3.0

type OperatorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Operator `json:"items"`
}

OperatorList contains a list of Operator

func (*OperatorList) DeepCopy added in v0.3.0

func (in *OperatorList) DeepCopy() *OperatorList

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

func (*OperatorList) DeepCopyInto added in v0.3.0

func (in *OperatorList) DeepCopyInto(out *OperatorList)

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

func (*OperatorList) DeepCopyObject added in v0.3.0

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OperatorSpec added in v0.3.0

type OperatorSpec struct {
	Description       string       `json:"description,omitempty"`
	KudoVersion       string       `json:"kudoVersion,omitempty"`
	KubernetesVersion string       `json:"kubernetesVersion,omitempty"`
	Maintainers       []Maintainer `json:"maintainers,omitempty"`
	URL               string       `json:"url,omitempty"`
}

OperatorSpec defines the desired state of Operator

func (*OperatorSpec) DeepCopy added in v0.3.0

func (in *OperatorSpec) DeepCopy() *OperatorSpec

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

func (*OperatorSpec) DeepCopyInto added in v0.3.0

func (in *OperatorSpec) DeepCopyInto(out *OperatorSpec)

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

type OperatorStatus added in v0.3.0

type OperatorStatus struct {
}

OperatorStatus defines the observed state of Operator

func (*OperatorStatus) DeepCopy added in v0.3.0

func (in *OperatorStatus) DeepCopy() *OperatorStatus

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

func (*OperatorStatus) DeepCopyInto added in v0.3.0

func (in *OperatorStatus) DeepCopyInto(out *OperatorStatus)

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

type OperatorVersion added in v0.3.0

type OperatorVersion struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OperatorVersionSpec   `json:"spec,omitempty"`
	Status OperatorVersionStatus `json:"status,omitempty"`
}

OperatorVersion is the Schema for the operatorversions API. +k8s:openapi-gen=true

func (*OperatorVersion) DeepCopy added in v0.3.0

func (in *OperatorVersion) DeepCopy() *OperatorVersion

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

func (*OperatorVersion) DeepCopyInto added in v0.3.0

func (in *OperatorVersion) DeepCopyInto(out *OperatorVersion)

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

func (*OperatorVersion) DeepCopyObject added in v0.3.0

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OperatorVersionList added in v0.3.0

type OperatorVersionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OperatorVersion `json:"items"`
}

OperatorVersionList contains a list of OperatorVersion.

func (*OperatorVersionList) DeepCopy added in v0.3.0

func (in *OperatorVersionList) DeepCopy() *OperatorVersionList

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

func (*OperatorVersionList) DeepCopyInto added in v0.3.0

func (in *OperatorVersionList) DeepCopyInto(out *OperatorVersionList)

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

func (*OperatorVersionList) DeepCopyObject added in v0.3.0

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OperatorVersionSpec added in v0.3.0

type OperatorVersionSpec struct {
	// +optional
	Operator corev1.ObjectReference `json:"operator,omitempty"`
	Version  string                 `json:"version,omitempty"`

	// Yaml captures a templated yaml list of elements that define the application operator instance.
	Templates map[string]string   `json:"templates,omitempty"`
	Tasks     map[string]TaskSpec `json:"tasks,omitempty"`

	Parameters []Parameter `json:"parameters,omitempty"`

	// Plans maps a plan name to a plan.
	Plans map[string]Plan `json:"plans,omitempty"`

	// ConnectionString defines a templated string that can be used to connect to an instance of the Operator.
	// +optional
	ConnectionString string `json:"connectionString,omitempty"`

	// Dependencies a list of all dependencies of the operator.
	Dependencies []OperatorDependency `json:"dependencies,omitempty"`

	// UpgradableFrom lists all OperatorVersions that can upgrade to this OperatorVersion.
	UpgradableFrom []OperatorVersion `json:"upgradableFrom,omitempty"`
}

OperatorVersionSpec defines the desired state of OperatorVersion.

func (*OperatorVersionSpec) DeepCopy added in v0.3.0

func (in *OperatorVersionSpec) DeepCopy() *OperatorVersionSpec

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

func (*OperatorVersionSpec) DeepCopyInto added in v0.3.0

func (in *OperatorVersionSpec) DeepCopyInto(out *OperatorVersionSpec)

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

type OperatorVersionStatus added in v0.3.0

type OperatorVersionStatus struct {
}

OperatorVersionStatus defines the observed state of OperatorVersion.

func (*OperatorVersionStatus) DeepCopy added in v0.3.0

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

func (*OperatorVersionStatus) DeepCopyInto added in v0.3.0

func (in *OperatorVersionStatus) DeepCopyInto(out *OperatorVersionStatus)

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 launched 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.
	DisplayName string `json:"displayName,omitempty"`

	// Name is the string that should be used in the templated 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 parameter 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 parameter 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 a plan with that name exists, otherwise it's `deploy`
	Trigger string `json:"trigger,omitempty"`
}

Parameter captures the variability of a OperatorVersion being instantiated in an instance.

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" validate:"required"`     // makes field mandatory and checks if set and non empty
	Strategy Ordering `json:"strategy" validate:"required"` // makes field mandatory and checks if set and non empty

	// Steps maps a step name to a list of templated Kubernetes objects stored as a string.
	Steps []Step `json:"steps" validate:"required,gt=0,dive"` // makes field mandatory and checks if its gt 0
}

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 templated 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" validate:"required"` // makes field mandatory and checks if set and non empty
	// Phases maps a phase name to a Phase object.
	Phases []Phase `json:"phases" validate:"required,gt=0,dive"` // makes field mandatory and checks if its gt 0
}

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 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 {
	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:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"` // makes field optional and checks nil pointer, empty keys and dives into nested object
	Placement         *string                 `json:"placement" yaml:"placement" validate:"omitempty,gt=0"`                                                  // makes field optional and checks if non empty
	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 and checks if non empty
	Networks          map[string]*Network     `json:"networks" yaml:"networks" validate:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"`           // makes field optional and checks nil pointer, empty keys and dives into nested object
	RLimits           map[string]*RLimit      `json:"rlimits" yaml:"rlimits" validate:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"`             // makes field optional and checks nil pointer, empty keys and dives into nested object
	Uris              []*string               `json:"uris" yaml:"uris" validate:"required,gt=0,dive,required,gt=0"`                                          // makes field mandatory and checks if non empty (TODO: check for duplicates)
	Tasks             map[string]*Task        `json:"tasks" yaml:"tasks" validate:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"`                 // makes field optional and checks nil pointer, empty keys and dives into nested object
	Volume            *Volume                 `json:"volume" yaml:"volume"`                                                                                  // field optional, no need to validate
	Volumes           map[string]*Volume      `json:"volumes" yaml:"volumes" validate:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"`             // makes field optional and checks nil pointer, empty keys and dives into nested object
	PreReservedRole   *string                 `json:"pre-reserved-role" yaml:"pre-reserved-role" validate:"omitempty,gt=0"`                                  // makes field optional and checks if non empty
	Secrets           map[string]*Secret      `json:"secrets" yaml:"secrets" validate:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"`             // makes field optional and checks nil pointer, empty keys and dives into nested object
	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:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"`   // makes field optional and checks nil pointer, empty keys and dives into nested objects
}

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?)
}

RLimit represents an 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 mandatory and checks if non empty
	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:"omitempty,gte=1"` // makes field optional and checks if its gte 1 (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 and checks if non empty (TODO: we should make this a pointer to check if set)
	Gpus     float64            `json:"gpus" yaml:"gpus" validate:"omitempty,gt=0"`                                                // makes field optional and checks if non empty (TODO: we should make this a pointer to check if set)
	MemoryMB int32              `json:"memory" yaml:"memory" validate:"omitempty,gte=1"`                                           // makes field optional and checks if its gte 1 (TODO: we should make this a pointer to check if set)
	Ports    map[string]*Port   `json:"ports" yaml:"ports" validate:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"`     // makes field optional and checks nil pointer, empty keys and dives into nested object
	Volume   *Volume            `json:"volume" yaml:"volume"`                                                                      // field optional, no need to validate
	Volumes  map[string]*Volume `json:"volumes" yaml:"volumes" validate:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"` // makes field optional and checks nil pointer, empty keys and dives into nested object
}

ResourceSet 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 and checks if non empty
	Zookeeper *string `json:"zookeeper" yaml:"zookeeper" validate:"omitempty,gt=0"` // makes field optional and checks if non empty
	User      *string `json:"user" yaml:"user" validate:"omitempty,gt=0"`           // makes field optional and checks if non empty
}

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 non empty
	EnvKey     *string `json:"env-key" yaml:"env-key" validate:"omitempty,gt=0"` // makes field optional and checks if non empty
	FilePath   *string `json:"file" yaml:"file" validate:"omitempty,gt=0"`       // makes field optional and checks if non empty (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 non empty
	WebURL    *string          `json:"web-url" yaml:"web-url" validate:"required,gt=0"`                                       // makes field mandatory and checks if non empty
	Scheduler *Scheduler       `json:"scheduler" yaml:"scheduler"`                                                            // field optional, no need to validate
	Pods      map[string]*Pod  `json:"pods" yaml:"pods" validate:"required,gt=0,dive,keys,required,endkeys,required,dive"`    // makes field mandatory and checks nil pointer, empty keys and dives into nested object
	Plans     map[string]*Plan `json:"plans" yaml:"plans" validate:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"` // makes field optional and checks nil pointer, empty keys and dives into nested object
}

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" validate:"required"`                     // makes field mandatory and checks if set and non empty
	Tasks  []string `json:"tasks" validate:"required,gt=0,dive,required"` // makes field mandatory and checks if non empty
	Delete bool     `json:"delete,omitempty"`                             // no checks needed

	// Objects will be serialized for each instance as the params and defaults are provided.
	Objects []runtime.Object `json:"-"` // no checks needed
}

Step defines a specific set of operations that occur.

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:"omitempty,gt=0,dive,keys,required,endkeys,required,gt=0"`         // makes field optional and checks nil pointer, empty strings for keys and values
	Configs                 map[string]*Config     `json:"configs" yaml:"configs" validate:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"` // makes field optional and checks nil pointer, empty keys and dives into nested object
	Cpus                    float64                `json:"cpus" yaml:"cpus" validate:"gte=1"`                                                         // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set)
	Gpus                    float64                `json:"gpus" yaml:"gpus" validate:"omitempty,gte=1"`                                               // 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:"gte=1"`                                                     // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set)
	Ports                   map[string]*Port       `json:"ports" yaml:"ports" validate:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"`     // makes field optional and checks nil pointer, empty strings for keys and 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:"omitempty,gt=0,dive,keys,required,endkeys,required,dive"` // makes field optional and checks nil pointer, empty strings for keys and values
	ResourceSet             *string                `json:"resource-set" yaml:"resource-set" validate:"omitempty,gt=0"`                                // makes field optional and checks if non empty
	Discovery               *Discovery             `json:"discovery" yaml:"discovery"`                                                                // field optional, no need to validate
	TaskKillGracePeriodSecs int32                  `json:"kill-grace-period" yaml:"kill-grace-period" validate:"omitempty,gte=1"`                     // makes field optional and checks if its gte 1 (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 object is non empty
}

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 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 TestAssert added in v0.3.0

type TestAssert struct {
	// The type meta object, should always be a GVK of kudo.k8s.io/v1alpha1/TestAssert.
	metav1.TypeMeta `json:",inline"`
	// Override the default timeout of 300 seconds (in seconds).
	Timeout int `json:"timeout"`
}

TestAssert represents the settings needed to verify the result of a test step.

func (*TestAssert) DeepCopy added in v0.3.0

func (in *TestAssert) DeepCopy() *TestAssert

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

func (*TestAssert) DeepCopyInto added in v0.3.0

func (in *TestAssert) DeepCopyInto(out *TestAssert)

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

func (*TestAssert) DeepCopyObject added in v0.3.0

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TestStep added in v0.3.0

type TestStep struct {
	// The type meta object, should always be a GVK of kudo.k8s.io/v1alpha1/TestStep.
	metav1.TypeMeta `json:",inline"`
	// Override the default metadata. Set labels or override the test step name.
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Index int `json:"index,omitempty"`
	// Objects to delete at the beginning of the test step.
	Delete []corev1.ObjectReference `json:"delete,omitempty"`

	// Indicates that this is a unit test - safe to run without a real Kubernetes cluster.
	UnitTest bool `json:"unitTest"`
}

TestStep settings to apply to a test step.

func (*TestStep) DeepCopy added in v0.3.0

func (in *TestStep) DeepCopy() *TestStep

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

func (*TestStep) DeepCopyInto added in v0.3.0

func (in *TestStep) DeepCopyInto(out *TestStep)

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

func (*TestStep) DeepCopyObject added in v0.3.0

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TestSuite added in v0.3.0

type TestSuite struct {
	// The type meta object, should always be a GVK of kudo.k8s.io/v1alpha1/TestSuite.
	metav1.TypeMeta `json:",inline"`
	// Set labels or the test suite name.
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Path to CRDs to install before running tests.
	CRDDir string `json:"crdDir"`
	// Path to manifests to install before running tests.
	ManifestsDir string `json:"manifestsDir"`
	// Directories containing test cases to run.
	TestDirs []string `json:"testDirs"`
	// Whether or not to start a local etcd and kubernetes API server for the tests.
	StartControlPlane bool `json:"startControlPlane"`
	// Whether or not to start the KUDO controller for the tests.
	StartKUDO bool `json:"startKUDO"`
}

TestSuite configures which tests should be loaded.

func (*TestSuite) DeepCopy added in v0.3.0

func (in *TestSuite) DeepCopy() *TestSuite

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

func (*TestSuite) DeepCopyInto added in v0.3.0

func (in *TestSuite) DeepCopyInto(out *TestSuite)

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

func (*TestSuite) DeepCopyObject added in v0.3.0

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TransportEncryption

type TransportEncryption struct {
	Name *string `json:"name" yaml:"name" validate:"required,gt=0"`                    // makes field mandatory and checks if non empty
	Type *string `json:"type" yaml:"type" validate:"required,gt=0,eq=TLS|eq=KEYSTORE"` // makes field mandatory and checks if 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 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 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