v1alpha1

package
v1.0.18 Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the Frisbee v1alpha1 API group +kubebuilder:object:generate=true +groupName=frisbee.io

Index

Constants

View Source
const (
	FaultPartition = FaultType("partition")
	FaultKill      = FaultType("kill")
)
View Source
const (
	// LabelManagedBy binds an object  back to a specific controller.
	LabelManagedBy = "frisbee-controller"

	// BelongsToWorkflow is a label that is passed from parent to the child, in order to identify all
	// the various objects that belong to a specific workflow.
	BelongsToWorkflow = "frisbee-workflow"
)
View Source
const (
	// PhaseUninitialized means that request is not yet accepted by the controller.
	PhaseUninitialized = Phase("")

	// PhasePending means that the CR has been accepted by the Kubernetes cluster, but one of the child
	// jobs has not been created. This includes the time waiting for logical dependencies, Ports discovery,
	// data rewiring, and placement of Pods.
	PhasePending = Phase("Pending")

	// PhaseRunning means that all the child jobs of a CR have been created, and at least one job
	// is still running.
	PhaseRunning = Phase("Running")

	// PhaseSuccess means that all jobs in a CR have voluntarily exited, and the system is not going
	// to restart any of these Jobs.
	PhaseSuccess = Phase("Success")

	// PhaseFailed means that at least one job of the CR has terminated in a failure (exited with a
	// non-zero exit code or was stopped by the system).
	PhaseFailed = Phase("Failed")
)

These are the valid statuses of services. The following lifecycles are valid: PhaseUninitialized -> PhaseFailed PhaseUninitialized -> PhaseRunning* -> Completed PhaseUninitialized -> PhaseRunning* -> PhaseFailed PhaseUninitialized -> PhaseChaos* -> Completed PhaseUninitialized -> PhaseRunning* -> PhaseChaos -> Completed The asterix (*) Indicate that the same phase may appear recursively.

View Source
const (
	// ConditionCRInitialized indicates whether the workflow has been initialized
	ConditionCRInitialized = ConditionType("initialized")

	ConditionJobFailed = ConditionType("hasFailedJobs")

	// ConditionAllJobsScheduled indicates whether all actions in the workflow have been executed.
	ConditionAllJobsScheduled = ConditionType("AllJobsAreScheduled")

	// ConditionAllJobsCompleted indicates whether all actions in the workflow have been completed.
	ConditionAllJobsCompleted = ConditionType("complete")

	// ConditionTerminated indicates the user-defined conditions are met.
	ConditionTerminated = ConditionType("terminated")
)

These are valid conditions of pod.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "frisbee.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Action

type Action struct {
	ActionType string `json:"action"`

	// Name is a unique identifier of the action
	Name string `json:"name"`

	// DependsOn defines the conditions for the execution of this action
	// +optional
	DependsOn *WaitSpec `json:"depends,omitempty"`

	// Assert defines the conditions under which the workflow will terminate with a "passed" or "failed" message
	// +optional
	Assert *ConditionalExpr `json:"assert,omitempty"`

	*EmbedActions `json:",inline"`
}

Action delegates arguments to the proper action handler.

func (*Action) DeepCopy

func (in *Action) DeepCopy() *Action

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

func (*Action) DeepCopyInto

func (in *Action) DeepCopyInto(out *Action)

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

type Cascade added in v1.0.16

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

	Spec   CascadeSpec   `json:"spec,omitempty"`
	Status CascadeStatus `json:"status,omitempty"`
}

Cascade is the Schema for the clusters API.

func (*Cascade) DeepCopy added in v1.0.16

func (in *Cascade) DeepCopy() *Cascade

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

func (*Cascade) DeepCopyInto added in v1.0.16

func (in *Cascade) DeepCopyInto(out *Cascade)

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

func (*Cascade) DeepCopyObject added in v1.0.16

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

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

func (*Cascade) GetReconcileStatus added in v1.0.16

func (in *Cascade) GetReconcileStatus() Lifecycle

func (*Cascade) SetReconcileStatus added in v1.0.16

func (in *Cascade) SetReconcileStatus(lifecycle Lifecycle)

type CascadeList added in v1.0.16

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

CascadeList contains a list of Cascades.

func (*CascadeList) DeepCopy added in v1.0.16

func (in *CascadeList) DeepCopy() *CascadeList

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

func (*CascadeList) DeepCopyInto added in v1.0.16

func (in *CascadeList) DeepCopyInto(out *CascadeList)

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

func (*CascadeList) DeepCopyObject added in v1.0.16

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

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

type CascadeSpec added in v1.0.16

type CascadeSpec struct {
	GenerateFromTemplate `json:",inline"`

	// Schedule defines the interval between the creation of services within the group. Executed creation is not
	// supported in collocated mode. Since Pods are intended to be disposable and replaceable, we cannot add a
	// container to a Pod once it has been created
	// +optional
	Schedule *SchedulerSpec `json:"schedule,omitempty"`

	// Suspend 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"`
}

CascadeSpec defines the desired state of Cascade.

func (*CascadeSpec) DeepCopy added in v1.0.16

func (in *CascadeSpec) DeepCopy() *CascadeSpec

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

func (*CascadeSpec) DeepCopyInto added in v1.0.16

func (in *CascadeSpec) DeepCopyInto(out *CascadeSpec)

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

type CascadeStatus added in v1.0.16

