Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the Frisbee v1alpha1 API group +kubebuilder:object:generate=true +groupName=frisbee.io
Index ¶
- Constants
- Variables
- type Action
- type ActionType
- type Call
- type CallList
- type CallSpec
- type CallStatus
- type Callable
- type Cascade
- type CascadeList
- type CascadeSpec
- type CascadeStatus
- type Chaos
- func (in *Chaos) DeepCopy() *Chaos
- func (in *Chaos) DeepCopyInto(out *Chaos)
- func (in *Chaos) DeepCopyObject() runtime.Object
- func (r *Chaos) Default()
- func (in *Chaos) GetReconcileStatus() Lifecycle
- func (in *Chaos) SetReconcileStatus(lifecycle Lifecycle)
- func (r *Chaos) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Chaos) ValidateCreate() error
- func (r *Chaos) ValidateDelete() error
- func (r *Chaos) ValidateUpdate(old runtime.Object) error
- type ChaosList
- type ChaosSpec
- type ChaosStatus
- type Cluster
- func (in *Cluster) DeepCopy() *Cluster
- func (in *Cluster) DeepCopyInto(out *Cluster)
- func (in *Cluster) DeepCopyObject() runtime.Object
- func (r *Cluster) Default()
- func (in *Cluster) GetReconcileStatus() Lifecycle
- func (in *Cluster) SetReconcileStatus(lifecycle Lifecycle)
- func (r *Cluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Cluster) ValidateCreate() error
- func (r *Cluster) ValidateDelete() error
- func (r *Cluster) ValidateUpdate(old runtime.Object) error
- type ClusterList
- type ClusterSpec
- type ClusterStatus
- type ConditionType
- type ConditionalExpr
- type Configuration
- type Decorators
- type DeleteSpec
- type Disk
- type EmbedActions
- type EmbedFaultType
- type EmbedSpecs
- type ExprMetrics
- type ExprState
- type FaultType
- type GenerateFromTemplate
- func (in *GenerateFromTemplate) DeepCopy() *GenerateFromTemplate
- func (in *GenerateFromTemplate) DeepCopyInto(out *GenerateFromTemplate)
- func (t *GenerateFromTemplate) GetInput(i int) map[string]string
- func (t *GenerateFromTemplate) IterateInputs(cb func(in map[string]string) error) error
- func (t *GenerateFromTemplate) Prepare(allowMultipleInputs bool) error
- type Inputs
- type Lifecycle
- type MatchBy
- type Mode
- type NIC
- type PVC
- type Phase
- type PlacementSpec
- type RawSpec
- type Requirements
- type Resources
- type SchedulerSpec
- type Service
- func (in *Service) DeepCopy() *Service
- func (in *Service) DeepCopyInto(out *Service)
- func (in *Service) DeepCopyObject() runtime.Object
- func (r *Service) Default()
- func (in *Service) GetReconcileStatus() Lifecycle
- func (in *Service) SetReconcileStatus(lifecycle Lifecycle)
- func (r *Service) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Service) ValidateCreate() error
- func (r *Service) ValidateDelete() error
- func (r *Service) ValidateUpdate(old runtime.Object) error
- type ServiceList
- type ServiceSelector
- type ServiceSpec
- type ServiceStatus
- type SetField
- type Telemetry
- func (in *Telemetry) DeepCopy() *Telemetry
- func (in *Telemetry) DeepCopyInto(out *Telemetry)
- func (in *Telemetry) DeepCopyObject() runtime.Object
- func (r *Telemetry) Default()
- func (in *Telemetry) GetReconcileStatus() Lifecycle
- func (in *Telemetry) SetReconcileStatus(lifecycle Lifecycle)
- func (r *Telemetry) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Telemetry) ValidateCreate() error
- func (r *Telemetry) ValidateDelete() error
- func (r *Telemetry) ValidateUpdate(old runtime.Object) error
- type TelemetryList
- type TelemetrySpec
- type TelemetryStatus
- type Template
- func (in *Template) DeepCopy() *Template
- func (in *Template) DeepCopyInto(out *Template)
- func (in *Template) DeepCopyObject() runtime.Object
- func (r *Template) Default()
- func (in *Template) GetReconcileStatus() Lifecycle
- func (in *Template) SetReconcileStatus(lifecycle Lifecycle)
- func (r *Template) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Template) ValidateCreate() error
- func (r *Template) ValidateDelete() error
- func (r *Template) ValidateUpdate(old runtime.Object) error
- type TemplateList
- type TemplateSpec
- type TemplateStatus
- type TestPlan
- func (in *TestPlan) DeepCopy() *TestPlan
- func (in *TestPlan) DeepCopyInto(out *TestPlan)
- func (in *TestPlan) DeepCopyObject() runtime.Object
- func (r *TestPlan) Default()
- func (in *TestPlan) GetReconcileStatus() Lifecycle
- func (in *TestPlan) SetReconcileStatus(lifecycle Lifecycle)
- func (r *TestPlan) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *TestPlan) ValidateCreate() error
- func (r *TestPlan) ValidateDelete() error
- func (r *TestPlan) ValidateUpdate(old runtime.Object) error
- type TestPlanList
- type TestPlanSpec
- type TestPlanStatus
- type TolerateSpec
- type VirtualObject
- type VirtualObjectList
- type VirtualObjectSpec
- type VirtualObjectStatus
- type WaitSpec
Constants ¶
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" )
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/
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.
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.
const (
FaultRaw = FaultType("raw")
)
Variables ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Action.
func (*Action) DeepCopyInto ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Call.
func (*Call) DeepCopyInto ¶ added in v1.0.20
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
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Call) GetReconcileStatus ¶ added in v1.0.20
func (*Call) SetReconcileStatus ¶ added in v1.0.20
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CallList.
func (*CallList) DeepCopyInto ¶ added in v1.0.20
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
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CallSpec.
func (*CallSpec) DeepCopyInto ¶ added in v1.0.20
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Callable.
func (*Callable) DeepCopyInto ¶ added in v1.0.20
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cascade.
func (*Cascade) DeepCopyInto ¶ added in v1.0.16
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
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Cascade) GetReconcileStatus ¶ added in v1.0.16
func (*Cascade) SetReconcileStatus ¶ added in v1.0.16
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Chaos.
func (*Chaos) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Chaos) DeepCopyObject ¶
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 (*Chaos) SetReconcileStatus ¶
func (*Chaos) SetupWebhookWithManager ¶
func (*Chaos) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Chaos) ValidateDelete ¶
ValidateDelete 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChaosList.
func (*ChaosList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ChaosList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChaosSpec.
func (*ChaosSpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
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 (*Cluster) SetReconcileStatus ¶
func (*Cluster) SetupWebhookWithManager ¶
func (*Cluster) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Cluster) ValidateDelete ¶
ValidateDelete 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Disk.
func (*Disk) DeepCopyInto ¶
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 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
func (in *GenerateFromTemplate) DeepCopy() *GenerateFromTemplate
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Inputs.
func (*Inputs) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Lifecycle.
func (*Lifecycle) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchBy.
func (*MatchBy) DeepCopyInto ¶
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" )
type NIC ¶
NIC specifies the capabilities of the emulated network interface.
func (*NIC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NIC.
func (*NIC) DeepCopyInto ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PVC.
func (*PVC) DeepCopyInto ¶ added in v1.0.10
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.
type PlacementSpec ¶ added in v1.0.18
type PlacementSpec struct {
// Collocate will place all the services within the same node.
// +optional
Collocate bool `json:"collocate"`
// ConflictsWith points to another cluster whose services cannot be located with this one.
// Used, for example, to place master nodes and slave nodes on different failures domains
ConflictsWith []string `json:"conflictsWith,omitempty"`
// Nodes will place all the services within the same specific node.
// +optional
Nodes []string `json:"nodes,omitempty"`
}
func (*PlacementSpec) DeepCopy ¶ added in v1.0.18
func (in *PlacementSpec) DeepCopy() *PlacementSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementSpec.
func (*PlacementSpec) DeepCopyInto ¶ added in v1.0.18
func (in *PlacementSpec) DeepCopyInto(out *PlacementSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Requirements ¶ added in v1.0.10
type Requirements struct {
// +optional
PVC *PVC `json:"persistentVolumeClaim,omitempty"`
}
Requirements points to Kinds and their respective configurations required for the Service operation. For example, this field can be used to create PVCs dedicated to this service.
func (*Requirements) DeepCopy ¶ added in v1.0.10
func (in *Requirements) DeepCopy() *Requirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Requirements.
func (*Requirements) DeepCopyInto ¶ added in v1.0.10
func (in *Requirements) DeepCopyInto(out *Requirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resources ¶
type Resources struct {
// +optional
Memory string `json:"memory,omitempty"`
// +optional
CPU string `json:"cpu,omitempty"`
// +optional
NIC *NIC `json:"nic,omitempty"`
// +optional
Disk *Disk `json:"disk,omitempty"`
}
Resources specifies limitations as to how the container will access host resources.
func (*Resources) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (*Resources) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Service) DeepCopyObject ¶
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 (*Service) SetReconcileStatus ¶
func (*Service) SetupWebhookWithManager ¶
func (*Service) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Service) ValidateDelete ¶
ValidateDelete 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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SetField.
func (*SetField) DeepCopyInto ¶ added in v1.0.14
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Telemetry.
func (*Telemetry) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Telemetry) DeepCopyObject ¶
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 (*Telemetry) SetReconcileStatus ¶
func (*Telemetry) SetupWebhookWithManager ¶
func (*Telemetry) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Telemetry) ValidateDelete ¶
ValidateDelete 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template.
func (*Template) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Template) DeepCopyObject ¶
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 (*Template) SetReconcileStatus ¶
func (*Template) SetupWebhookWithManager ¶
func (*Template) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Template) ValidateDelete ¶
ValidateDelete 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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestPlan.
func (*TestPlan) DeepCopyInto ¶ added in v1.0.20
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
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 (*TestPlan) SetReconcileStatus ¶ added in v1.0.20
func (*TestPlan) SetupWebhookWithManager ¶ added in v1.0.20
func (*TestPlan) ValidateCreate ¶ added in v1.0.20
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*TestPlan) ValidateDelete ¶ added in v1.0.20
ValidateDelete 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WaitSpec.
func (*WaitSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- call_crd.go
- cascade_crd.go
- chaos_crd.go
- chaos_webhook.go
- cluster_crd.go
- cluster_webhook.go
- service_crd.go
- service_webhook.go
- telemetry_crd.go
- telemetry_webhook.go
- template_crd.go
- template_webhook.go
- testplan.go
- testplan_webhook.go
- type_condexpr.go
- type_lifecycle.go
- type_scheduler.go
- type_selector.go
- version.go
- virtual-object_crd.go
- zz_generated.deepcopy.go