v1alpha1

package
v1.0.21 Latest Latest
Warning

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

Go to latest
Published: May 25, 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 (
	// ComponentSys is a component that belongs to Frisbee. Such components can be excluded from Chaos events.
	ComponentSys = "SYS"

	// ComponentSUT is a component that belongs to the system under testing
	ComponentSUT = "SUT"
)
View Source
const (
	// LabelCreatedBy points to the controller/user who created this resource
	LabelCreatedBy = "plan.frisbee.io/created-by"

	// LabelPartOfPlan points to the name of a higher level application this one is part of.
	LabelPartOfPlan = "plan.frisbee.io/part-of"

	// LabelComponent describes the role of the component within the architecture.
	// It can be SUT (for system under service) or SYS (if it's a frisbee component like Grafana).
	LabelComponent = "plan.frisbee.io/component"
)

https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/

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.

View Source
const (
	FaultRaw = FaultType("raw")
)

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.

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.

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

	// 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;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.

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

	// 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 Configuration added in v1.0.21

type Configuration struct {
	GrafanaEndpoint string `json:"grafanaEndpoint"`

	PrometheusEndpoint string `json:"prometheusEndpoint"`

	AdvertisedHost string `json:"advertisedHost"`
}

Configuration is the programmatic equivalent of charts/platform/configuration

func (*Configuration) DeepCopy added in v1.0.21

func (in *Configuration) DeepCopy() *Configuration

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

func (*Configuration) DeepCopyInto added in v1.0.21

func (in *Configuration) DeepCopyInto(out *Configuration)

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

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

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

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 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 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 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.
	// 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 RawSpec added in v1.0.20

type RawSpec string

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

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

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

	WithTelemetry bool `json:"withTelemetry"`

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

	// +optional
	Configuration Configuration `json:"configuration,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, 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.

Jump to

Keyboard shortcuts

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