type CascadeStatus struct {
	Lifecycle `json:",inline"`

	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// QueuedJobs is a list of Chaos jobs scheduled for creation by the cascade.
	// +optional
	QueuedJobs []ChaosSpec `json:"queuedJobs,omitempty"`

	// ScheduledJobs points to the next QueuedJobs.
	ScheduledJobs int `json:"scheduledJobs,omitempty"`

	// LastScheduleTime provide information about  the last time a Chaos job was successfully scheduled.
	LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"`
}

CascadeStatus defines the observed state of Cascade.

func (*CascadeStatus) DeepCopy added in v1.0.16

func (in *CascadeStatus) DeepCopy() *CascadeStatus

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

func (*CascadeStatus) DeepCopyInto added in v1.0.16

func (in *CascadeStatus) DeepCopyInto(out *CascadeStatus)

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

type Chaos

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

	Spec   ChaosSpec   `json:"spec,omitempty"`
	Status ChaosStatus `json:"status,omitempty"`
}

Chaos is the Schema for the chaos API.

func (*Chaos) DeepCopy

func (in *Chaos) DeepCopy() *Chaos

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

func (*Chaos) DeepCopyInto

func (in *Chaos) DeepCopyInto(out *Chaos)

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

func (*Chaos) DeepCopyObject

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

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

func (*Chaos) Default

func (r *Chaos) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Chaos) GetReconcileStatus

func (in *Chaos) GetReconcileStatus() Lifecycle

func (*Chaos) SetReconcileStatus

func (in *Chaos) SetReconcileStatus(lifecycle Lifecycle)

func (*Chaos) SetupWebhookWithManager

func (r *Chaos) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Chaos) ValidateCreate

func (r *Chaos) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Chaos) ValidateDelete

func (r *Chaos) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Chaos) ValidateUpdate

func (r *Chaos) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ChaosList

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

ChaosList contains a list of Chaos.

func (*ChaosList) DeepCopy

func (in *ChaosList) DeepCopy() *ChaosList

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

func (*ChaosList) DeepCopyInto

func (in *ChaosList) DeepCopyInto(out *ChaosList)

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

func (*ChaosList) DeepCopyObject

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

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

type ChaosSpec

type ChaosSpec struct {
	// Type indicate the type of the injected fault
	// +kubebuilder:validation:Enum=partition;kill;
	Type FaultType `json:"type"`

	*EmbedFaultType `json:",inline"`
}

ChaosSpec defines the desired state of Chaos.

func (*ChaosSpec) DeepCopy

func (in *ChaosSpec) DeepCopy() *ChaosSpec

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

func (*ChaosSpec) DeepCopyInto

func (in *ChaosSpec) DeepCopyInto(out *ChaosSpec)

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

type ChaosStatus

type ChaosStatus struct {
	Lifecycle `json:",inline"`

	// LastScheduleTime provide information about  the last time a Pod was scheduled.
	LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"`
}

ChaosStatus defines the observed state of Chaos.

func (*ChaosStatus) DeepCopy

func (in *ChaosStatus) DeepCopy() *ChaosStatus

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

func (*ChaosStatus) DeepCopyInto

func (in *ChaosStatus) DeepCopyInto(out *ChaosStatus)

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

type Cluster

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

	Spec   ClusterSpec   `json:"spec,omitempty"`
	Status ClusterStatus `json:"status,omitempty"`
}

Cluster is the Schema for the clusters API.

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

func (*Cluster) Default

func (r *Cluster) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Cluster) GetReconcileStatus

func (in *Cluster) GetReconcileStatus() Lifecycle

func (*Cluster) SetReconcileStatus

func (in *Cluster) SetReconcileStatus(lifecycle Lifecycle)

func (*Cluster) SetupWebhookWithManager

func (r *Cluster) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Cluster) ValidateCreate

func (r *Cluster) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Cluster) ValidateDelete

func (r *Cluster) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Cluster) ValidateUpdate

func (r *Cluster) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ClusterList

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

ClusterList contains a list of Cluster.

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

type ClusterSpec

type ClusterSpec struct {
	GenerateFromTemplate `json:",inline"`

	// Tolerate specifies the conditions under which the cluster will fail. If left undefined, the cluster
	// will fail immediately when a service has failed.
	// +optional
	Tolerate TolerateSpec `json:"tolerate,omitempty"`

	// Schedule defines the interval between the creation of services within the group. Executed creation is not
	// supported in collocated mode. Since Pods are intended to be disposable and replaceable, we cannot add a
	// container to a Pod once it has been created
	// +optional
	Schedule *SchedulerSpec `json:"schedule,omitempty"`

	// Placement defines rules for placing the containers across the available nodes.
	// +optional
	Placement *PlacementSpec `json:"placement,omitempty"`

	// Suspend 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"`
}

ClusterSpec defines the desired state of Cluster.

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

type ClusterStatus struct {
	Lifecycle `json:",inline"`

	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// QueuedJobs is a list of services scheduled for creation by the cluster.
	// +optional
	QueuedJobs []ServiceSpec `json:"queuedJobs,omitempty"`

	// ScheduledJobs points to the next QueuedJobs.
	ScheduledJobs int `json:"scheduledJobs,omitempty"`

	// LastScheduleTime provide information about  the last time a Service was successfully scheduled.
	LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"`
}

ClusterStatus defines the observed state of Cluster.

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type ConditionType

type ConditionType string

ConditionType is a valid value for WorkflowCondition.Type

func (ConditionType) String

func (t ConditionType) String() string

type ConditionalExpr added in v1.0.16

