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 CheckForBoundedExecution(callIndex map[string]*Action) 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 ParameterValue(v interface{}) *apiextensionsv1.JSON
- func PropagateLabels(child metav1.Object, parent metav1.Object)
- func SetActionLabel(obj *metav1.ObjectMeta, actionName string)
- func SetComponentLabel(obj *metav1.ObjectMeta, componentType Component)
- func SetCreatedByLabel(child client.Object, parent client.Object)
- func SetScenarioLabel(obj *metav1.ObjectMeta, scenario string)
- func ValidateDistribution(dist *DistributionSpec) error
- func ValidateExpr(expr *ConditionalExpr) error
- func ValidatePlacement(policy *PlacementSpec, callIndex map[string]*Action) error
- func ValidateTaskScheduler(sch *TaskSchedulerSpec) error
- func ValidateTolerate(_ *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(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 (in *Cascade) Default()
- func (in *Cascade) GetReconcileStatus() Lifecycle
- func (in *Cascade) SetReconcileStatus(lifecycle Lifecycle)
- func (in *Cascade) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *Cascade) ValidateCreate() error
- func (in *Cascade) ValidateDelete() error
- func (in *Cascade) ValidateUpdate(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 (in *Chaos) Default()
- func (in *Chaos) GetReconcileStatus() Lifecycle
- func (in *Chaos) SetReconcileStatus(lifecycle Lifecycle)
- func (in *Chaos) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *Chaos) ValidateCreate() error
- func (in *Chaos) ValidateDelete() error
- func (in *Chaos) ValidateUpdate(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(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 DistParamsPareto
- type DistributionName
- type DistributionSpec
- type EmbedActions
- type EmbedSpecs
- type ExprMetrics
- type ExprState
- type GenerateObjectFromTemplate
- func (in *GenerateObjectFromTemplate) DeepCopy() *GenerateObjectFromTemplate
- func (in *GenerateObjectFromTemplate) DeepCopyInto(out *GenerateObjectFromTemplate)
- func (in *GenerateObjectFromTemplate) Generate(spec interface{}, userInputsSet uint, tSpec TemplateSpec, templateBody []byte) error
- func (in *GenerateObjectFromTemplate) GetInputs(inputIndex uint) UserInputs
- func (in *GenerateObjectFromTemplate) IterateInputs(callBack func(nextInputSet uint) error) error
- func (in *GenerateObjectFromTemplate) Prepare(allowMultipleInputs bool) error
- type JobStatus
- type Lifecycle
- type ListJobs
- type MatchBy
- type MatchOutputs
- type Mode
- type NIC
- type NumberOfJobs
- type Parameters
- type Phase
- type PlacementSpec
- type ReconcileStatusAware
- type ResourceDistribution
- type ResourceDistributionSpec
- 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(runtime.Object) error
- type ScenarioList
- type ScenarioSpec
- type ScenarioStatus
- type Service
- func (in *Service) AttachTestDataVolume(source *TestdataVolume, 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(_ runtime.Object) error
- type ServiceList
- type ServiceSelector
- type ServiceSpec
- type ServiceStatus
- type SetField
- type StateAggregationFunctions
- type TaskSchedulerSpec
- 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(runtime.Object) error
- type TemplateInputs
- type TemplateList
- type TemplateSpec
- type TemplateStatus
- type TestdataVolume
- type Timeline
- type TimelineDistributionSpec
- type TolerateSpec
- type UserInputs
- 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 = "main" )
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") // ConditionAssertionError indicate that an assertion condition is false. ConditionAssertionError = ConditionType("AssertError") // ConditionInvalidStateTransition indicates the transition of a resource into another state. // This is used for debugging. ConditionInvalidStateTransition = ConditionType("InvalidStateTransition") )
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 DefaultStartingDeadlineSeconds = int64(60)
DefaultStartingDeadlineSeconds hints to abort the experiment if the schedule is skewed more than 1 minuted.
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
BuildDependencyGraph validates the execution workflow. 1. Ensures that action names are qualified (since they are used as generators to jobs) 2. Ensures that there are no two actions with the same name. 3. Ensure that dependencies point to a valid action. 4. Ensure that macros point to a valid action.
func CheckAction ¶ added in v1.0.24
func CheckForBoundedExecution ¶ added in v1.0.30
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 ParameterValue ¶ added in v1.0.28
func ParameterValue(v interface{}) *apiextensionsv1.JSON
func PropagateLabels ¶ added in v1.0.24
func SetActionLabel ¶ added in v1.0.29
func SetActionLabel(obj *metav1.ObjectMeta, actionName string)
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 ValidateDistribution ¶ added in v1.0.28
func ValidateDistribution(dist *DistributionSpec) error
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 ValidateTaskScheduler ¶ added in v1.0.36
func ValidateTaskScheduler(sch *TaskSchedulerSpec) error
func ValidateTolerate ¶ added in v1.0.24
func ValidateTolerate(_ *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"` /* Job Scheduling */ // Schedule defines the interval between the invocations of the callable. // +optional Schedule *TaskSchedulerSpec `json:"schedule,omitempty"` // 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"` /* Execution Flow */ // Suspend forces the Controller to stop scheduling any new jobs until it is resumed. Defaults to false. // +optional Suspend *bool `json:"suspend,omitempty"` // SuspendWhen automatically sets Suspend to True, when certain conditions are met. // +optional SuspendWhen *ConditionalExpr `json:"suspendWhen,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"` }
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"` // ExpectedTimeline is the result of evaluating a timeline distribution into specific points in time. // +optional ExpectedTimeline Timeline `json:"expectedTimeline,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 (in *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 { GenerateObjectFromTemplate `json:",inline"` // Schedule defines the interval between the creation of services within the group. // +optional Schedule *TaskSchedulerSpec `json:"schedule,omitempty"` // Suspend forces the Controller to stop scheduling any new jobs until it is resumed. Defaults to false. // +optional Suspend *bool `json:"suspend,omitempty"` // SuspendWhen automatically sets Suspend to True, when certain conditions are met. // +optional SuspendWhen *ConditionalExpr `json:"suspendWhen,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"` // ExpectedTimeline is the result of evaluating a timeline distribution into specific points in time. // +optional ExpectedTimeline Timeline `json:"expectedTimeline,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 (in *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 { GenerateObjectFromTemplate `json:",inline"` // TestData defines a volume that will be mounted across the Scenario's Services. // +optional TestData *TestdataVolume `json:"testData,omitempty"` // DefaultDistributionSpec pre-calculates a scoped distribution that can be accessed by other entities // using "distribution.name : default". This default distribution allows us to describe complex relations // across features managed by different entities (e.g, place the largest dataset on the largest node). // +optional DefaultDistributionSpec *DistributionSpec `json:"defaultDistribution,omitempty"` // Resources defines how a set of resources will be distributed among the cluster's services. // +optional Resources *ResourceDistributionSpec `json:"resources,omitempty"` // Schedule defines the interval between the creation of services in the group. // +optional Schedule *TaskSchedulerSpec `json:"schedule,omitempty"` // Placement defines rules for placing the containers across the available nodes. // +optional Placement *PlacementSpec `json:"placement,omitempty"` // Suspend forces the Controller to stop scheduling any new jobs until it is resumed. Defaults to false. // +optional Suspend *bool `json:"suspend,omitempty"` // SuspendWhen automatically sets Suspend to True, when certain conditions are met. // +optional SuspendWhen *ConditionalExpr `json:"suspendWhen,omitempty"` // Tolerate forces the Controller to continue in spite of failed jobs. // +optional Tolerate *TolerateSpec `json:"tolerate,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 jobs that the controller has to scheduled. // +optional QueuedJobs []ServiceSpec `json:"queuedJobs,omitempty"` // DefaultDistribution keeps the evaluated expression of GenerateObjectFromTemplate.DefaultDistributionSpec. // +optional DefaultDistribution []float64 `json:"defaultDistribution,omitempty"` // ExpectedTimeline is the result of evaluating a timeline distribution into specific points in time. // +optional ExpectedTimeline Timeline `json:"expectedTimeline,omitempty"` // ScheduledJobs points to the next QueuedJobs. ScheduledJobs int `json:"scheduledJobs,omitempty"` // LastScheduleTime provide information about the last time a Job 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 (in *ConditionalExpr) HasMetricsExpr() bool
func (*ConditionalExpr) HasStateExpr ¶ added in v1.0.16
func (in *ConditionalExpr) HasStateExpr() bool
func (*ConditionalExpr) IsZero ¶ added in v1.0.17
func (in *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"` // 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"` // IngressPort builds an ingress for making the service's port accessible outside the Kubernetes cluster. // +optional IngressPort *netv1.ServiceBackendPort `json:"ingressPort,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 DistParamsPareto ¶ added in v1.0.37
DistParamsPareto are parameters for the Pareto distribution.
func (*DistParamsPareto) DeepCopy ¶ added in v1.0.37
func (in *DistParamsPareto) DeepCopy() *DistParamsPareto
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DistParamsPareto.
func (*DistParamsPareto) DeepCopyInto ¶ added in v1.0.37
func (in *DistParamsPareto) DeepCopyInto(out *DistParamsPareto)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DistributionName ¶ added in v1.0.32
type DistributionName string
const ( // DistributionUniform draws samples from a continuous uniform distribution DistributionUniform DistributionName = "uniform" // DistributionNormal draws samples from a normal (Gaussian) distribution DistributionNormal DistributionName = "normal" // DistributionPareto draws samples from a Pareto distribution DistributionPareto DistributionName = "pareto" // DistributionDefault instructs the controller to use an already evaluated distribution. DistributionDefault DistributionName = "default" )
type DistributionSpec ¶ added in v1.0.28
type DistributionSpec struct { // +kubebuilder:validation:Enum=constant;uniform;normal;pareto;default Name DistributionName `json:"name"` // +optional *DistParamsPareto `json:"histogram,omitempty"` }
func (*DistributionSpec) DeepCopy ¶ added in v1.0.28
func (in *DistributionSpec) DeepCopy() *DistributionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DistributionSpec.
func (*DistributionSpec) DeepCopyInto ¶ added in v1.0.28
func (in *DistributionSpec) DeepCopyInto(out *DistributionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmbedActions ¶
type EmbedActions struct { // +optional Service *GenerateObjectFromTemplate `json:"service,omitempty"` // +optional Cluster *ClusterSpec `json:"cluster,omitempty"` // +optional Chaos *GenerateObjectFromTemplate `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 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 GenerateObjectFromTemplate ¶ added in v1.0.28
type GenerateObjectFromTemplate struct { // TemplateRef refers to a template (e.g, iperf-server). TemplateRef string `json:"templateRef"` // 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"` // UserParameters is a map of parameters 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 []UserInputs `json:"inputs,omitempty"` }
GenerateObjectFromTemplate generates a spec by parameterizing the templateRef with the given inputs.
func (*GenerateObjectFromTemplate) DeepCopy ¶ added in v1.0.28
func (in *GenerateObjectFromTemplate) DeepCopy() *GenerateObjectFromTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenerateObjectFromTemplate.
func (*GenerateObjectFromTemplate) DeepCopyInto ¶ added in v1.0.28
func (in *GenerateObjectFromTemplate) DeepCopyInto(out *GenerateObjectFromTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GenerateObjectFromTemplate) Generate ¶ added in v1.0.28
func (in *GenerateObjectFromTemplate) Generate(spec interface{}, userInputsSet uint, tSpec TemplateSpec, templateBody []byte) error
func (*GenerateObjectFromTemplate) GetInputs ¶ added in v1.0.28
func (in *GenerateObjectFromTemplate) GetInputs(inputIndex uint) UserInputs
func (*GenerateObjectFromTemplate) IterateInputs ¶ added in v1.0.28
func (in *GenerateObjectFromTemplate) IterateInputs(callBack func(nextInputSet uint) error) error
func (*GenerateObjectFromTemplate) Prepare ¶ added in v1.0.28
func (in *GenerateObjectFromTemplate) 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 JobStatus ¶ added in v1.0.28
type JobStatus 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 }
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 ListJobs ¶ added in v1.0.28
type ListJobs interface { // 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 }
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 NumberOfJobs ¶ added in v1.0.28
type NumberOfJobs interface { // 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 }
type Parameters ¶ added in v1.0.28
type Parameters map[string]*apiextensionsv1.JSON
func (Parameters) DeepCopy ¶ added in v1.0.28
func (in Parameters) DeepCopy() Parameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Parameters.
func (Parameters) DeepCopyInto ¶ added in v1.0.28
func (in Parameters) DeepCopyInto(out *Parameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Parameters) Unmarshal ¶ added in v1.0.28
func (in Parameters) Unmarshal() (map[string]interface{}, error)
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 ResourceDistribution ¶ added in v1.0.28
type ResourceDistribution []corev1.ResourceList
func (ResourceDistribution) DeepCopy ¶ added in v1.0.28
func (in ResourceDistribution) DeepCopy() ResourceDistribution
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceDistribution.
func (ResourceDistribution) DeepCopyInto ¶ added in v1.0.28
func (in ResourceDistribution) DeepCopyInto(out *ResourceDistribution)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ResourceDistribution) String ¶ added in v1.0.28
func (in ResourceDistribution) String() string
func (ResourceDistribution) Table ¶ added in v1.0.28
func (in ResourceDistribution) Table() (header []string, data [][]string)
type ResourceDistributionSpec ¶ added in v1.0.28
type ResourceDistributionSpec struct { // DistributionSpec defines how the TotalResources will be assigned to resources. DistributionSpec *DistributionSpec `json:"distribution"` // TotalResources defines the total resources that will be distributed among the cluster's services. TotalResources corev1.ResourceList `json:"total"` }
func (*ResourceDistributionSpec) DeepCopy ¶ added in v1.0.28
func (in *ResourceDistributionSpec) DeepCopy() *ResourceDistributionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceDistributionSpec.
func (*ResourceDistributionSpec) DeepCopyInto ¶ added in v1.0.28
func (in *ResourceDistributionSpec) DeepCopyInto(out *ResourceDistributionSpec)
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.
func (*ScenarioList) TestNames ¶ added in v1.0.37
func (in *ScenarioList) TestNames() []string
type ScenarioSpec ¶ added in v1.0.23
type ScenarioSpec struct { // TestData defines a volume that will be mounted across the Scenario's Services. TestData *TestdataVolume `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 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 (in *Service) AttachTestDataVolume(source *TestdataVolume, 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 Callables map[string]Callable `json:"callables,omitempty"` corev1.PodSpec `json:",inline"` }
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 { JobStatus NumberOfJobs ListJobs }
StateAggregationFunctions is a set of aggregation functions for managing the lifecycle of different resources.
type TaskSchedulerSpec ¶ added in v1.0.36
type TaskSchedulerSpec struct { // Sequential schedules a new task once the previous task is complete. Sequential *bool `json:"sequential,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"` // 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"` // Timeline schedules new tasks deterministically, based on predefined times that honors the underlying distribution. // Multiple tasks may run concurrently. // +optional Timeline *TimelineDistributionSpec `json:"timeline,omitempty"` // Event schedules new tasks in a non-deterministic manner, based on system-driven events. // Multiple tasks may run concurrently. // +optional Event *ConditionalExpr `json:"event,omitempty"` }
TaskSchedulerSpec determines the conditions for creating new tasks of a Job. The scheduler will schedule up to spec.GenerateObjectFromTemplate.Instances or spec.GenerateObjectFromTemplate.Until.
func (*TaskSchedulerSpec) DeepCopy ¶ added in v1.0.36
func (in *TaskSchedulerSpec) DeepCopy() *TaskSchedulerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskSchedulerSpec.
func (*TaskSchedulerSpec) DeepCopyInto ¶ added in v1.0.36
func (in *TaskSchedulerSpec) DeepCopyInto(out *TaskSchedulerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Template ¶
type Template struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TemplateSpec `json:"spec,omitempty"` Status TemplateStatus `json:"status,omitempty"` }
Template is the Schema for the templates API +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*Template) DeepCopy ¶
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 TemplateInputs ¶ added in v1.0.28
type TemplateInputs struct { // Parameters are user-set values that are dynamically evaluated // +optional Parameters Parameters `json:"parameters,omitempty"` // Namespace returns the namespace from which the template is called from. // +optional Namespace string `json:"namespace,omitempty"` // Scenario returns the scenario from which the template is called from. // +optional Scenario string `json:"scenario,omitempty"` }
func (*TemplateInputs) DeepCopy ¶ added in v1.0.28
func (in *TemplateInputs) DeepCopy() *TemplateInputs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateInputs.
func (*TemplateInputs) DeepCopyInto ¶ added in v1.0.28
func (in *TemplateInputs) DeepCopyInto(out *TemplateInputs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 *TemplateInputs `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 TestdataVolume ¶ added in v1.0.27
type TestdataVolume struct { Claim v1.PersistentVolumeClaimVolumeSource `json:"volume,omitempty"` // GlobalNamespace if disabled, all containers see the name root directory. If enabled, each container // sees its own namespace. // +optional GlobalNamespace bool `json:"globalNamespace,omitempty"` }
func (*TestdataVolume) DeepCopy ¶ added in v1.0.27
func (in *TestdataVolume) DeepCopy() *TestdataVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestdataVolume.
func (*TestdataVolume) DeepCopyInto ¶ added in v1.0.27
func (in *TestdataVolume) DeepCopyInto(out *TestdataVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Timeline ¶ added in v1.0.28
func (Timeline) DeepCopy ¶ added in v1.0.28
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timeline.
func (Timeline) DeepCopyInto ¶ added in v1.0.28
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TimelineDistributionSpec ¶ added in v1.0.28
type TimelineDistributionSpec struct { // DistributionSpec defines how the TotalDuration will be divided into time-based events. DistributionSpec *DistributionSpec `json:"distribution"` // TotalDuration defines the total duration within which events will happen. TotalDuration *metav1.Duration `json:"total"` }
func (*TimelineDistributionSpec) DeepCopy ¶ added in v1.0.28
func (in *TimelineDistributionSpec) DeepCopy() *TimelineDistributionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimelineDistributionSpec.
func (*TimelineDistributionSpec) DeepCopyInto ¶ added in v1.0.28
func (in *TimelineDistributionSpec) DeepCopyInto(out *TimelineDistributionSpec)
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 UserInputs ¶ added in v1.0.28
type UserInputs map[string]*apiextensionsv1.JSON
func (UserInputs) Unmarshal ¶ added in v1.0.28
func (u UserInputs) Unmarshal() (map[string]interface{}, error)
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.
func (*VirtualObjectList) Table ¶ added in v1.0.28
func (in *VirtualObjectList) Table() (header []string, data [][]string)
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_distributions.go
- type_expressions.go
- type_labels.go
- type_lifecycle.go
- type_scheduler.go
- type_selector.go
- type_tolerations.go
- zz_generated.deepcopy.go