v1alpha1

package
v1.0.22 Latest Latest
Warning

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

Go to latest
Published: Jun 25, 2022 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API.

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

Index

Constants

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")

	// ConditionAllJobsAreScheduled indicates that all jobs have been successfully scheduled.
	// Jobs may refer to actions of a plan, services of a cluster, chaos events of a cascade, etc.
	ConditionAllJobsAreScheduled = ConditionType("AllJobsAreScheduled")

	// ConditionAllJobsAreCompleted indicates that all jobs have been successfully completed.
	// Jobs may refer to actions of a plan, services of a cluster, chaos events of a cascade, etc.
	ConditionAllJobsAreCompleted = ConditionType("AllJobsAreCompleted")

	// ConditionJobUnexpectedTermination is used for a job that has been unexpectedly terminated.
	// The termination refers to both Success and Fail.
	ConditionJobUnexpectedTermination = ConditionType("UnexpectedTermination")

	// 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 ActionType `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 Plan 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 ActionType added in v1.0.20

type ActionType string
const (
	ActionService ActionType = "Service"
	ActionCluster ActionType = "Cluster"
	ActionChaos   ActionType = "Chaos"
	ActionCascade ActionType = "Cascade"
	ActionDelete  ActionType = "Delete"
	ActionCall    ActionType = "Call"
)

List of supported actions

type Call added in v1.0.20

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

	Spec   CallSpec   `json:"spec,omitempty"`
	Status CallStatus `json:"status,omitempty"`
}

Call is the Schema for the Call API. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*Call) DeepCopy added in v1.0.20

func (in *Call) DeepCopy() *Call

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

func (*Call) DeepCopyInto added in v1.0.20

func (in *Call) DeepCopyInto(out *Call)

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

func (*Call) DeepCopyObject added in v1.0.20

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

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

func (*Call) GetReconcileStatus added in v1.0.20

func (in *Call) GetReconcileStatus() Lifecycle

func (*Call) SetReconcileStatus added in v1.0.20

func (in *Call) SetReconcileStatus(lifecycle Lifecycle)

type CallList added in v1.0.20

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

CallList contains a list of Call jobs.

func (*CallList) DeepCopy added in v1.0.20

func (in *CallList) DeepCopy() *CallList

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

func (*CallList) DeepCopyInto added in v1.0.20

func (in *CallList) DeepCopyInto(out *CallList)

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

func (*CallList) DeepCopyObject added in v1.0.20

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

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

type CallSpec added in v1.0.20

type CallSpec struct {
	// Callable is the name of the endpoint that will be called
	Callable string `json:"callable,omitempty"`

	// 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 invocations of the callable.
	// +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"`
}

CallSpec defines the desired state of Call.

func (*CallSpec) DeepCopy added in v1.0.20

func (in *CallSpec) DeepCopy() *CallSpec

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

func (*CallSpec) DeepCopyInto added in v1.0.20

func (in *CallSpec) DeepCopyInto(out *CallSpec)

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

type CallStatus added in v1.0.20

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

	// QueuedJobs is a list of services scheduled for stopping.
	// +optional
	QueuedJobs []Callable `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"`
}

CallStatus defines the observed state of Call.

func (*CallStatus) DeepCopy added in v1.0.20

func (in *CallStatus) DeepCopy() *CallStatus

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

func (*CallStatus) DeepCopyInto added in v1.0.20

func (in *CallStatus) DeepCopyInto(out *CallStatus)

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

type Callable added in v1.0.20

type Callable 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"`
}

Callable is a script that is executed within the service container, and returns a value. For example, a callable can be a command for stopping the containers that run in the Pod.

func (*Callable) DeepCopy added in v1.0.20

func (in *Callable) DeepCopy() *Callable

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

func (*Callable) DeepCopyInto added in v1.0.20

func (in *Callable) DeepCopyInto(out *Callable)

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. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

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.
	// +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"`

	// 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. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

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;raw;
	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. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

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 undefined, the cluster fails
	// immediately when a service has failed.
	// +optional
	Tolerate TolerateSpec `json:"tolerate,omitempty"`

	// Schedule defines the interval between the creation of services in the group.
	// +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"`

	// 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 test plans 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 {
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

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

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

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

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
	Call *CallSpec `json:"call,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
	Raw *RawSpec `json:"raw,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 EphemeralVolumeSpec added in v1.0.22

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

func (*EphemeralVolumeSpec) DeepCopy added in v1.0.22

func (in *EphemeralVolumeSpec) DeepCopy() *EphemeralVolumeSpec

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