type ConditionalExpr struct {
	// Metrics set a Grafana alert that will be triggered once the condition is met.
	// Parsing:
	// Grafana URL: http://grafana/d/A2EjFbsMk/ycsb-services?editPanel=86
	// metrics: A2EjFbsMk/86/Average (Panel/Dashboard/Metric)
	//
	// +optional
	// +nullable
	Metrics ExprMetrics `json:"metrics,omitempty"`

	// State describe the runtime condition that should be met after the action has been executed
	// Shall be defined using .Lifecycle() methods. The methods account only jobs that are managed by the object.
	// +optional
	// +nullable
	State ExprState `json:"state,omitempty"`
}

ConditionalExpr is a source of information about whether the state of the workflow after a given time is correct or not. This is needed because some workflows may run in infinite-horizons.

func (*ConditionalExpr) DeepCopy added in v1.0.16

func (in *ConditionalExpr) DeepCopy() *ConditionalExpr

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

func (*ConditionalExpr) DeepCopyInto added in v1.0.16

func (in *ConditionalExpr) DeepCopyInto(out *ConditionalExpr)

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

func (*ConditionalExpr) HasMetricsExpr added in v1.0.16

func (c *ConditionalExpr) HasMetricsExpr() bool

func (*ConditionalExpr) HasStateExpr added in v1.0.16

func (c *ConditionalExpr) HasStateExpr() bool

func (*ConditionalExpr) IsZero added in v1.0.17

func (c *ConditionalExpr) IsZero() bool

type Decorators added in v1.0.10

type Decorators struct {
	// Resources specifies limitations as to how the container will access host resources.
	// +optional
	Resources *Resources `json:"resources,omitempty"`

	// Telemetry is a list of referenced agents responsible to monitor the Service.
	// Agents are sidecar services will be deployed in the same Pod as the Service container.
	// +optional
	Telemetry []string `json:"telemetry,omitempty"`

	// Dashboard is dashboard payload that will be installed in Grafana.
	// This option is only applicable to Agents.
	// +optional
	Dashboards metav1.LabelSelector `json:"dashboards,omitempty"`

	// SetFields is used to populate fields. Used for dynamic assignment based templated inputs.
	// +optional
	SetFields []SetField `json:"setFields,omitempty"`

	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// GracefulStop allows you to define a command for stopping the containers that run in the Pod.
	// Used by the Stop command.
	// +optional
	GracefulStop *GracefulStop `json:"gracefulStop,omitempty"`
}

Decorators takes in a PodSpec, add some functionality and returns it.

func (*Decorators) DeepCopy added in v1.0.10

func (in *Decorators) DeepCopy() *Decorators

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

func (*Decorators) DeepCopyInto added in v1.0.10

func (in *Decorators) DeepCopyInto(out *Decorators)

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

type DeleteSpec added in v1.0.17

type DeleteSpec struct {
	// Jobs is a list of jobs to be deleted. The format is {"kind":"name"}, e.g, {"service","client"}
	Jobs []string `json:"jobs"`
}

func (*DeleteSpec) DeepCopy added in v1.0.17

func (in *DeleteSpec) DeepCopy() *DeleteSpec

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

func (*DeleteSpec) DeepCopyInto added in v1.0.17

func (in *DeleteSpec) DeepCopyInto(out *DeleteSpec)

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

type Disk

type Disk struct {
	// ReadBPS limits read rate (bytes per second)
	ReadBPS string `json:"readbps,omitempty"`

	// ReadIOPS limits read rate (IO per second)
	ReadIOPS string `json:"readiops,omitempty"`

	// WriteBPS limits write rate (bytes per second)
	WriteBPS string `json:"writebps,omitempty"`

	// WriteIOPS limits write rate (IO per second)
	WriteIOPS string `json:"writeiops,omitempty"`
}

Disk specifies the capabilities of the emulated storage device.

func (*Disk) DeepCopy

func (in *Disk) DeepCopy() *Disk

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

func (*Disk) DeepCopyInto

func (in *Disk) DeepCopyInto(out *Disk)

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

type EmbedActions

type EmbedActions struct {
	// +optional
	Service *GenerateFromTemplate `json:"service,omitempty"`

	// +optional
	Cluster *ClusterSpec `json:"cluster,omitempty"`

	// +optional
	Chaos *GenerateFromTemplate `json:"chaos,omitempty"`

	// +optional
	Cascade *CascadeSpec `json:"cascade,omitempty"`

	// +optional
	Delete *DeleteSpec `json:"delete,omitempty"`

	// +optional
	Stop *StopSpec `json:"stop,omitempty"`
}

func (*EmbedActions) DeepCopy

func (in *EmbedActions) DeepCopy() *EmbedActions

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

func (*EmbedActions) DeepCopyInto

func (in *EmbedActions) DeepCopyInto(out *EmbedActions)

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

type EmbedFaultType

type EmbedFaultType struct {
	// +optional
	Partition *PartitionSpec `json:"partition,omitempty"`

	// +optional
	Kill *KillSpec `json:"kill,omitempty"`
}

func (*EmbedFaultType) DeepCopy

func (in *EmbedFaultType) DeepCopy() *EmbedFaultType

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

func (*EmbedFaultType) DeepCopyInto

func (in *EmbedFaultType) DeepCopyInto(out *EmbedFaultType)

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

type EmbedSpecs added in v1.0.10

type EmbedSpecs struct {
	// +optional
	Service *ServiceSpec `json:"service,omitempty"`

	// +optional
	Chaos *ChaosSpec `json:"chaos,omitempty"`
}

func (*EmbedSpecs) DeepCopy added in v1.0.10

func (in *EmbedSpecs) DeepCopy() *EmbedSpecs

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

func (*EmbedSpecs) DeepCopyInto added in v1.0.10

func (in *EmbedSpecs) DeepCopyInto(out *EmbedSpecs)

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

