Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the Frisbee v1alpha1 API group +kubebuilder:object:generate=true +groupName=frisbee.dev
Package v1alpha1 contains API Schema definitions for the Frisbee v1alpha1 API group +kubebuilder:object:generate=true +groupName=frisbee.dev +k8s:deepcopy-gen=package,register
Index ¶
- Constants
- Variables
- func BuildDependencyGraph(scenario *Scenario) (map[string]*Action, error)
- func CheckAction(action *Action, references map[string]*Action) error
- func CheckDependencyGraph(action *Action, callIndex map[string]*Action, txIndex map[string]bool) error
- func DrawPoint(obj metav1.Object) bool
- func DrawRegion(obj metav1.Object) bool
- func GetCreatedByLabel(obj metav1.Object) map[string]string
- func GetScenarioLabel(obj metav1.Object) string
- func HasScenarioLabel(obj metav1.Object) bool
- func PropagateLabels(child metav1.Object, parent metav1.Object)
- func SetComponentLabel(obj *metav1.ObjectMeta, componentType Component)
- func SetCreatedByLabel(child client.Object, parent client.Object)
- func SetScenarioLabel(obj *metav1.ObjectMeta, scenario string)
- func ValidateExpr(expr *ConditionalExpr) error
- func ValidatePlacement(policy *PlacementSpec, callIndex map[string]*Action) error
- func ValidateScheduler(sch *SchedulerSpec) error
- func ValidateTolerate(tol *TolerateSpec) error
- type Action
- type ActionType
- type Call
- func (in *Call) DeepCopy() *Call
- func (in *Call) DeepCopyInto(out *Call)
- func (in *Call) DeepCopyObject() runtime.Object
- func (in *Call) Default()
- func (in *Call) GetReconcileStatus() Lifecycle
- func (in *Call) SetReconcileStatus(lifecycle Lifecycle)
- func (in *Call) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *Call) ValidateCreate() error
- func (in *Call) ValidateDelete() error
- func (in *Call) ValidateUpdate(old runtime.Object) error
- type CallList
- type CallSpec
- type CallStatus
- type Callable
- type Cascade
- func (in *Cascade) DeepCopy() *Cascade
- func (in *Cascade) DeepCopyInto(out *Cascade)
- func (in *Cascade) DeepCopyObject() runtime.Object
- func (r *Cascade) Default()
- func (in *Cascade) GetReconcileStatus() Lifecycle
- func (in *Cascade) SetReconcileStatus(lifecycle Lifecycle)
- func (r *Cascade) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Cascade) ValidateCreate() error
- func (r *Cascade) ValidateDelete() error
- func (r *Cascade) ValidateUpdate(old runtime.Object) error
- 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 (in *Cluster) Default()
- func (in *Cluster) GetReconcileStatus() Lifecycle
- func (in *Cluster) SetReconcileStatus(lifecycle Lifecycle)
- func (in *Cluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *Cluster) ValidateCreate() error
- func (in *Cluster) ValidateDelete() error
- func (in *Cluster) ValidateUpdate(old runtime.Object) error
- type ClusterList
- type ClusterSpec
- type ClusterStatus
- type Component
- type ConditionType
- type ConditionalExpr
- type Decorators
- type DefaultClassifier
- func (in *DefaultClassifier) DeepCopy() *DefaultClassifier
- func (in *DefaultClassifier) DeepCopyInto(out *DefaultClassifier)
- func (DefaultClassifier) IsFailed(_ ...string) bool
- func (DefaultClassifier) IsPending(_ ...string) bool
- func (DefaultClassifier) IsRunning(_ ...string) bool
- func (DefaultClassifier) IsSuccessful(_ ...string) bool
- func (DefaultClassifier) IsTerminating(_ ...string) bool
- func (DefaultClassifier) ListFailedJobs() []string
- func (DefaultClassifier) ListPendingJobs() []string
- func (DefaultClassifier) ListRunningJobs() []string
- func (DefaultClassifier) ListSuccessfulJobs() []string
- func (DefaultClassifier) ListTerminatingJobs() []string
- func (DefaultClassifier) NumFailedJobs() int
- func (DefaultClassifier) NumPendingJobs() int
- func (DefaultClassifier) NumRunningJobs() int
- func (DefaultClassifier) NumSuccessfulJobs() int
- func (DefaultClassifier) NumTerminatingJobs() int
- type DeleteSpec
- type Disk
- type EmbedActions
- type EmbedSpecs
- type EphemeralVolumeSpec
- type ExprMetrics
- type ExprState
- type GenerateFromTemplate
- func (in *GenerateFromTemplate) DeepCopy() *GenerateFromTemplate
- func (in *GenerateFromTemplate) DeepCopyInto(out *GenerateFromTemplate)
- func (in *GenerateFromTemplate) GetInput(i int) map[string]string
- func (in *GenerateFromTemplate) IterateInputs(cb func(in map[string]string) error) error
- func (in *GenerateFromTemplate) Prepare(allowMultipleInputs bool) error
- type Inputs
- type Lifecycle
- type MatchBy
- type MatchOutputs
- type Mode
- type NIC
- type Phase
- type PlacementSpec
- type ReconcileStatusAware
- type Requirements
- type Resources
- type Scenario
- func (in *Scenario) DeepCopy() *Scenario
- func (in *Scenario) DeepCopyInto(out *Scenario)
- func (in *Scenario) DeepCopyObject() runtime.Object
- func (in *Scenario) Default()
- func (in *Scenario) GetReconcileStatus() Lifecycle
- func (in *Scenario) SetReconcileStatus(lifecycle Lifecycle)
- func (in *Scenario) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *Scenario) Table() (header []string, data [][]string)
- func (in *Scenario) ValidateCreate() error
- func (in *Scenario) ValidateDelete() error
- func (in *Scenario) ValidateUpdate(old runtime.Object) error
- type ScenarioList
- type ScenarioSpec
- type ScenarioStatus
- type SchedulerSpec
- type Scheme
- type Service
- func (s *Service) AttachTestDataVolume(source *corev1.PersistentVolumeClaimVolumeSource, useSubPath bool)
- func (in *Service) DeepCopy() *Service
- func (in *Service) DeepCopyInto(out *Service)
- func (in *Service) DeepCopyObject() runtime.Object
- func (in *Service) Default()
- func (in *Service) GetReconcileStatus() Lifecycle
- func (in *Service) SetReconcileStatus(lifecycle Lifecycle)
- func (in *Service) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *Service) ValidateCreate() error
- func (in *Service) ValidateDelete() error
- func (in *Service) ValidateUpdate(old runtime.Object) error
- type ServiceList
- type ServiceSelector
- type ServiceSpec
- type ServiceStatus
- type SetField
- type StateAggregationFunctions
- type Template
- func (in *Template) DeepCopy() *Template
- func (in *Template) DeepCopyInto(out *Template)
- func (in *Template) DeepCopyObject() runtime.Object
- func (in *Template) Default()
- func (in *Template) GetReconcileStatus() Lifecycle
- func (in *Template) SetReconcileStatus(lifecycle Lifecycle)
- func (in *Template) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *Template) ValidateCreate() error
- func (in *Template) ValidateDelete() error
- func (in *Template) ValidateUpdate(old runtime.Object) error
- type TemplateList
- type TemplateSpec
- type TemplateStatus
- type TolerateSpec
- type VirtualObject
- func (in *VirtualObject) DeepCopy() *VirtualObject
- func (in *VirtualObject) DeepCopyInto(out *VirtualObject)
- func (in *VirtualObject) DeepCopyObject() runtime.Object
- func (in *VirtualObject) GetReconcileStatus() Lifecycle
- func (in *VirtualObject) SetReconcileStatus(lifecycle Lifecycle)
- func (in VirtualObject) Table() (header []string, data [][]string)
- type VirtualObjectList
- type VirtualObjectSpec
- type VirtualObjectStatus
- type WaitSpec
Constants ¶
const ( // ComponentSys is a Frisbee component that is necessary for the execution of a test (e.g, Chaos, Grafana, ...) ComponentSys = Component("SYS") // ComponentSUT is a component that belongs to the system under testing. ComponentSUT = Component("SUT") )
const ( // LabelScenario points to the scenario LabelScenario = "scenario.frisbee.dev/name" // LabelAction points to the action this resource is part of. LabelAction = "scenario.frisbee.dev/action" // LabelCreatedBy points to the controller who created this resource. It is used for listing children resources. LabelCreatedBy = "scenario.frisbee.dev/created-by" // LabelComponent describes the role of the component within the architecture (e.g, SUT or SYS). // It is used to handle differently the SUT resources from the SYS resources (e.g, delete the actions but not grafana). LabelComponent = "scenario.frisbee.dev/component" )
https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/
const ( // PrometheusDiscoverablePort is a prefix that all telemetry sidecars should use in the naming of // the exposed ports in order to be discoverable by Prometheus. PrometheusDiscoverablePort = "tel-" // MainContainerName is the main application that run the service. A service can be either "Main" or "Sidecar". MainContainerName = "app" )
const ( // DrawMethod hints how to mark points on the Grafana dashboard. DrawMethod string = "grafana.frisbee.dev/draw" // DrawAsPoint will mark the creation and deletion of a service as distinct events. DrawAsPoint string = "point" // DrawAsRegion will draw a region starting from the creation of a service and ending to the deletion of the service. DrawAsRegion string = "range" )
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 scenario, 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 scenario, 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") // ConditionInvalidStateTransition indicates the transition of a resource into another state. ConditionInvalidStateTransition = ConditionType("InvalidStateTransition") // ConditionPerformanceAlert indicates an alert received by Grafana concerning the real-time performance of the system. ConditionPerformanceAlert = ConditionType("PerformanceAlert") // ConditionAssertionError indicate that an assertion condition is false. ConditionAssertionError = ConditionType("AssertError") )
These are valid conditions of pod.
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 (
// ResourceDiscoveryLabel is used to discover Frisbee resources across different namespaces
ResourceDiscoveryLabel = "discover.frisbee.dev/name"
)
const (
// SidecarTelemetry is an annotation's value indicating the annotation's key is a telemetry agent.
SidecarTelemetry = "sidecar.frisbee.dev/telemetry"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "frisbee.dev", 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 )
var ExprMetricsValidator = regexp.MustCompile(`(?m)^(?P<reducer>\w+)\(\)\s+of\s+query\((?P<dashboardUID>\w+)\/(?P<panelID>\d+)\/(?P<metric>.+),\s+(?P<from>\w+),\s+(?P<to>\w+)\)\s+is\s+(?P<evaluator>\w+)\((?P<params>-*\d*[\.,\s]*\d*)\)\s*(for\s+\((?P<for>\w+)\))*\s*(every\((?P<every>\w+)\))*\s*$`)
ExprMetricsValidator expressions evaluated with https://regex101.com/r/8JrgyI/1
Functions ¶
func BuildDependencyGraph ¶ added in v1.0.24
func CheckAction ¶ added in v1.0.24
func CheckDependencyGraph ¶ added in v1.0.24
func DrawRegion ¶ added in v1.0.24
func GetCreatedByLabel ¶ added in v1.0.24
GetCreatedByLabel returns the creator of the resource.
func GetScenarioLabel ¶ added in v1.0.24
func HasScenarioLabel ¶ added in v1.0.24
func PropagateLabels ¶ added in v1.0.24
func SetComponentLabel ¶ added in v1.0.24
func SetComponentLabel(obj *metav1.ObjectMeta, componentType Component)
func SetCreatedByLabel ¶ added in v1.0.24
func SetScenarioLabel ¶ added in v1.0.24
func SetScenarioLabel(obj *metav1.ObjectMeta, scenario string)
func ValidateExpr ¶ added in v1.0.24
func ValidateExpr(expr *ConditionalExpr) error
func ValidatePlacement ¶ added in v1.0.24
func ValidatePlacement(policy *PlacementSpec, callIndex map[string]*Action) error
ValidatePlacement validates the placement policy. However, because it may involve references to other services, the validation requires a list of the defined actions.
func ValidateScheduler ¶ added in v1.0.24
func ValidateScheduler(sch *SchedulerSpec) error
func ValidateTolerate ¶ added in v1.0.24
func ValidateTolerate(tol *TolerateSpec) error
Types ¶
type Action ¶
type Action struct { // ActionType refers to a category of actions that can be associated with a specific controller. // +kubebuilder:validation:Enum=Service;Cluster;Chaos;Cascade;Delete;Call 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 that must be maintained after the action has been started. // If the evaluation of the condition is false, the Scenario will abort immediately. // +optional Assert *ConditionalExpr `json:"assert,omitempty"` *EmbedActions `json:",inline"` }
Action is a step in a workflow that defines a particular part of a testing process.
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 creates a new service. ActionService ActionType = "Service" // ActionCluster creates multiple services running in a shared context. ActionCluster ActionType = "Cluster" // ActionChaos injects failures into the running system. ActionChaos ActionType = "Chaos" // ActionCascade injects multiple failures into the running system. ActionCascade ActionType = "Cascade" // ActionDelete deletes a created Frisbee resource (i.e services, clusters,). ActionDelete ActionType = "Delete" // ActionCall starts a remote process execution, from the controller to the targeted services. ActionCall ActionType = "Call" )
type Call ¶ added in v1.0.20
type Call struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CallSpec `json:"spec,omitempty"` Status CallStatus `json:"status,omitempty"` }
Call is the Schema for the Call API. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*Call) DeepCopy ¶ added in v1.0.20
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) Default ¶ added in v1.0.24
func (in *Call) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Call) GetReconcileStatus ¶ added in v1.0.20
func (*Call) SetReconcileStatus ¶ added in v1.0.20
func (*Call) SetupWebhookWithManager ¶ added in v1.0.24
func (*Call) ValidateCreate ¶ added in v1.0.24
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Call) ValidateDelete ¶ added in v1.0.24
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
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 // +kubebuilder:validation:minlength=1 Callable string `json:"callable,omitempty"` // Services is a list of services that will be stopped. // +kubebuilder:validation:minimum=1 Services []string `json:"services"` // Expect declares a list of expected outputs. The number of expected outputs must be the same // as the number of defined services. // +optional Expect []MatchOutputs `json:"expect,omitempty"` // Tolerate specifies the conditions under which the call will fail. If undefined, the call fails // immediately when a call to service has failed. // +optional Tolerate *TolerateSpec `json:"tolerate,omitempty"` // 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. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
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) Default ¶ added in v1.0.24
func (r *Cascade) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Cascade) GetReconcileStatus ¶ added in v1.0.16
func (*Cascade) SetReconcileStatus ¶ added in v1.0.16
func (*Cascade) SetupWebhookWithManager ¶ added in v1.0.24
func (*Cascade) ValidateCreate ¶ added in v1.0.24
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Cascade) ValidateDelete ¶ added in v1.0.24
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type CascadeList ¶ added in v1.0.16
type CascadeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Cascade `json:"items"` }
CascadeList contains a list of Cascades.
func (*CascadeList) DeepCopy ¶ added in v1.0.16
func (in *CascadeList) DeepCopy() *CascadeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CascadeList.
func (*CascadeList) DeepCopyInto ¶ added in v1.0.16
func (in *CascadeList) DeepCopyInto(out *CascadeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CascadeList) DeepCopyObject ¶ added in v1.0.16
func (in *CascadeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CascadeSpec ¶ added in v1.0.16
type CascadeSpec struct { GenerateFromTemplate `json:",inline"` // Schedule defines the interval between the creation of services within the group. // +optional Schedule *SchedulerSpec `json:"schedule,omitempty"` // Suspend flag tells the controller to suspend subsequent executions, it does // not apply to already started executions. Defaults to false. // +optional Suspend *bool `json:"suspend,omitempty"` }
CascadeSpec defines the desired state of Cascade.
func (*CascadeSpec) DeepCopy ¶ added in v1.0.16
func (in *CascadeSpec) DeepCopy() *CascadeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CascadeSpec.
func (*CascadeSpec) DeepCopyInto ¶ added in v1.0.16
func (in *CascadeSpec) DeepCopyInto(out *CascadeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CascadeStatus ¶ added in v1.0.16
type CascadeStatus struct { Lifecycle `json:",inline"` // QueuedJobs is a list of Chaos jobs scheduled for creation by the cascade. // +optional QueuedJobs []ChaosSpec `json:"queuedJobs,omitempty"` // ScheduledJobs points to the next QueuedJobs. ScheduledJobs int `json:"scheduledJobs,omitempty"` // LastScheduleTime provide information about the last time a Chaos job was successfully scheduled. LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"` }
CascadeStatus defines the observed state of Cascade.
func (*CascadeStatus) DeepCopy ¶ added in v1.0.16
func (in *CascadeStatus) DeepCopy() *CascadeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CascadeStatus.
func (*CascadeStatus) DeepCopyInto ¶ added in v1.0.16
func (in *CascadeStatus) DeepCopyInto(out *CascadeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Chaos ¶
type Chaos struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ChaosSpec `json:"spec,omitempty"` Status ChaosStatus `json:"status,omitempty"` }
Chaos is the Schema for the chaos API. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*Chaos) DeepCopy ¶
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 {
Raw string `json:"raw,omitempty"`
}
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. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
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 (in *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"` // TestData defines a volume that will be mounted across the Scenario's Services. TestData *v1.PersistentVolumeClaimVolumeSource `json:"testData,omitempty"` // Tolerate specifies the conditions under which the cluster will fail. If undefined, the cluster fails // immediately when a service has failed. // +optional Tolerate *TolerateSpec `json:"tolerate,omitempty"` // Schedule defines the interval between the creation of services in the group. // +optional Schedule *SchedulerSpec `json:"schedule,omitempty"` // Placement defines rules for placing the containers across the available nodes. // +optional Placement *PlacementSpec `json:"placement,omitempty"` // Suspend flag tells the controller to suspend subsequent executions, it does not apply to already started // executions. Defaults to false. // +optional Suspend *bool `json:"suspend,omitempty"` }
ClusterSpec defines the desired state of Cluster.
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct { Lifecycle `json:",inline"` // QueuedJobs is a list of services scheduled for creation by the cluster. // +optional QueuedJobs []ServiceSpec `json:"queuedJobs,omitempty"` // ScheduledJobs points to the next QueuedJobs. ScheduledJobs int `json:"scheduledJobs,omitempty"` // LastScheduleTime provide information about the last time a Service was successfully scheduled. LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"` }
ClusterStatus defines the observed state of Cluster.
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionType ¶
type ConditionType string
ConditionType is a valid value for WorkflowCondition.Type
func (ConditionType) String ¶
func (t ConditionType) String() string
type ConditionalExpr ¶ added in v1.0.16
type ConditionalExpr struct { // Metrics set a Grafana alert that will be triggered once the condition is met. // Parsing: // Grafana URL: http://grafana/d/A2EjFbsMk/ycsb-services?editPanel=86 // metrics: A2EjFbsMk/86/Average (Panel/Dashboard/Metric) // // +optional // +nullable Metrics ExprMetrics `json:"metrics,omitempty"` // State describe the runtime condition that should be met after the action has been executed // Shall be defined using .Lifecycle() methods. The methods account only jobs that are managed by the object. // +optional // +nullable State ExprState `json:"state,omitempty"` }
ConditionalExpr is a source of information about whether the state of the workflow after a given time is correct or not. This is needed because some scenarios may run in infinite-horizons.
func (*ConditionalExpr) DeepCopy ¶ added in v1.0.16
func (in *ConditionalExpr) DeepCopy() *ConditionalExpr
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionalExpr.
func (*ConditionalExpr) DeepCopyInto ¶ added in v1.0.16
func (in *ConditionalExpr) DeepCopyInto(out *ConditionalExpr)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConditionalExpr) HasMetricsExpr ¶ added in v1.0.16
func (c *ConditionalExpr) HasMetricsExpr() bool
func (*ConditionalExpr) HasStateExpr ¶ added in v1.0.16
func (c *ConditionalExpr) HasStateExpr() bool
func (*ConditionalExpr) IsZero ¶ added in v1.0.17
func (c *ConditionalExpr) IsZero() bool
type Decorators ¶ added in v1.0.10
type Decorators struct { // +optional Labels map[string]string `json:"labels,omitempty"` // +optional Annotations map[string]string `json:"annotations,omitempty"` // SetFields is used to populate fields. Used for dynamic assignment based templated inputs. // +optional SetFields []SetField `json:"setFields,omitempty"` // Resources specifies limitations as to how the container will access host resources. // +optional Resources *Resources `json:"resources,omitempty"` // Telemetry is a list of referenced agents responsible to monitor the Service. // Agents are sidecar services will be deployed in the same Pod as the Service container. // +optional Telemetry []string `json:"telemetry,omitempty"` }
Decorators takes-in a PodSpec, add some functionality and returns it.
func (*Decorators) DeepCopy ¶ added in v1.0.10
func (in *Decorators) DeepCopy() *Decorators
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Decorators.
func (*Decorators) DeepCopyInto ¶ added in v1.0.10
func (in *Decorators) DeepCopyInto(out *Decorators)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DefaultClassifier ¶ added in v1.0.24
type DefaultClassifier struct{}
func (*DefaultClassifier) DeepCopy ¶ added in v1.0.24
func (in *DefaultClassifier) DeepCopy() *DefaultClassifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultClassifier.
func (*DefaultClassifier) DeepCopyInto ¶ added in v1.0.24
func (in *DefaultClassifier) DeepCopyInto(out *DefaultClassifier)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DefaultClassifier) IsFailed ¶ added in v1.0.24
func (DefaultClassifier) IsFailed(_ ...string) bool
func (DefaultClassifier) IsPending ¶ added in v1.0.24
func (DefaultClassifier) IsPending(_ ...string) bool
func (DefaultClassifier) IsRunning ¶ added in v1.0.24
func (DefaultClassifier) IsRunning(_ ...string) bool
func (DefaultClassifier) IsSuccessful ¶ added in v1.0.24
func (DefaultClassifier) IsSuccessful(_ ...string) bool
func (DefaultClassifier) IsTerminating ¶ added in v1.0.24
func (DefaultClassifier) IsTerminating(_ ...string) bool
func (DefaultClassifier) ListFailedJobs ¶ added in v1.0.24
func (DefaultClassifier) ListFailedJobs() []string
func (DefaultClassifier) ListPendingJobs ¶ added in v1.0.24
func (DefaultClassifier) ListPendingJobs() []string
func (DefaultClassifier) ListRunningJobs ¶ added in v1.0.24
func (DefaultClassifier) ListRunningJobs() []string
func (DefaultClassifier) ListSuccessfulJobs ¶ added in v1.0.24
func (DefaultClassifier) ListSuccessfulJobs() []string
func (DefaultClassifier) ListTerminatingJobs ¶ added in v1.0.24
func (DefaultClassifier) ListTerminatingJobs() []string
func (DefaultClassifier) NumFailedJobs ¶ added in v1.0.24
func (DefaultClassifier) NumFailedJobs() int
func (DefaultClassifier) NumPendingJobs ¶ added in v1.0.24
func (DefaultClassifier) NumPendingJobs() int
func (DefaultClassifier) NumRunningJobs ¶ added in v1.0.24
func (DefaultClassifier) NumRunningJobs() int
func (DefaultClassifier) NumSuccessfulJobs ¶ added in v1.0.24
func (DefaultClassifier) NumSuccessfulJobs() int
func (DefaultClassifier) NumTerminatingJobs ¶ added in v1.0.24
func (DefaultClassifier) NumTerminatingJobs() int
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 EmbedSpecs ¶ added in v1.0.10
type EmbedSpecs struct { // +optional Service *ServiceSpec `json:"service,omitempty"` // +optional Chaos *ChaosSpec `json:"chaos,omitempty"` }
func (*EmbedSpecs) DeepCopy ¶ added in v1.0.10
func (in *EmbedSpecs) DeepCopy() *EmbedSpecs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbedSpecs.
func (*EmbedSpecs) DeepCopyInto ¶ added in v1.0.10
func (in *EmbedSpecs) DeepCopyInto(out *EmbedSpecs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EphemeralVolumeSpec ¶ added in v1.0.22
type EphemeralVolumeSpec struct { Name string `json:"name"` Spec corev1.PersistentVolumeClaimSpec `json:"spec,omitempty"` }
EphemeralVolumeSpec defines an ephemeral volume that has the lifetime of a pod, It's use for application that need additional storage but don't care whether that data is stored persistently across restarts.
func (*EphemeralVolumeSpec) DeepCopy ¶ added in v1.0.22
func (in *EphemeralVolumeSpec) DeepCopy() *EphemeralVolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralVolumeSpec.
func (*EphemeralVolumeSpec) DeepCopyInto ¶ added in v1.0.22
func (in *EphemeralVolumeSpec) DeepCopyInto(out *EphemeralVolumeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExprMetrics ¶ added in v1.0.16
type ExprMetrics string
func (ExprMetrics) Parse ¶ added in v1.0.24
func (query ExprMetrics) Parse() ([]string, error)
type ExprState ¶ added in v1.0.16
type ExprState 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. // Event used in conjunction with Until, MaxInstances as a max bound. // +optional MaxInstances int `json:"instances"` // Inputs are list of inputs passed to the objects. // Event 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 (in *GenerateFromTemplate) GetInput(i int) map[string]string
func (*GenerateFromTemplate) IterateInputs ¶ added in v1.0.20
func (in *GenerateFromTemplate) IterateInputs(cb func(in map[string]string) error) error
func (*GenerateFromTemplate) Prepare ¶ added in v1.0.20
func (in *GenerateFromTemplate) Prepare(allowMultipleInputs bool) error
Prepare automatically fills missing values from the template, according to the following rules: * Without inputs and without instances, there is 1 instance with default values. * Without instances, the number of instances is inferred by the number of inputs.
type Inputs ¶
type Inputs struct { // Parameters are user-set values that are dynamically evaluated Parameters map[string]string `json:"parameters,omitempty"` }
func (*Inputs) DeepCopy ¶
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 MatchOutputs ¶ added in v1.0.24
type MatchOutputs struct { // Stdout is a regex that describes the expected output from stdout. It cannot be longer than 1024 characters. // +optional // +kubebuilder:validation:MaxLength=1024 Stdout *string `json:"stdout,omitempty"` // Stderr is a regex that describes the expected output from stderr. It cannot be longer than 1024 characters. // +optional // +kubebuilder:validation:MaxLength=1024 Stderr *string `json:"stderr,omitempty"` }
MatchOutputs defined a set of remote command outputs that must be matched. The limit for both Stdout and Stderr is 1024 characters.
func (*MatchOutputs) DeepCopy ¶ added in v1.0.24
func (in *MatchOutputs) DeepCopy() *MatchOutputs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchOutputs.
func (*MatchOutputs) DeepCopyInto ¶ added in v1.0.24
func (in *MatchOutputs) DeepCopyInto(out *MatchOutputs)
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 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 of this Cluster within the same node. // +optional Collocate bool `json:"collocate"` // ConflictsWith points to another Cluster whose Services cannot be located with this one. // For example, this is needed for placing the master nodes on a different failure domain than the slave nodes. ConflictsWith []string `json:"conflictsWith,omitempty"` // Nodes will place all the Services of this Cluster within the specific set of nodes. // +optional Nodes []string `json:"nodes,omitempty"` }
PlacementSpec defines rules for placing the containers across the available nodes.
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 ReconcileStatusAware ¶ added in v1.0.24
type Requirements ¶ added in v1.0.10
type Requirements struct { // EphemeralVolume creates an ephemeral volume type. // +optional EphemeralVolume *EphemeralVolumeSpec `json:"persistentVolumeClaim,omitempty"` // Ingress makes An API object that manages external access to the services in a cluster, typically HTTP. // +optional Ingress *netv1.IngressBackend `json:"ingressBackend,omitempty"` }
Requirements points to Kinds and their respective configurations required for the Service operation. For example, this field can be used to create PVCs dedicated to this service.
func (*Requirements) DeepCopy ¶ added in v1.0.10
func (in *Requirements) DeepCopy() *Requirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Requirements.
func (*Requirements) DeepCopyInto ¶ added in v1.0.10
func (in *Requirements) DeepCopyInto(out *Requirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resources ¶
type Resources struct { // +optional Memory string `json:"memory,omitempty"` // +optional CPU string `json:"cpu,omitempty"` // +optional NIC *NIC `json:"nic,omitempty"` // +optional Disk *Disk `json:"disk,omitempty"` }
Resources specifies limitations as to how the container will access host resources.
func (*Resources) DeepCopy ¶
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 Scenario ¶ added in v1.0.23
type Scenario struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ScenarioSpec `json:"spec,omitempty"` Status ScenarioStatus `json:"status,omitempty"` }
Scenario is the Schema for the Scenarios API. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*Scenario) DeepCopy ¶ added in v1.0.23
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scenario.
func (*Scenario) DeepCopyInto ¶ added in v1.0.23
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Scenario) DeepCopyObject ¶ added in v1.0.23
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Scenario) Default ¶ added in v1.0.23
func (in *Scenario) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Scenario) GetReconcileStatus ¶ added in v1.0.23
func (*Scenario) SetReconcileStatus ¶ added in v1.0.23
func (*Scenario) SetupWebhookWithManager ¶ added in v1.0.23
func (*Scenario) ValidateCreate ¶ added in v1.0.23
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Scenario) ValidateDelete ¶ added in v1.0.23
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type ScenarioList ¶ added in v1.0.23
type ScenarioList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Scenario `json:"items"` }
ScenarioList contains a list of Scenario.
func (*ScenarioList) DeepCopy ¶ added in v1.0.23
func (in *ScenarioList) DeepCopy() *ScenarioList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScenarioList.
func (*ScenarioList) DeepCopyInto ¶ added in v1.0.23
func (in *ScenarioList) DeepCopyInto(out *ScenarioList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScenarioList) DeepCopyObject ¶ added in v1.0.23
func (in *ScenarioList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ScenarioList) Table ¶ added in v1.0.24
func (in ScenarioList) Table() (header []string, data [][]string)
Table returns a tabular form of the structure for pretty printing.
type ScenarioSpec ¶ added in v1.0.23
type ScenarioSpec struct { // TestData defines a volume that will be mounted across the Scenario's Services. TestData *v1.PersistentVolumeClaimVolumeSource `json:"testData,omitempty"` // Actions are the tasks that will be taken. Actions []Action `json:"actions"` // Suspend flag tells the controller to suspend subsequent executions, it does // not apply to already started executions. Defaults to false. // +optional Suspend *bool `json:"suspend,omitempty"` }
ScenarioSpec defines the desired state of Scenario.
func (*ScenarioSpec) DeepCopy ¶ added in v1.0.23
func (in *ScenarioSpec) DeepCopy() *ScenarioSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScenarioSpec.
func (*ScenarioSpec) DeepCopyInto ¶ added in v1.0.23
func (in *ScenarioSpec) DeepCopyInto(out *ScenarioSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScenarioStatus ¶ added in v1.0.23
type ScenarioStatus struct { Lifecycle `json:",inline"` // ScheduledJobs is a list of references to the names of executed actions. // +optional ScheduledJobs []string `json:"scheduledJobs,omitempty"` // GrafanaEndpoint points to the local Grafana instance GrafanaEndpoint string `json:"grafanaEndpoint,omitempty"` // PrometheusEndpoint points to the local Prometheus instance PrometheusEndpoint string `json:"prometheusEndpoint,omitempty"` // Dataviewer points to the local Dataviewer instance DataviewerEndpoint string `json:"dataviewerEndpoint,omitempty"` }
ScenarioStatus defines the observed state of Scenario.
func (*ScenarioStatus) DeepCopy ¶ added in v1.0.23
func (in *ScenarioStatus) DeepCopy() *ScenarioStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScenarioStatus.
func (*ScenarioStatus) DeepCopyInto ¶ added in v1.0.23
func (in *ScenarioStatus) DeepCopyInto(out *ScenarioStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ScenarioStatus) Table ¶ added in v1.0.24
func (in ScenarioStatus) Table() (header []string, data [][]string)
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"` // Event schedules a new every when an event has happened. // +optional Event *ConditionalExpr `json:"event,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 Scheme ¶
type Scheme struct { // Scenario returns the name of the scenario that invokes the template. Scenario string `json:"scenario,omitempty"` // Returns the namespace where the scenario is running Namespace string `json:"namespace,omitempty"` // Spec is the body whose Inputs.Parameters will be expanded. Spec []byte `json:"spec"` // Inputs are dynamic fields that populate the spec. // +optional Inputs *Inputs `json:"inputs,omitempty"` }
type Service ¶
type Service struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ServiceSpec `json:"spec,omitempty"` Status ServiceStatus `json:"status,omitempty"` }
Service is the Schema for the services API. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*Service) AttachTestDataVolume ¶ added in v1.0.24
func (s *Service) AttachTestDataVolume(source *corev1.PersistentVolumeClaimVolumeSource, useSubPath bool)
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 (in *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 Decorators Decorators `json:"decorators,omitempty"` // +optional Requirements *Requirements `json:"requirements,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 StateAggregationFunctions ¶ added in v1.0.24
type StateAggregationFunctions interface { // IsPending returns true if the given jobs are Pending phase. IsPending(job ...string) bool // IsRunning returns true if the given jobs are Running phase. IsRunning(job ...string) bool // IsSuccessful returns true if the given jobs are Successful phase. IsSuccessful(job ...string) bool // IsFailed returns true if the given jobs are in the Failed phase. IsFailed(job ...string) bool // IsTerminating returns true if the given jobs are being deleted. IsTerminating(job ...string) bool // NumPendingJobs returns the number of jobs in Pending Phase. NumPendingJobs() int // NumRunningJobs returns the number of jobs in Running Phase. NumRunningJobs() int // NumSuccessfulJobs returns the number of jobs in Successful Phase. NumSuccessfulJobs() int // NumFailedJobs returns the number of jobs in Failed Phase. NumFailedJobs() int // NumTerminatingJobs returns the number of jobs that are being deleted. NumTerminatingJobs() int // ListPendingJobs returns the name of jobs in Pending Phase. ListPendingJobs() []string // ListRunningJobs returns the name of jobs in Running Phase. ListRunningJobs() []string // ListSuccessfulJobs returns the name of jobs in Successful Phase. ListSuccessfulJobs() []string // ListFailedJobs returns the name of jobs in Failed Phase. ListFailedJobs() []string // ListTerminatingJobs returns the name of jobs that are being deleted. ListTerminatingJobs() []string }
StateAggregationFunctions is a set of aggregation functions for managing the lifecycle of different resources.
type Template ¶
type Template struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TemplateSpec `json:"spec,omitempty"` Status TemplateStatus `json:"status,omitempty"` }
Template is the Schema for the templates API +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*Template) DeepCopy ¶
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 (in *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 point to the Frisbee specs that can be templated. *EmbedSpecs `json:",inline"` }
TemplateSpec defines the desired state of Template
func (*TemplateSpec) DeepCopy ¶
func (in *TemplateSpec) DeepCopy() *TemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateSpec.
func (*TemplateSpec) DeepCopyInto ¶
func (in *TemplateSpec) DeepCopyInto(out *TemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateStatus ¶
type TemplateStatus struct {
Lifecycle `json:",inline"`
}
TemplateStatus defines the observed state of Template
func (*TemplateStatus) DeepCopy ¶
func (in *TemplateStatus) DeepCopy() *TemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateStatus.
func (*TemplateStatus) DeepCopyInto ¶
func (in *TemplateStatus) DeepCopyInto(out *TemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TolerateSpec ¶
type TolerateSpec struct { // FailedJobs indicate the number of services that may fail before the cluster fails itself. // +optional // +kubebuilder:validation:Minimum=1 FailedJobs int `json:"failedJobs"` }
TolerateSpec specifies the system's ability to continue operating despite failures or malfunctions. If tolerate is enable, the cluster will remain "alive" even if some services have failed. Such failures are likely to happen as part of a Chaos experiment.
func (*TolerateSpec) DeepCopy ¶
func (in *TolerateSpec) DeepCopy() *TolerateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TolerateSpec.
func (*TolerateSpec) DeepCopyInto ¶
func (in *TolerateSpec) DeepCopyInto(out *TolerateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TolerateSpec) String ¶
func (in *TolerateSpec) String() string
type VirtualObject ¶ added in v1.0.17
type VirtualObject struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec VirtualObjectSpec `json:"spec,omitempty"` Status VirtualObjectStatus `json:"status,omitempty"` }
VirtualObject is a CRD without a dedicated controller. Practically, it is just an entry in the Kubernetes API that is used as placeholder for action like Delete and Call.
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)
func (VirtualObject) Table ¶ added in v1.0.24
func (in VirtualObject) Table() (header []string, data [][]string)
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"` // Data contains the configuration data. // Each key must consist of alphanumeric characters, '-', '_' or '.'. // Values with non-UTF-8 byte sequences must use the BinaryData field. // The keys stored in Data must not overlap with the keys in // the BinaryData field, this is enforced during validation process. // +optional Data map[string]string `json:"data,omitempty"` }
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.
func (VirtualObjectStatus) Table ¶ added in v1.0.24
func (in VirtualObjectStatus) Table() (header []string, data [][]string)
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 ¶
- admission_call.go
- admission_cascade.go
- admission_chaos.go
- admission_cluster.go
- admission_common.go
- admission_scenario.go
- admission_service.go
- admission_template.go
- crd_call.go
- crd_cascade.go
- crd_chaos.go
- crd_cluster.go
- crd_scenario.go
- crd_service.go
- crd_template.go
- crd_virtualobject.go
- doc.go
- register.go
- type_expressions.go
- type_labels.go
- type_lifecycle.go
- type_scheduler.go
- type_selector.go
- type_tolerations.go
- zz_generated.deepcopy.go