func (*EphemeralVolumeSpec) DeepCopyInto added in v1.0.22

func (in *EphemeralVolumeSpec) DeepCopyInto(out *EphemeralVolumeSpec)

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) IterateInputs added in v1.0.20

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

func (*GenerateFromTemplate) Prepare added in v1.0.20

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

Prepare automatically fills missing values from the template, according to the following rules: * Without inputs and without instances, there is 1 instance with default values. * Without instances, the number of instances is inferred by the number of inputs.

type Inputs

type Inputs struct {
	// Parameters are user-set values that are dynamically evaluated
	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 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"`

	// Conditions describe sequences of events that warrant the present Phase.
	// +optional
	Conditions []metav1.Condition `json:"conditions,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 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(refs ...Phase) bool

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.
	// For example, this is needed for placing the master nodes on a different failure domain than the slave nodes.
	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 RawSpec added in v1.0.20

type RawSpec string

type Requirements added in v1.0.10

type Requirements struct {
	// EphemeralVolume create an ephemeral volume. It's use for application that need additional storage but don't care whether
	// that data is stored persistently across restarts.
	// +optional
	EphemeralVolume *EphemeralVolumeSpec `json:"persistentVolumeClaim,omitempty"`

	// Ingress makes An API object that manages external access to the services in a cluster, typically HTTP.
	// +optional
	Ingress *netv1.IngressBackend `json:"ingressBackend,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. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

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"`

	// +optional
	Callables map[string]Callable `json:"callables,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 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 +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

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 point to the Frisbee specs that can be templated.
	*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 TestPlan added in v1.0.20

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

	Spec   TestPlanSpec   `json:"spec,omitempty"`
	Status TestPlanStatus `json:"status,omitempty"`
}

TestPlan is the Schema for the TestPlans API. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*TestPlan) DeepCopy added in v1.0.20

func (in *TestPlan) DeepCopy() *TestPlan

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

func (*TestPlan) DeepCopyInto added in v1.0.20

func (in *TestPlan) DeepCopyInto(out *TestPlan)

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

func (*TestPlan) DeepCopyObject added in v1.0.20

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

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

func (*TestPlan) Default added in v1.0.20

func (r *TestPlan) Default()

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

func (*TestPlan) GetReconcileStatus added in v1.0.20

func (in *TestPlan) GetReconcileStatus() Lifecycle

func (*TestPlan) SetReconcileStatus added in v1.0.20

func (in *TestPlan) SetReconcileStatus(lifecycle Lifecycle)

func (*TestPlan) SetupWebhookWithManager added in v1.0.20

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

func (*TestPlan) ValidateCreate added in v1.0.20

func (r *TestPlan) ValidateCreate() error

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

func (*TestPlan) ValidateDelete added in v1.0.20

func (r *TestPlan) ValidateDelete() error

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

func (*TestPlan) ValidateUpdate added in v1.0.20

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

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

type TestPlanList added in v1.0.20

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

TestPlanList contains a list of TestPlan.

func (*TestPlanList) DeepCopy added in v1.0.20

func (in *TestPlanList) DeepCopy() *TestPlanList

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

func (*TestPlanList) DeepCopyInto added in v1.0.20

func (in *TestPlanList) DeepCopyInto(out *TestPlanList)

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

func (*TestPlanList) DeepCopyObject added in v1.0.20

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

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

type TestPlanSpec added in v1.0.20

type TestPlanSpec struct {
	// 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"`
}

TestPlanSpec defines the desired state of TestPlan.

func (*TestPlanSpec) DeepCopy added in v1.0.20

func (in *TestPlanSpec) DeepCopy() *TestPlanSpec

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

func (*TestPlanSpec) DeepCopyInto added in v1.0.20

func (in *TestPlanSpec) DeepCopyInto(out *TestPlanSpec)

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

type TestPlanStatus added in v1.0.20

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

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

	// GrafanaEndpoint points to the local Grafana instance
	GrafanaEndpoint string `json:"grafanaEndpoint,omitempty"`

	// PrometheusEndpoint points to the local Prometheus instance
	PrometheusEndpoint string `json:"prometheusEndpoint,omitempty"`
}

TestPlanStatus defines the observed state of TestPlan.

func (*TestPlanStatus) DeepCopy added in v1.0.20

func (in *TestPlanStatus) DeepCopy() *TestPlanStatus

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

func (*TestPlanStatus) DeepCopyInto added in v1.0.20

func (in *TestPlanStatus) DeepCopyInto(out *TestPlanStatus)

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, the cluster will remain "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.

Jump to

Keyboard shortcuts

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