type ExprMetrics added in v1.0.16

type ExprMetrics string

type ExprState added in v1.0.16

type ExprState string

type FaultType

type FaultType string

type GenerateFromTemplate added in v1.0.10

type GenerateFromTemplate struct {
	// TemplateRef refers to a  template (e.g, iperf-server).
	TemplateRef string `json:"templateRef"`

	// Until defines the conditions under which the CR will stop spawning new jobs.
	// If used in conjunction with inputs, it will loop over inputs until the conditions are met.
	// +optional
	Until *ConditionalExpr `json:"until,omitempty"`

	// MaxInstances dictate the number of objects to be created for the CR.
	// If no inputs are defined, then all instances will be initiated using the default parameters of the template.
	// Conditions used in conjunction with Until, MaxInstances as a max bound.
	// +optional
	MaxInstances int `json:"instances"`

	// Inputs are list of inputs passed to the objects.
	// Conditions used in conjunction with instances, if the number of instances is larger that the number of inputs,
	// then inputs are recursively iteration.
	// +optional
	Inputs []map[string]string `json:"inputs,omitempty"`
}

GenerateFromTemplate generates a spec by parameterizing the templateRef with the given inputs.

func (*GenerateFromTemplate) DeepCopy added in v1.0.10

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

func (*GenerateFromTemplate) DeepCopyInto added in v1.0.10

func (in *GenerateFromTemplate) DeepCopyInto(out *GenerateFromTemplate)

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

func (*GenerateFromTemplate) GetInput added in v1.0.10

func (t *GenerateFromTemplate) GetInput(i int) map[string]string

func (*GenerateFromTemplate) Iterate added in v1.0.10

func (t *GenerateFromTemplate) Iterate(cb func(in map[string]string) error) error

func (*GenerateFromTemplate) Validate added in v1.0.10

func (t *GenerateFromTemplate) Validate(allowMultipleInputs bool) error

type GracefulStop added in v1.0.18

type GracefulStop struct {
	// Container specific the name of the container to which we will run the command
	Container string `json:"container"`

	// Container specifies a command and arguments to stop the targeted container in an application-specific manner.
	Command []string `json:"command"`
}

func (*GracefulStop) DeepCopy added in v1.0.18

func (in *GracefulStop) DeepCopy() *GracefulStop

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

func (*GracefulStop) DeepCopyInto added in v1.0.18

func (in *GracefulStop) DeepCopyInto(out *GracefulStop)

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

type Inputs

type Inputs struct {
	// Parameters define dynamically valued fields. The values are given by higher level entities, such as the workflow.
	Parameters map[string]string `json:"parameters,omitempty"`
}

func (*Inputs) DeepCopy

func (in *Inputs) DeepCopy() *Inputs

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

func (*Inputs) DeepCopyInto

func (in *Inputs) DeepCopyInto(out *Inputs)

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

type KillSpec

type KillSpec struct {
	Service string `json:"service,omitempty"`
}

KillSpec terminates the selected Pod. Because this failure is permanent, it can only be waited in the Running Phase. It does not go through Pass.

func (*KillSpec) DeepCopy

func (in *KillSpec) DeepCopy() *KillSpec

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

func (*KillSpec) DeepCopyInto

func (in *KillSpec) DeepCopyInto(out *KillSpec)

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

type Lifecycle

type Lifecycle struct {
	// Phase is a simple, high-level summary of where the Object is in its lifecycle.
	// The conditions array, the reason and message fields, and the individual container status
	// arrays contain more detail about the pod's status.
	Phase Phase `json:"phase,omitempty"`

	// Reason is A brief CamelCase message indicating details about why the service is in this Phase.
	// e.g. 'Evicted'
	// +optional
	Reason string `json:"reason,omitempty"`

	// Message provides more details for understanding the Reason.
	Message string `json:"message,omitempty"`
}

func (*Lifecycle) DeepCopy

func (in *Lifecycle) DeepCopy() *Lifecycle

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

func (*Lifecycle) DeepCopyInto

func (in *Lifecycle) DeepCopyInto(out *Lifecycle)

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

func (*Lifecycle) String

func (in *Lifecycle) String() string

type MatchBy

type MatchBy struct {
	// ByName is a map of string keys and a set values that used to select services.
	// The key defines the namespace which services belong, and the values is a set of service names.
	// +optional
	ByName map[string][]string `json:"byName,omitempty"`

	// ByCluster defines the service group where services belong.
	// +optional
	ByCluster map[string]string `json:"byCluster,omitempty"`
}

MatchBy defines the selectors for services. If the all selectors are empty, all services will be selected.

func (*MatchBy) DeepCopy

func (in *MatchBy) DeepCopy() *MatchBy

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

func (*MatchBy) DeepCopyInto

func (in *MatchBy) DeepCopyInto(out *MatchBy)

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

type Mode

type Mode string

Mode represents the filter for selecting on of many.

const (
	// OneMode represents that the system will select one object randomly.
	OneMode Mode = "one"
	// AllMode represents that the system will select all objects  regardless of status
	// (not ready or not running pods includes).
	// Use this label carefully.
	AllMode Mode = "all"
	// FixedMode represents that the system will select a specific number of running objects.
	FixedMode Mode = "fixed"
	// FixedPercentMode to specify a fixed % of a cluster
	FixedPercentMode Mode = "fixed-percent"
	// RandomMaxPercentMode to specify a maximum % of a cluster
	RandomMaxPercentMode Mode = "random-max-percent"
)

func Convert

func Convert(mode string) Mode

type NIC

