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.dev
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.dev
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AggregatedStatus
- type Command
- type Config
- type Discovery
- type ExecutionStatus
- type HealthCheck
- type HostVolume
- type Instance
- func (in *Instance) DeepCopy() *Instance
- func (in *Instance) DeepCopyInto(out *Instance)
- func (in *Instance) DeepCopyObject() runtime.Object
- func (i *Instance) EnsurePlanStatusInitialized(ov *OperatorVersion)
- func (i *Instance) GetPlanInProgress() *PlanStatus
- func (i *Instance) GetPlanToBeExecuted(ov *OperatorVersion) (*string, error)
- func (i *Instance) NoPlanEverExecuted() bool
- func (i *Instance) OperatorVersionNamespace() string
- func (i *Instance) SaveSnapshot() error
- func (i *Instance) StartPlanExecution(planName string, ov *OperatorVersion) error
- func (i *Instance) UpdateInstanceStatus(planStatus *PlanStatus)
- type InstanceError
- type InstanceList
- type InstanceSpec
- type InstanceStatus
- type Maintainer
- type Network
- type ObjectReference
- type Operator
- type OperatorDependency
- type OperatorList
- type OperatorSpec
- type OperatorStatus
- type OperatorVersion
- type OperatorVersionList
- type OperatorVersionSpec
- type OperatorVersionStatus
- type Ordering
- type Parameter
- type Phase
- type PhaseStatus
- type Plan
- type PlanStatus
- type Pod
- type Port
- type RLimit
- type ReadinessCheck
- type ResourceSet
- type Scheduler
- type Secret
- type ServiceSpec
- type Step
- type StepStatus
- type Task
- type TaskSpec
- type TestAssert
- type TestStep
- type TestSuite
- type TransportEncryption
- type VIP
- type Volume
Constants ¶
const DefaultKINDContext = "kind"
DefaultKINDContext defines the default kind context to use.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "kudo.dev", 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 AggregatedStatus ¶ added in v0.7.0
type AggregatedStatus struct { Status ExecutionStatus `json:"status,omitempty"` ActivePlanName string `json:"activePlanName,omitempty"` }
AggregatedStatus is overview of an instance status derived from the plan status
func (*AggregatedStatus) DeepCopy ¶ added in v0.7.0
func (in *AggregatedStatus) DeepCopy() *AggregatedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AggregatedStatus.
func (*AggregatedStatus) DeepCopyInto ¶ added in v0.7.0
func (in *AggregatedStatus) DeepCopyInto(out *AggregatedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Command ¶ added in v0.7.0
type Command struct { // The command and argument to run as a string. Command string `json:"command"` // If set, the `--namespace` flag will be appended to the command with the namespace to use. Namespaced bool `json:"namespaced"` // If set, failures will be ignored. IgnoreFailure bool `json:"ignoreFailure"` }
Command describes a command to run as a part of a test step or suite.
func (*Command) DeepCopy ¶ added in v0.7.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Command.
func (*Command) DeepCopyInto ¶ added in v0.7.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Discovery ¶
type Discovery struct { Prefix *string `json:"prefix" yaml:"prefix"` // no checks needed (TODO: not sure if needed at all, e.g. would it map to a service in k8s) Visibility *string `json:"visibility" yaml:"visibility"` // no checks needed (TODO: not sure if needed at all, e.g. would it map to a service in k8s) }
Discovery represents information about how a tasks should be exposed.
func (*Discovery) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Discovery.
func (*Discovery) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutionStatus ¶ added in v0.7.0
type ExecutionStatus string
ExecutionStatus captures the state of the rollout.
const ( // ExecutionInProgress actively deploying, but not yet healthy. ExecutionInProgress ExecutionStatus = "IN_PROGRESS" // ExecutionPending Not ready to deploy because dependent phases/steps not healthy. ExecutionPending ExecutionStatus = "PENDING" // ExecutionComplete deployed and healthy. ExecutionComplete ExecutionStatus = "COMPLETE" // ErrorStatus there was an error deploying the application. ErrorStatus ExecutionStatus = "ERROR" // ExecutionFatalError there was an error deploying the application. ExecutionFatalError ExecutionStatus = "FATAL_ERROR" // ExecutionNeverRun is used when this plan/phase/step was never run so far ExecutionNeverRun ExecutionStatus = "NEVER_RUN" // DeployPlanName is the name of the deployment plan DeployPlanName = "deploy" // UpgradePlanName is the name of the upgrade plan UpgradePlanName = "upgrade" // UpdatePlanName is the name of the update plan UpdatePlanName = "update" )
func (ExecutionStatus) IsFinished ¶ added in v0.7.0
func (s ExecutionStatus) IsFinished() bool
IsFinished returns true if the status is complete regardless of errors
func (ExecutionStatus) IsRunning ¶ added in v0.7.0
func (s ExecutionStatus) IsRunning() bool
IsRunning returns true if the plan is currently being executed
func (ExecutionStatus) IsTerminal ¶ added in v0.7.0
func (s ExecutionStatus) IsTerminal() bool
IsTerminal returns true if the status is terminal (either complete, or in a nonrecoverable error)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.
func (*Instance) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Instance) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Instance) EnsurePlanStatusInitialized ¶ added in v0.7.0
func (i *Instance) EnsurePlanStatusInitialized(ov *OperatorVersion)
EnsurePlanStatusInitialized initializes plan status for all plans this instance supports it does not trigger run of any plan it either initializes everything for a fresh instance without any status or tries to adjust status after OV was updated
func (*Instance) GetPlanInProgress ¶ added in v0.7.0
func (i *Instance) GetPlanInProgress() *PlanStatus
GetPlanInProgress returns plan status of currently active plan or nil if no plan is running
func (*Instance) GetPlanToBeExecuted ¶ added in v0.7.0
func (i *Instance) GetPlanToBeExecuted(ov *OperatorVersion) (*string, error)
GetPlanToBeExecuted returns name of the plan that should be executed
func (*Instance) NoPlanEverExecuted ¶ added in v0.7.0
NoPlanEverExecuted returns true is this is new instance for which we never executed any plan
func (*Instance) OperatorVersionNamespace ¶ added in v0.7.0
OperatorVersionNamespace returns the namespace of the OperatorVersion that the Instance references.
func (*Instance) SaveSnapshot ¶ added in v0.7.0
SaveSnapshot stores the current spec of Instance into the snapshot annotation this information is used when executing update/upgrade plans, this overrides any snapshot that existed before
func (*Instance) StartPlanExecution ¶ added in v0.7.0
func (i *Instance) StartPlanExecution(planName string, ov *OperatorVersion) error
StartPlanExecution mark plan as to be executed
func (*Instance) UpdateInstanceStatus ¶ added in v0.7.0
func (i *Instance) UpdateInstanceStatus(planStatus *PlanStatus)
UpdateInstanceStatus updates `Status.PlanStatus` and `Status.AggregatedStatus` property based on the given plan
type InstanceError ¶ added in v0.7.0
type InstanceError struct { EventName *string // nil if no warn event should be created // contains filtered or unexported fields }
InstanceError indicates error on that can also emit a kubernetes warn event +k8s:deepcopy-gen=false
func (*InstanceError) Error ¶ added in v0.7.0
func (e *InstanceError) Error() string
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 { // OperatorVersion specifies a reference to a specific Operator object. OperatorVersion corev1.ObjectReference `json:"operatorVersion,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 { // slice would be enough here but we cannot use slice because order of sequence in yaml is considered significant while here it's not PlanStatus map[string]PlanStatus `json:"planStatus,omitempty"` AggregatedStatus AggregatedStatus `json:"aggregatedStatus,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 struct { // Name is a user name or organization name. Name string `json:"name,omitempty"` // Email is an optional email address to contact the named maintainer. Email string `json:"email,omitempty"` }
Maintainer describes an Operator maintainer.
func (*Maintainer) DeepCopy ¶ added in v0.7.0
func (in *Maintainer) DeepCopy() *Maintainer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Maintainer.
func (*Maintainer) DeepCopyInto ¶ added in v0.7.0
func (in *Maintainer) DeepCopyInto(out *Maintainer)
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:"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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectReference ¶ added in v0.4.0
type ObjectReference struct { corev1.ObjectReference `json:",inline"` // Labels to match on. Labels map[string]string }
ObjectReference is a Kubernetes object reference with added labels to allow referencing objects by label.
func (*ObjectReference) DeepCopy ¶ added in v0.4.0
func (in *ObjectReference) DeepCopy() *ObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.
func (*ObjectReference) DeepCopyInto ¶ added in v0.4.0
func (in *ObjectReference) DeepCopyInto(out *ObjectReference)
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Operator.
func (*Operator) DeepCopyInto ¶ added in v0.3.0
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
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
func (in *OperatorVersionStatus) DeepCopy() *OperatorVersionStatus
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 an OperatorVersion being instantiated in an instance.
func (*Parameter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Parameter.
func (*Parameter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Phase ¶
type Phase struct { Name string `json:"name" 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Phase.
func (*Phase) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PhaseStatus ¶
type PhaseStatus struct { Name string `json:"name,omitempty"` Status ExecutionStatus `json:"status,omitempty"` Steps []StepStatus `json:"steps,omitempty"` }
PhaseStatus is representing status of a phase
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plan.
func (*Plan) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlanStatus ¶ added in v0.7.0
type PlanStatus struct { Name string `json:"name,omitempty"` Status ExecutionStatus `json:"status,omitempty"` LastFinishedRun metav1.Time `json:"lastFinishedRun,omitempty"` Phases []PhaseStatus `json:"phases,omitempty"` }
PlanStatus is representing status of a plan
These are valid states and trainsitions
+----------------+ | Never executed | +-------+--------+ | v
+-------------+ +-------+--------+ | Error |<------>| Pending | +------+------+ +-------+--------+
^ | | v | +-------+--------+ +-------------->| In progress | | +-------+--------+ | | v v
+------+------+ +-------+--------+ | Fatal error | | Complete | +-------------+ +----------------+
func (*PlanStatus) DeepCopy ¶ added in v0.7.0
func (in *PlanStatus) DeepCopy() *PlanStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlanStatus.
func (*PlanStatus) DeepCopyInto ¶ added in v0.7.0
func (in *PlanStatus) DeepCopyInto(out *PlanStatus)
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pod.
func (*Pod) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Port ¶
type Port struct { Port int32 `json:"port" yaml:"port" validate:"gte=1,max=65535"` // makes field mandatory and checks if its a valid port (TODO: we should make this a pointer to check if set) EnvKey *string `json:"env-key" yaml:"env-key" validate:"omitempty,gt=0"` // makes field optional but when set checks if non empty&nil values Advertise bool `json:"advertise" yaml:"advertise"` // no checks needed (TODO: not sure if needed at all, e.g. would it map to a service in k8s) VIP *VIP `json:"vip" yaml:"vip"` // no checks needed (TODO: not sure if needed at all, e.g. would it map to a service in k8s) }
Port represents a port an application should listen on.
func (*Port) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Port.
func (*Port) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RLimit ¶
type RLimit struct { Soft int64 `json:"soft" yaml:"soft" validate:"gte=1"` // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set | does this apply in k8s land?) Hard int64 `json:"hard" yaml:"hard" validate:"gte=1"` // makes field mandatory and checks if its gte 1 (TODO: we should make this a pointer to check if set | does this apply in k8s land?) }
RLimit represents an rlimit setting to be applied to the pod.
func (*RLimit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RLimit.
func (*RLimit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReadinessCheck ¶
type ReadinessCheck struct { Cmd *string `json:"cmd" yaml:"cmd" validate:"omitempty,gt=0"` // makes field 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scheduler.
func (*Scheduler) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Secret ¶
type Secret struct { SecretPath *string `json:"secret" yaml:"secret" validate:"required,gt=0"` // makes field mandatory and checks if 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret.
func (*Secret) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceSpec ¶
type ServiceSpec struct { Name *string `json:"name" yaml:"name" validate:"required,gt=0"` // makes field mandatory and checks if 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Step.
func (*Step) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepStatus ¶
type StepStatus struct { Name string `json:"name,omitempty"` Status ExecutionStatus `json:"status,omitempty"` }
StepStatus is representing status of a 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Task.
func (*Task) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TaskSpec ¶
type TaskSpec struct {
Resources []string `json:"resources"`
}
TaskSpec is a struct containing lists of Kustomize resources.
func (*TaskSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskSpec.
func (*TaskSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TestAssert ¶ added in v0.3.0
type TestAssert struct { // The type meta object, should always be a GVK of kudo.dev/v1alpha1/TestAssert. metav1.TypeMeta `json:",inline"` // Override the default timeout of 30 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.dev/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 []ObjectReference `json:"delete,omitempty"` // Indicates that this is a unit test - safe to run without a real Kubernetes cluster. UnitTest bool `json:"unitTest"` // Kubectl commands to run at the start of the test Kubectl []string `json:"kubectl"` // Commands to run prior at the beginning of the test step. Commands []Command `json:"commands"` }
TestStep settings to apply to a test step.
func (*TestStep) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestStep.
func (*TestStep) DeepCopyInto ¶ added in v0.3.0
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
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.dev/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"` // Paths to directories containing manifests to install before running tests. ManifestDirs []string `json:"manifestDirs"` // 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 a local kind cluster for the tests. StartKIND bool `json:"startKIND"` // Path to the KIND configuration file to use. KINDConfig string `json:"kindConfig"` // KIND context to use. KINDContext string `json:"kindContext"` // If set, each node defined in the kind configuration will have a docker named volume mounted into it to persist // pulled container images across test runs. KINDNodeCache bool `json:"kindNodeCache"` // Whether or not to start the KUDO controller for the tests. StartKUDO bool `json:"startKUDO"` // If set, do not delete the resources after running the tests (implies SkipClusterDelete). SkipDelete bool `json:"skipDelete"` // If set, do not delete the mocked control plane or kind cluster. SkipClusterDelete bool `json:"skipClusterDelete"` // Override the default timeout of 30 seconds (in seconds). Timeout int `json:"timeout"` // The maximum number of tests to run at once (default: 8). Parallel int `json:"parallel"` // The directory to output artifacts to (current working directory if not specified). ArtifactsDir string `json:"artifactsDir"` // Kubectl commands to run before running any tests. Kubectl []string `json:"kubectl"` // Commands to run prior to running the tests. Commands []Command `json:"commands"` }
TestSuite configures which tests should be loaded.
func (*TestSuite) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestSuite.
func (*TestSuite) DeepCopyInto ¶ added in v0.3.0
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
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VIP.
func (*VIP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Volume ¶
type Volume struct { Path *string `json:"path" yaml:"path" validate:"required,gt=0"` // makes field mandatory and checks if 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.