type NIC struct {
	Rate    string `json:"rate,omitempty"`
	Latency string `json:"latency,omitempty"`
}

NIC specifies the capabilities of the emulated network interface.

func (*NIC) DeepCopy

func (in *NIC) DeepCopy() *NIC

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

func (*NIC) DeepCopyInto

func (in *NIC) DeepCopyInto(out *NIC)

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

type PVC added in v1.0.10

type PVC struct {
	Name string                           `json:"name"`
	Spec corev1.PersistentVolumeClaimSpec `json:"spec,omitempty"`
}

func (*PVC) DeepCopy added in v1.0.10

func (in *PVC) DeepCopy() *PVC

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

func (*PVC) DeepCopyInto added in v1.0.10

func (in *PVC) DeepCopyInto(out *PVC)

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

type PartitionSpec

type PartitionSpec struct {
	Service string `json:"service,omitempty"`

	// Duration is the time after which Frisbee will roll back the injected fault.
	// +optional
	Duration string `json:"duration,omitempty"`
}

PartitionSpec separate the given Pod from the rest of the network. This chaos typeis retractable (either manually or after a duration) and can be waited at both Running and Pass Phase. Running phase begins when the failure is injected. Pass begins when the failure is retracted. If anything goes wrong in between, the chaos goes into Failed phase.

func (*PartitionSpec) DeepCopy

func (in *PartitionSpec) DeepCopy() *PartitionSpec

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

func (*PartitionSpec) DeepCopyInto

func (in *PartitionSpec) DeepCopyInto(out *PartitionSpec)

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

type Phase

type Phase string

Phase is a simple, high-level summary of where the Object is in its lifecycle.

func (Phase) Is

func (p Phase) Is(ref Phase) bool

func (Phase) Precedes

func (p Phase) Precedes(ref Phase) bool

Precedes return true if the given phase precedes the reference phase.

type PlacementSpec added in v1.0.18

type PlacementSpec struct {
	// Collocate will place all the services within the same node.
	// +optional
	Collocate bool `json:"collocate"`

	// ConflictsWith points to another cluster whose services cannot be located with this one.
	// Used, for example, to place master nodes and slave nodes on different failures domains
	ConflictsWith []string `json:"conflictsWith,omitempty"`

	// Nodes will place all the services within the same specific node.
	// +optional
	Nodes []string `json:"nodes,omitempty"`
}

func (*PlacementSpec) DeepCopy added in v1.0.18

func (in *PlacementSpec) DeepCopy() *PlacementSpec

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

func (*PlacementSpec) DeepCopyInto added in v1.0.18

func (in *PlacementSpec) DeepCopyInto(out *PlacementSpec)

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

type Requirements added in v1.0.10

type Requirements struct {
	// +optional
	PVC *PVC `json:"persistentVolumeClaim,omitempty"`
}

Requirements points to Kinds and their respective configurations required for the Service operation. For example, this field can be used to create PVCs dedicated to this service.

func (*Requirements) DeepCopy added in v1.0.10

func (in *Requirements) DeepCopy() *Requirements

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

func (*Requirements) DeepCopyInto added in v1.0.10

func (in *Requirements) DeepCopyInto(out *Requirements)

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

type Resources

type Resources struct {
	// +optional
	Memory string `json:"memory,omitempty"`
	// +optional
	CPU string `json:"cpu,omitempty"`
	// +optional
	NIC *NIC `json:"nic,omitempty"`
	// +optional
	Disk *Disk `json:"disk,omitempty"`
}

Resources specifies limitations as to how the container will access host resources.

func (*Resources) DeepCopy

func (in *Resources) DeepCopy() *Resources

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

func (*Resources) DeepCopyInto

func (in *Resources) DeepCopyInto(out *Resources)

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

type SchedulerSpec

type SchedulerSpec struct {
	// Cron defines a cron job rule.
	//
	// Some rule examples:
	// "0 30 * * * *" means to "Every hour on the half hour"
	// "@hourly"      means to "Every hour"
	// "@every 1h30m" means to "Every hour thirty"
	//
	// More rule info: https://godoc.org/github.com/robfig/cron
	//
	// +optional
	Cron *string `json:"cron,omitempty"`

	// StartingDeadlineSeconds is an optional deadline in seconds for starting the job if it misses scheduled
	// time for any reason. if we miss this deadline, we'll just wait till the next scheduled time
	//
	// +optional
	StartingDeadlineSeconds *int64 `json:"startingDeadlineSeconds,omitempty"`

	// +optional
	Conditions *ConditionalExpr `json:"conditions,omitempty"`
}

SchedulerSpec defines information about schedule of the chaos experiment. The scheduler will schedule up to spec.GenerateFromTemplate.Instances or spec.GenerateFromTemplate.Until.

func (*SchedulerSpec) DeepCopy

func (in *SchedulerSpec) DeepCopy() *SchedulerSpec

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

func (*SchedulerSpec) DeepCopyInto

func (in *SchedulerSpec) DeepCopyInto(out *SchedulerSpec)

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

type Service

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

	Spec   ServiceSpec   `json:"spec,omitempty"`
	Status ServiceStatus `json:"status,omitempty"`
}

Service is the Schema for the services API.

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

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

func (*Service) DeepCopyObject

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

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

func (*Service) Default

func (r *Service) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Service) GetReconcileStatus

func (in *Service) GetReconcileStatus() Lifecycle

func (*Service) SetReconcileStatus

func (in *Service) SetReconcileStatus(lifecycle Lifecycle)

func (*Service) SetupWebhookWithManager

func (r *Service) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Service) ValidateCreate

func (r *Service) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Service) ValidateDelete

func (r *Service) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Service) ValidateUpdate

func (r *Service) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ServiceList

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

ServiceList contains a list of Service.

func (*ServiceList) DeepCopy

func (in *ServiceList) DeepCopy() *ServiceList

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

func (*ServiceList) DeepCopyInto

func (in *ServiceList) DeepCopyInto(out *ServiceList)

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

func (*ServiceList) DeepCopyObject

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

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

type ServiceSelector

type ServiceSelector struct {
	// Match contains the rules to select target
	// +optional
	Match MatchBy `json:"match,omitempty"`

	// Mode defines which of the selected services to use. If undefined, all() is used
	// Supported mode: one / all / fixed / fixed-percent / random-max-percent
	// +optional
	Mode Mode `json:"mode"`

	// Value is required when the mode is set to `FixedPodMode` / `FixedPercentPodMod` / `RandomMaxPercentPodMod`.
	// If `FixedPodMode`, provide an integer of pods to do chaos action.
	// If `FixedPercentPodMod`, provide a number from 0-100 to specify the percent of pods the server can do chaos action.
	// IF `RandomMaxPercentPodMod`,  provide a number from 0-100 to specify the max percent of pods to do chaos action
	// +optional
	// +kubebuilder:validation:Enum=one;all;fixed;fixed-percent;random-max-percent
	Value string `json:"value,omitempty"`

	// Macro abstract selector parameters into a structured string (e.g, .cluster.master.all). Every parsed field is
	// represents an inner structure of the selector.
	// In case of invalid macro, the selector will return empty results.
	// Macro conflicts with any other parameter.
	// +optional
	Macro *string `json:"macro,omitempty"`
}

func (*ServiceSelector) DeepCopy

func (in *ServiceSelector) DeepCopy() *ServiceSelector

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

func (*ServiceSelector) DeepCopyInto

func (in *ServiceSelector) DeepCopyInto(out *ServiceSelector)

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

type ServiceSpec

type ServiceSpec struct {
	// +optional
	Requirements *Requirements `json:"requirements,omitempty"`

	// +optional
	Decorators *Decorators `json:"decorators,omitempty"`

	// +kubebuilder:validation:Optional
	// +optional
	corev1.PodSpec `json:",inline,omitempty"`
}

ServiceSpec defines the desired state of Service.

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 ServiceStatus

type ServiceStatus struct {
	Lifecycle `json:",inline"`

	// LastScheduleTime provide information about  the last time a Pod was scheduled.
	LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"`
}

ServiceStatus defines the observed state of Service.

func (*ServiceStatus) DeepCopy

func (in *ServiceStatus) DeepCopy() *ServiceStatus

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

func (*ServiceStatus) DeepCopyInto

func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)

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

type SetField added in v1.0.14

type SetField struct {
	// Field is the path to the field whose value will be replaced.
	// Examples: Containers.0.Ports.0
	Field string `json:"field"`
	Value string `json:"value"`
}

func (*SetField) DeepCopy added in v1.0.14

func (in *SetField) DeepCopy() *SetField

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

func (*SetField) DeepCopyInto added in v1.0.14

func (in *SetField) DeepCopyInto(out *SetField)

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

type Stop added in v1.0.18

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

	Spec   StopSpec   `json:"spec,omitempty"`
	Status StopStatus `json:"status,omitempty"`
}

Stop is the Schema for the Stop API.

func (*Stop) DeepCopy added in v1.0.18

func (in *Stop) DeepCopy() *Stop

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

func (*Stop) DeepCopyInto added in v1.0.18

func (in *Stop) DeepCopyInto(out *Stop)

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

func (*Stop) DeepCopyObject added in v1.0.18

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

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

func (*Stop) GetReconcileStatus added in v1.0.18

func (in *Stop) GetReconcileStatus() Lifecycle

func (*Stop) SetReconcileStatus added in v1.0.18

func (in *Stop) SetReconcileStatus(lifecycle Lifecycle)

type StopList added in v1.0.18

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

StopList contains a list of Stop jobs.

func (*StopList) DeepCopy added in v1.0.18

func (in *StopList) DeepCopy() *StopList

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

func (*StopList) DeepCopyInto added in v1.0.18

func (in *StopList) DeepCopyInto(out *StopList)

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

func (*StopList) DeepCopyObject added in v1.0.18

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

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

type StopSpec added in v1.0.18

type StopSpec struct {
	// Services is a list of services that will be stopped.
	Services []string `json:"services"`

	// Until defines the conditions under which the CR will stop spawning new jobs.
	// If used in conjunction with inputs, it will loop over inputs until the conditions are met.
	// +optional
	Until *ConditionalExpr `json:"until,omitempty"`

	// Schedule defines the interval between the creation of services within the group. Executed creation is not
	// supported in collocated mode. Since Pods are intended to be disposable and replaceable, we cannot add a
	// container to a Pod once it has been created
	// +optional
	Schedule *SchedulerSpec `json:"schedule,omitempty"`

	// Suspend 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"`
}

StopSpec defines the desired state of Stop.

func (*StopSpec) DeepCopy added in v1.0.18

func (in *StopSpec) DeepCopy() *StopSpec

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

func (*StopSpec) DeepCopyInto added in v1.0.18

func (in *StopSpec) DeepCopyInto(out *StopSpec)

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

type StopStatus added in v1.0.18

type StopStatus struct {
	Lifecycle `json:",inline"`

	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// QueuedJobs is a list of services scheduled for stopping.
	// +optional
	QueuedJobs []*GracefulStop `json:"queuedJobs,omitempty"`

	// ScheduledJobs points to the next QueuedJobs.
	ScheduledJobs int `json:"scheduledJobs,omitempty"`

	// LastScheduleTime provide information about  the last time a Service was successfully scheduled.
	LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"`
}

StopStatus defines the observed state of Stop.

func (*StopStatus) DeepCopy added in v1.0.18

func (in *StopStatus) DeepCopy() *StopStatus

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

func (*StopStatus) DeepCopyInto added in v1.0.18

func (in *StopStatus) DeepCopyInto(out *StopStatus)

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

type Telemetry

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

	Spec   TelemetrySpec   `json:"spec,omitempty"`
	Status TelemetryStatus `json:"status,omitempty"`
}

Telemetry is the Schema for the telemetries API

func (*Telemetry) DeepCopy

func (in *Telemetry) DeepCopy() *Telemetry

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

func (*Telemetry) DeepCopyInto

func (in *Telemetry) DeepCopyInto(out *Telemetry)

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

func (*Telemetry) DeepCopyObject

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

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

func (*Telemetry) Default

func (r *Telemetry) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Telemetry) GetReconcileStatus

func (in *Telemetry) GetReconcileStatus() Lifecycle

func (*Telemetry) SetReconcileStatus

func (in *Telemetry) SetReconcileStatus(lifecycle Lifecycle)

func (*Telemetry) SetupWebhookWithManager

func (r *Telemetry) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Telemetry) ValidateCreate

func (r *Telemetry) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Telemetry) ValidateDelete

func (r *Telemetry) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Telemetry) ValidateUpdate

func (r *Telemetry) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type TelemetryList

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

TelemetryList contains a list of Telemetry

func (*TelemetryList) DeepCopy

func (in *TelemetryList) DeepCopy() *TelemetryList

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

func (*TelemetryList) DeepCopyInto

func (in *TelemetryList) DeepCopyInto(out *TelemetryList)

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

func (*TelemetryList) DeepCopyObject

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

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

type TelemetrySpec

type TelemetrySpec struct {
	// ImportDashboards are references to monitoring packages that will be used in the monitoring stack.
	// +optional
	ImportDashboards []string `json:"importDashboards,omitempty"`
}

TelemetrySpec defines the desired state of Telemetry

func (*TelemetrySpec) DeepCopy

func (in *TelemetrySpec) DeepCopy() *TelemetrySpec

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

func (*TelemetrySpec) DeepCopyInto

func (in *TelemetrySpec) DeepCopyInto(out *TelemetrySpec)

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

type TelemetryStatus

type TelemetryStatus struct {
	Lifecycle `json:",inline"`
}

TelemetryStatus defines the observed state of Telemetry

func (*TelemetryStatus) DeepCopy

func (in *TelemetryStatus) DeepCopy() *TelemetryStatus

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

func (*TelemetryStatus) DeepCopyInto

func (in *TelemetryStatus) DeepCopyInto(out *TelemetryStatus)

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

type Template

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

	Spec   TemplateSpec   `json:"spec,omitempty"`
	Status TemplateStatus `json:"status,omitempty"`
}

Template is the Schema for the templates API

func (*Template) DeepCopy

func (in *Template) DeepCopy() *Template

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

func (*Template) DeepCopyInto

func (in *Template) DeepCopyInto(out *Template)

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

func (*Template) DeepCopyObject

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

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

func (*Template) Default

func (r *Template) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Template) GetReconcileStatus

func (in *Template) GetReconcileStatus() Lifecycle

func (*Template) SetReconcileStatus

func (in *Template) SetReconcileStatus(lifecycle Lifecycle)

func (*Template) SetupWebhookWithManager

func (r *Template) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Template) ValidateCreate

func (r *Template) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Template) ValidateDelete

func (r *Template) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Template) ValidateUpdate

func (r *Template) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type TemplateList

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

TemplateList contains a list of Template

func (*TemplateList) DeepCopy

func (in *TemplateList) DeepCopy() *TemplateList

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

func (*TemplateList) DeepCopyInto

func (in *TemplateList) DeepCopyInto(out *TemplateList)

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

func (*TemplateList) DeepCopyObject

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

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

type TemplateSpec

type TemplateSpec struct {
	// Inputs are dynamic fields that populate the spec.
	// +optional
	Inputs *Inputs `json:"inputs,omitempty"`

	*EmbedSpecs `json:",inline"`
}

TemplateSpec defines the desired state of Template

func (*TemplateSpec) DeepCopy

func (in *TemplateSpec) DeepCopy() *TemplateSpec

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

func (*TemplateSpec) DeepCopyInto

func (in *TemplateSpec) DeepCopyInto(out *TemplateSpec)

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

type TemplateStatus

type TemplateStatus struct {
	Lifecycle `json:",inline"`
}

TemplateStatus defines the observed state of Template

func (*TemplateStatus) DeepCopy

func (in *TemplateStatus) DeepCopy() *TemplateStatus

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

func (*TemplateStatus) DeepCopyInto

func (in *TemplateStatus) DeepCopyInto(out *TemplateStatus)

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

type TolerateSpec

type TolerateSpec struct {
	// FailedServices indicate the number of services that may fail before the cluster fails itself.
	FailedServices int `json:"failedServices"`
}

TolerateSpec specifies the system's ability to continue operating despite failures or malfunctions. If tolerate is enable, a cluster will be "alive" even if some services have failed. Such failures are likely to happen as part of a Chaos experiment.

func (*TolerateSpec) DeepCopy

func (in *TolerateSpec) DeepCopy() *TolerateSpec

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

func (*TolerateSpec) DeepCopyInto

func (in *TolerateSpec) DeepCopyInto(out *TolerateSpec)

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

func (TolerateSpec) String

func (in TolerateSpec) String() string

type VirtualObject added in v1.0.17

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

	Spec   VirtualObjectSpec   `json:"spec,omitempty"`
	Status VirtualObjectStatus `json:"status,omitempty"`
}

VirtualObject is a wrapper for jobs that do not actually create something on the system. For example, Deletion jobs. These jobs do not have a dedicated controller, but their fields are set manually.

func (*VirtualObject) DeepCopy added in v1.0.17

func (in *VirtualObject) DeepCopy() *VirtualObject

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

func (*VirtualObject) DeepCopyInto added in v1.0.17

func (in *VirtualObject) DeepCopyInto(out *VirtualObject)

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

func (*VirtualObject) DeepCopyObject added in v1.0.17

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

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

func (*VirtualObject) GetReconcileStatus added in v1.0.17

func (in *VirtualObject) GetReconcileStatus() Lifecycle

func (*VirtualObject) SetReconcileStatus added in v1.0.17

func (in *VirtualObject) SetReconcileStatus(lifecycle Lifecycle)

type VirtualObjectList added in v1.0.17

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

VirtualObjectList contains a list of Virtual Objects.

func (*VirtualObjectList) DeepCopy added in v1.0.17

func (in *VirtualObjectList) DeepCopy() *VirtualObjectList

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

func (*VirtualObjectList) DeepCopyInto added in v1.0.17

func (in *VirtualObjectList) DeepCopyInto(out *VirtualObjectList)

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

func (*VirtualObjectList) DeepCopyObject added in v1.0.17

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

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

type VirtualObjectSpec added in v1.0.17

type VirtualObjectSpec struct{}

func (*VirtualObjectSpec) DeepCopy added in v1.0.17

func (in *VirtualObjectSpec) DeepCopy() *VirtualObjectSpec

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

func (*VirtualObjectSpec) DeepCopyInto added in v1.0.17

func (in *VirtualObjectSpec) DeepCopyInto(out *VirtualObjectSpec)

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

type VirtualObjectStatus added in v1.0.17

type VirtualObjectStatus struct {
	Lifecycle `json:",inline"`
}

func (*VirtualObjectStatus) DeepCopy added in v1.0.17

func (in *VirtualObjectStatus) DeepCopy() *VirtualObjectStatus

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

func (*VirtualObjectStatus) DeepCopyInto added in v1.0.17

func (in *VirtualObjectStatus) DeepCopyInto(out *VirtualObjectStatus)

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

type WaitSpec

type WaitSpec struct {
	// Running waits for the given groups to be running
	// +optional
	Running []string `json:"running,omitempty"`

	// Success waits for the given groups to be succeeded
	// +optional
	Success []string `json:"success,omitempty"`

	// After is the time offset since the beginning of this action.
	// +optional
	After *metav1.Duration `json:"after,omitempty"`
}

func (*WaitSpec) DeepCopy

func (in *WaitSpec) DeepCopy() *WaitSpec

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

func (*WaitSpec) DeepCopyInto

func (in *WaitSpec) DeepCopyInto(out *WaitSpec)

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

type Workflow

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

	Spec   WorkflowSpec   `json:"spec,omitempty"`
	Status WorkflowStatus `json:"status,omitempty"`
}

Workflow is the Schema for the workflows API.

func (*Workflow) DeepCopy

func (in *Workflow) DeepCopy() *Workflow

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

func (*Workflow) DeepCopyInto

func (in *Workflow) DeepCopyInto(out *Workflow)

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

func (*Workflow) DeepCopyObject

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

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

func (*Workflow) Default

func (r *Workflow) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Workflow) GetReconcileStatus

func (in *Workflow) GetReconcileStatus() Lifecycle

func (*Workflow) SetReconcileStatus

func (in *Workflow) SetReconcileStatus(lifecycle Lifecycle)

func (*Workflow) SetupWebhookWithManager

func (r *Workflow) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Workflow) ValidateCreate

func (r *Workflow) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Workflow) ValidateDelete

func (r *Workflow) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Workflow) ValidateUpdate

func (r *Workflow) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type WorkflowList

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

WorkflowList contains a list of Workflow.

func (*WorkflowList) DeepCopy

func (in *WorkflowList) DeepCopy() *WorkflowList

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

func (*WorkflowList) DeepCopyInto

func (in *WorkflowList) DeepCopyInto(out *WorkflowList)

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

func (*WorkflowList) DeepCopyObject

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

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

type WorkflowSpec

type WorkflowSpec struct {
	WithTelemetry *TelemetrySpec `json:"withTelemetry,omitempty"`

	// Actions are the tasks that will be taken.
	Actions []Action `json:"actions"`

	// Suspend 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"`
}

WorkflowSpec defines the desired state of Workflow.

func (*WorkflowSpec) DeepCopy

func (in *WorkflowSpec) DeepCopy() *WorkflowSpec

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

func (*WorkflowSpec) DeepCopyInto

func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)

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

type WorkflowStatus

type WorkflowStatus struct {
	Lifecycle `json:",inline"`

	// +optional
	Conditions []metav1.Condition `json:"conditions"`

	// Executed is a list of executed actions.
	// +optional
	Executed map[string]ConditionalExpr `json:"executed"`
}

WorkflowStatus defines the observed state of Workflow.

func (*WorkflowStatus) DeepCopy

func (in *WorkflowStatus) DeepCopy() *WorkflowStatus

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

func (*WorkflowStatus) DeepCopyInto

func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)

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