Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the chaosmesh v1alpha1 API group +groupName=chaos-mesh.org
Index ¶
- Constants
- Variables
- func AllKinds() map[string]*ChaosKind
- func AllKindsIncludeScheduleAndWorkflow() map[string]*ChaosKind
- func AllScheduleItemKinds() map[string]*ChaosKind
- func FetchChaosByTemplateType(templateType TemplateType) (runtime.Object, error)
- func GenerateTemplateName(name string) string
- func GetTemplateDescription(cm v1.ConfigMap) string
- func GetTemplateName(cm v1.ConfigMap) string
- func IsChaosTemplateType(target TemplateType) bool
- func IsStatusCheckTemplate(cm v1.ConfigMap) bool
- type AWSChaos
- func (in *AWSChaos) DeepCopy() *AWSChaos
- func (in *AWSChaos) DeepCopyInto(out *AWSChaos)
- func (in *AWSChaos) DeepCopyObject() runtime.Object
- func (in *AWSChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (in *AWSChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *AWSChaos) GetRemoteCluster() string
- func (obj *AWSChaos) GetSelectorSpecs() map[string]interface{}
- func (in *AWSChaos) GetSpecAndMetaString() (string, error)
- func (in *AWSChaos) GetStatus() *ChaosStatus
- func (in *AWSChaos) IsDeleted() bool
- func (in *AWSChaos) IsOneShot() bool
- func (in *AWSChaos) IsPaused() bool
- type AWSChaosAction
- type AWSChaosList
- func (in *AWSChaosList) DeepCopy() *AWSChaosList
- func (in *AWSChaosList) DeepCopyInto(out *AWSChaosList)
- func (in *AWSChaosList) DeepCopyList() GenericChaosList
- func (in *AWSChaosList) DeepCopyObject() runtime.Object
- func (in *AWSChaosList) GetItems() []GenericChaos
- func (in *AWSChaosList) ListChaos() []GenericChaos
- type AWSChaosSpec
- type AWSChaosStatus
- type AWSSelector
- type AttrOverrideSpec
- type AzureChaos
- func (in *AzureChaos) DeepCopy() *AzureChaos
- func (in *AzureChaos) DeepCopyInto(out *AzureChaos)
- func (in *AzureChaos) DeepCopyObject() runtime.Object
- func (in *AzureChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (in *AzureChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *AzureChaos) GetRemoteCluster() string
- func (obj *AzureChaos) GetSelectorSpecs() map[string]interface{}
- func (in *AzureChaos) GetSpecAndMetaString() (string, error)
- func (in *AzureChaos) GetStatus() *ChaosStatus
- func (in *AzureChaos) IsDeleted() bool
- func (in *AzureChaos) IsOneShot() bool
- func (in *AzureChaos) IsPaused() bool
- type AzureChaosAction
- type AzureChaosList
- func (in *AzureChaosList) DeepCopy() *AzureChaosList
- func (in *AzureChaosList) DeepCopyInto(out *AzureChaosList)
- func (in *AzureChaosList) DeepCopyList() GenericChaosList
- func (in *AzureChaosList) DeepCopyObject() runtime.Object
- func (in *AzureChaosList) GetItems() []GenericChaos
- func (in *AzureChaosList) ListChaos() []GenericChaos
- type AzureChaosSpec
- type AzureChaosStatus
- type AzureSelector
- type BandwidthSpec
- type BlockChaos
- func (in *BlockChaos) DeepCopy() *BlockChaos
- func (in *BlockChaos) DeepCopyInto(out *BlockChaos)
- func (in *BlockChaos) DeepCopyObject() runtime.Object
- func (in *BlockChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (obj *BlockChaos) GetCustomStatus() interface{}
- func (in *BlockChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *BlockChaos) GetRemoteCluster() string
- func (obj *BlockChaos) GetSelectorSpecs() map[string]interface{}
- func (in *BlockChaos) GetSpecAndMetaString() (string, error)
- func (in *BlockChaos) GetStatus() *ChaosStatus
- func (in *BlockChaos) IsDeleted() bool
- func (in *BlockChaos) IsOneShot() bool
- func (in *BlockChaos) IsPaused() bool
- type BlockChaosAction
- type BlockChaosList
- func (in *BlockChaosList) DeepCopy() *BlockChaosList
- func (in *BlockChaosList) DeepCopyInto(out *BlockChaosList)
- func (in *BlockChaosList) DeepCopyList() GenericChaosList
- func (in *BlockChaosList) DeepCopyObject() runtime.Object
- func (in *BlockChaosList) GetItems() []GenericChaos
- func (in *BlockChaosList) ListChaos() []GenericChaos
- type BlockChaosSpec
- type BlockChaosStatus
- type BlockDelaySpec
- type CPUStressor
- type ChainDirection
- type ChaosCondition
- type ChaosConditionType
- type ChaosKind
- type ChaosOnlyScheduleSpec
- type ChaosStatus
- type CidrAndPort
- type ClockSpec
- type ConcurrencyPolicy
- type ConditionalBranch
- type ConditionalBranchStatus
- type ConditionalBranchesStatus
- type ContainerNodeVolumePathSelector
- type ContainerSelector
- type CorruptSpec
- type DNSChaos
- func (in *DNSChaos) DeepCopy() *DNSChaos
- func (in *DNSChaos) DeepCopyInto(out *DNSChaos)
- func (in *DNSChaos) DeepCopyObject() runtime.Object
- func (in *DNSChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (in *DNSChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *DNSChaos) GetRemoteCluster() string
- func (obj *DNSChaos) GetSelectorSpecs() map[string]interface{}
- func (in *DNSChaos) GetSpecAndMetaString() (string, error)
- func (in *DNSChaos) GetStatus() *ChaosStatus
- func (in *DNSChaos) IsDeleted() bool
- func (in *DNSChaos) IsOneShot() bool
- func (in *DNSChaos) IsPaused() bool
- type DNSChaosAction
- type DNSChaosList
- func (in *DNSChaosList) DeepCopy() *DNSChaosList
- func (in *DNSChaosList) DeepCopyInto(out *DNSChaosList)
- func (in *DNSChaosList) DeepCopyList() GenericChaosList
- func (in *DNSChaosList) DeepCopyObject() runtime.Object
- func (in *DNSChaosList) GetItems() []GenericChaos
- func (in *DNSChaosList) ListChaos() []GenericChaos
- type DNSChaosSpec
- type DNSChaosStatus
- type DelaySpec
- type DesiredPhase
- type Direction
- type DiskFileSpec
- type DiskFillSpec
- type DiskPayloadSpec
- type DuplicateSpec
- type EmbedChaos
- func (in *EmbedChaos) DeepCopy() *EmbedChaos
- func (in *EmbedChaos) DeepCopyInto(out *EmbedChaos)
- func (it *EmbedChaos) RestoreChaosSpec(root interface{}) error
- func (it *EmbedChaos) SpawnNewList(templateType TemplateType) (GenericChaosList, error)
- func (it *EmbedChaos) SpawnNewObject(templateType TemplateType) (GenericChaos, error)
- type EmbedStatusCheck
- type ExpInfo
- type ExperimentStatus
- type FailKernRequest
- type FileAppendSpec
- type FileCreateSpec
- type FileDeleteSpec
- type FileModifyPrivilegeSpec
- type FileRenameSpec
- type FileReplaceSpec
- type FileType
- type FillingType
- type Filter
- type Frame
- type GCPChaos
- func (in *GCPChaos) DeepCopy() *GCPChaos
- func (in *GCPChaos) DeepCopyInto(out *GCPChaos)
- func (in *GCPChaos) DeepCopyObject() runtime.Object
- func (in *GCPChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (obj *GCPChaos) GetCustomStatus() interface{}
- func (in *GCPChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *GCPChaos) GetRemoteCluster() string
- func (obj *GCPChaos) GetSelectorSpecs() map[string]interface{}
- func (in *GCPChaos) GetSpecAndMetaString() (string, error)
- func (in *GCPChaos) GetStatus() *ChaosStatus
- func (in *GCPChaos) IsDeleted() bool
- func (in *GCPChaos) IsOneShot() bool
- func (in *GCPChaos) IsPaused() bool
- type GCPChaosAction
- type GCPChaosList
- func (in *GCPChaosList) DeepCopy() *GCPChaosList
- func (in *GCPChaosList) DeepCopyInto(out *GCPChaosList)
- func (in *GCPChaosList) DeepCopyList() GenericChaosList
- func (in *GCPChaosList) DeepCopyObject() runtime.Object
- func (in *GCPChaosList) GetItems() []GenericChaos
- func (in *GCPChaosList) ListChaos() []GenericChaos
- type GCPChaosSpec
- type GCPChaosStatus
- type GCPSelector
- type GenericChaos
- type GenericChaosList
- type GenericSelectorSpec
- type HTTPAbortSpec
- type HTTPChaos
- func (in *HTTPChaos) DeepCopy() *HTTPChaos
- func (in *HTTPChaos) DeepCopyInto(out *HTTPChaos)
- func (in *HTTPChaos) DeepCopyObject() runtime.Object
- func (in *HTTPChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (obj *HTTPChaos) GetCustomStatus() interface{}
- func (in *HTTPChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *HTTPChaos) GetRemoteCluster() string
- func (obj *HTTPChaos) GetSelectorSpecs() map[string]interface{}
- func (in *HTTPChaos) GetSpecAndMetaString() (string, error)
- func (in *HTTPChaos) GetStatus() *ChaosStatus
- func (in *HTTPChaos) IsDeleted() bool
- func (in *HTTPChaos) IsOneShot() bool
- func (in *HTTPChaos) IsPaused() bool
- type HTTPChaosList
- func (in *HTTPChaosList) DeepCopy() *HTTPChaosList
- func (in *HTTPChaosList) DeepCopyInto(out *HTTPChaosList)
- func (in *HTTPChaosList) DeepCopyList() GenericChaosList
- func (in *HTTPChaosList) DeepCopyObject() runtime.Object
- func (in *HTTPChaosList) GetItems() []GenericChaos
- func (in *HTTPChaosList) ListChaos() []GenericChaos
- type HTTPChaosSpec
- type HTTPChaosStatus
- type HTTPCommonSpec
- type HTTPConfigSpec
- type HTTPCriteria
- type HTTPDelaySpec
- type HTTPRequestMethod
- type HTTPRequestSpec
- type HTTPStatusCheck
- type IOChaos
- func (in *IOChaos) DeepCopy() *IOChaos
- func (in *IOChaos) DeepCopyInto(out *IOChaos)
- func (in *IOChaos) DeepCopyObject() runtime.Object
- func (in *IOChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (obj *IOChaos) GetCustomStatus() interface{}
- func (in *IOChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *IOChaos) GetRemoteCluster() string
- func (obj *IOChaos) GetSelectorSpecs() map[string]interface{}
- func (in *IOChaos) GetSpecAndMetaString() (string, error)
- func (in *IOChaos) GetStatus() *ChaosStatus
- func (in *IOChaos) IsDeleted() bool
- func (in *IOChaos) IsOneShot() bool
- func (in *IOChaos) IsPaused() bool
- type IOChaosAction
- type IOChaosList
- func (in *IOChaosList) DeepCopy() *IOChaosList
- func (in *IOChaosList) DeepCopyInto(out *IOChaosList)
- func (in *IOChaosList) DeepCopyList() GenericChaosList
- func (in *IOChaosList) DeepCopyObject() runtime.Object
- func (in *IOChaosList) GetItems() []GenericChaos
- func (in *IOChaosList) ListChaos() []GenericChaos
- type IOChaosSpec
- type IOChaosStatus
- type IOChaosType
- type IPSetType
- type InnerObject
- type InnerObjectWithCustomStatus
- type InnerObjectWithSelector
- type IoFault
- type IoMethod
- type JVMChaos
- func (in *JVMChaos) DeepCopy() *JVMChaos
- func (in *JVMChaos) DeepCopyInto(out *JVMChaos)
- func (in *JVMChaos) DeepCopyObject() runtime.Object
- func (in *JVMChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (in *JVMChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *JVMChaos) GetRemoteCluster() string
- func (obj *JVMChaos) GetSelectorSpecs() map[string]interface{}
- func (in *JVMChaos) GetSpecAndMetaString() (string, error)
- func (in *JVMChaos) GetStatus() *ChaosStatus
- func (in *JVMChaos) IsDeleted() bool
- func (in *JVMChaos) IsOneShot() bool
- func (in *JVMChaos) IsPaused() bool
- type JVMChaosAction
- type JVMChaosList
- func (in *JVMChaosList) DeepCopy() *JVMChaosList
- func (in *JVMChaosList) DeepCopyInto(out *JVMChaosList)
- func (in *JVMChaosList) DeepCopyList() GenericChaosList
- func (in *JVMChaosList) DeepCopyObject() runtime.Object
- func (in *JVMChaosList) GetItems() []GenericChaos
- func (in *JVMChaosList) ListChaos() []GenericChaos
- type JVMChaosSpec
- type JVMChaosStatus
- type JVMClassMethodSpec
- type JVMCommonSpec
- type JVMExceptionSpec
- type JVMGCSpec
- type JVMLatencySpec
- type JVMMySQLSpec
- type JVMParameter
- type JVMReturnSpec
- type JVMRuleDataSpec
- type JVMStressCfgSpec
- type JVMStressSpec
- type KafkaCommonSpec
- type KafkaFillSpec
- type KafkaFloodSpec
- type KafkaIOSpec
- type KernelChaos
- func (in *KernelChaos) DeepCopy() *KernelChaos
- func (in *KernelChaos) DeepCopyInto(out *KernelChaos)
- func (in *KernelChaos) DeepCopyObject() runtime.Object
- func (in *KernelChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (in *KernelChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *KernelChaos) GetRemoteCluster() string
- func (obj *KernelChaos) GetSelectorSpecs() map[string]interface{}
- func (in *KernelChaos) GetSpecAndMetaString() (string, error)
- func (in *KernelChaos) GetStatus() *ChaosStatus
- func (in *KernelChaos) IsDeleted() bool
- func (in *KernelChaos) IsOneShot() bool
- func (in *KernelChaos) IsPaused() bool
- type KernelChaosList
- func (in *KernelChaosList) DeepCopy() *KernelChaosList
- func (in *KernelChaosList) DeepCopyInto(out *KernelChaosList)
- func (in *KernelChaosList) DeepCopyList() GenericChaosList
- func (in *KernelChaosList) DeepCopyObject() runtime.Object
- func (in *KernelChaosList) GetItems() []GenericChaos
- func (in *KernelChaosList) ListChaos() []GenericChaos
- type KernelChaosSpec
- type KernelChaosStatus
- type LabelSelectorRequirements
- type LossSpec
- type MemoryStressor
- type MistakeSpec
- type NetworkBandwidthSpec
- type NetworkChaos
- func (in *NetworkChaos) DeepCopy() *NetworkChaos
- func (in *NetworkChaos) DeepCopyInto(out *NetworkChaos)
- func (in *NetworkChaos) DeepCopyObject() runtime.Object
- func (in *NetworkChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (obj *NetworkChaos) GetCustomStatus() interface{}
- func (in *NetworkChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *NetworkChaos) GetRemoteCluster() string
- func (obj *NetworkChaos) GetSelectorSpecs() map[string]interface{}
- func (in *NetworkChaos) GetSpecAndMetaString() (string, error)
- func (in *NetworkChaos) GetStatus() *ChaosStatus
- func (in *NetworkChaos) IsDeleted() bool
- func (in *NetworkChaos) IsOneShot() bool
- func (in *NetworkChaos) IsPaused() bool
- type NetworkChaosAction
- type NetworkChaosList
- func (in *NetworkChaosList) DeepCopy() *NetworkChaosList
- func (in *NetworkChaosList) DeepCopyInto(out *NetworkChaosList)
- func (in *NetworkChaosList) DeepCopyList() GenericChaosList
- func (in *NetworkChaosList) DeepCopyObject() runtime.Object
- func (in *NetworkChaosList) GetItems() []GenericChaos
- func (in *NetworkChaosList) ListChaos() []GenericChaos
- type NetworkChaosSpec
- type NetworkChaosStatus
- type NetworkCommonSpec
- type NetworkCorruptSpec
- type NetworkDNSSpec
- type NetworkDelaySpec
- type NetworkDownSpec
- type NetworkDuplicateSpec
- type NetworkFloodSpec
- type NetworkLossSpec
- type NetworkPartitionSpec
- type PMJVMMySQLSpec
- type Phase
- type PhysicalMachine
- type PhysicalMachineChaos
- func (in *PhysicalMachineChaos) DeepCopy() *PhysicalMachineChaos
- func (in *PhysicalMachineChaos) DeepCopyInto(out *PhysicalMachineChaos)
- func (in *PhysicalMachineChaos) DeepCopyObject() runtime.Object
- func (in *PhysicalMachineChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (in *PhysicalMachineChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *PhysicalMachineChaos) GetRemoteCluster() string
- func (obj *PhysicalMachineChaos) GetSelectorSpecs() map[string]interface{}
- func (in *PhysicalMachineChaos) GetSpecAndMetaString() (string, error)
- func (in *PhysicalMachineChaos) GetStatus() *ChaosStatus
- func (in *PhysicalMachineChaos) IsDeleted() bool
- func (in *PhysicalMachineChaos) IsOneShot() bool
- func (in *PhysicalMachineChaos) IsPaused() bool
- type PhysicalMachineChaosAction
- type PhysicalMachineChaosList
- func (in *PhysicalMachineChaosList) DeepCopy() *PhysicalMachineChaosList
- func (in *PhysicalMachineChaosList) DeepCopyInto(out *PhysicalMachineChaosList)
- func (in *PhysicalMachineChaosList) DeepCopyList() GenericChaosList
- func (in *PhysicalMachineChaosList) DeepCopyObject() runtime.Object
- func (in *PhysicalMachineChaosList) GetItems() []GenericChaos
- func (in *PhysicalMachineChaosList) ListChaos() []GenericChaos
- type PhysicalMachineChaosSpec
- type PhysicalMachineChaosStatus
- type PhysicalMachineList
- type PhysicalMachineSelector
- type PhysicalMachineSelectorSpec
- type PhysicalMachineSpec
- type PodChaos
- func (in *PodChaos) DeepCopy() *PodChaos
- func (in *PodChaos) DeepCopyInto(out *PodChaos)
- func (in *PodChaos) DeepCopyObject() runtime.Object
- func (in *PodChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (in *PodChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *PodChaos) GetRemoteCluster() string
- func (obj *PodChaos) GetSelectorSpecs() map[string]interface{}
- func (in *PodChaos) GetSpecAndMetaString() (string, error)
- func (in *PodChaos) GetStatus() *ChaosStatus
- func (in *PodChaos) IsDeleted() bool
- func (in *PodChaos) IsOneShot() bool
- func (in *PodChaos) IsPaused() bool
- type PodChaosAction
- type PodChaosList
- func (in *PodChaosList) DeepCopy() *PodChaosList
- func (in *PodChaosList) DeepCopyInto(out *PodChaosList)
- func (in *PodChaosList) DeepCopyList() GenericChaosList
- func (in *PodChaosList) DeepCopyObject() runtime.Object
- func (in *PodChaosList) GetItems() []GenericChaos
- func (in *PodChaosList) ListChaos() []GenericChaos
- type PodChaosSpec
- type PodChaosStatus
- type PodHttpChaos
- type PodHttpChaosActions
- type PodHttpChaosBaseRule
- type PodHttpChaosList
- type PodHttpChaosPatchActions
- type PodHttpChaosPatchBodyAction
- type PodHttpChaosReplaceActions
- type PodHttpChaosRule
- type PodHttpChaosSelector
- type PodHttpChaosSpec
- type PodHttpChaosStatus
- type PodHttpChaosTLS
- type PodHttpChaosTarget
- type PodIOChaos
- type PodIOChaosList
- type PodIOChaosSpec
- type PodIOChaosStatus
- type PodNetworkChaos
- type PodNetworkChaosList
- type PodNetworkChaosSpec
- type PodNetworkChaosStatus
- type PodSelector
- type PodSelectorSpec
- type ProcessSpec
- type RawIPSet
- type RawIptables
- type RawRuleSource
- type RawTrafficControl
- type Record
- type RecordEvent
- type RecordEventOperation
- type RecordEventType
- type RedisCacheLimitSpec
- type RedisCommonSpec
- type RedisExpirationSpec
- type RedisPenetrationSpec
- type RedisSentinelRestartSpec
- type RedisSentinelStopSpec
- type RemoteCluster
- type RemoteClusterCondition
- type RemoteClusterConditionType
- type RemoteClusterKubeConfig
- type RemoteClusterList
- type RemoteClusterSecretRef
- type RemoteClusterSpec
- type RemoteClusterStatus
- type RemoteObject
- type ReorderSpec
- type Schedule
- type ScheduleItem
- type ScheduleList
- type ScheduleSpec
- type ScheduleStatus
- type ScheduleTemplateType
- type SelectorMode
- type StatefulObject
- type StatusCheck
- type StatusCheckCondition
- type StatusCheckConditionType
- type StatusCheckList
- type StatusCheckMode
- type StatusCheckOutcome
- type StatusCheckReason
- type StatusCheckRecord
- type StatusCheckSpec
- type StatusCheckStatus
- type StatusCheckTemplate
- type StatusCheckType
- type StressCPUSpec
- type StressChaos
- func (in *StressChaos) DeepCopy() *StressChaos
- func (in *StressChaos) DeepCopyInto(out *StressChaos)
- func (in *StressChaos) DeepCopyObject() runtime.Object
- func (in *StressChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (obj *StressChaos) GetCustomStatus() interface{}
- func (in *StressChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *StressChaos) GetRemoteCluster() string
- func (obj *StressChaos) GetSelectorSpecs() map[string]interface{}
- func (in *StressChaos) GetSpecAndMetaString() (string, error)
- func (in *StressChaos) GetStatus() *ChaosStatus
- func (in *StressChaos) IsDeleted() bool
- func (in *StressChaos) IsOneShot() bool
- func (in *StressChaos) IsPaused() bool
- type StressChaosList
- func (in *StressChaosList) DeepCopy() *StressChaosList
- func (in *StressChaosList) DeepCopyInto(out *StressChaosList)
- func (in *StressChaosList) DeepCopyList() GenericChaosList
- func (in *StressChaosList) DeepCopyObject() runtime.Object
- func (in *StressChaosList) GetItems() []GenericChaos
- func (in *StressChaosList) ListChaos() []GenericChaos
- type StressChaosSpec
- type StressChaosStatus
- type StressInstance
- type StressMemorySpec
- type Stressor
- type Stressors
- type Task
- type TcParameter
- type TcType
- type Template
- type TemplateType
- type TimeChaos
- func (in *TimeChaos) DeepCopy() *TimeChaos
- func (in *TimeChaos) DeepCopyInto(out *TimeChaos)
- func (in *TimeChaos) DeepCopyObject() runtime.Object
- func (in *TimeChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
- func (in *TimeChaos) GetObjectMeta() *metav1.ObjectMeta
- func (in *TimeChaos) GetRemoteCluster() string
- func (in *TimeChaos) GetSelectorSpecs() map[string]interface{}
- func (in *TimeChaos) GetSpecAndMetaString() (string, error)
- func (in *TimeChaos) GetStatus() *ChaosStatus
- func (in *TimeChaos) IsDeleted() bool
- func (in *TimeChaos) IsOneShot() bool
- func (in *TimeChaos) IsPaused() bool
- type TimeChaosList
- func (in *TimeChaosList) DeepCopy() *TimeChaosList
- func (in *TimeChaosList) DeepCopyInto(out *TimeChaosList)
- func (in *TimeChaosList) DeepCopyList() GenericChaosList
- func (in *TimeChaosList) DeepCopyObject() runtime.Object
- func (in *TimeChaosList) GetItems() []GenericChaos
- func (in *TimeChaosList) ListChaos() []GenericChaos
- type TimeChaosSpec
- type TimeChaosStatus
- type Timespec
- type UserDefinedSpec
- type VMSpec
- type Workflow
- type WorkflowCondition
- type WorkflowConditionType
- type WorkflowList
- type WorkflowNode
- type WorkflowNodeCondition
- type WorkflowNodeConditionType
- type WorkflowNodeList
- type WorkflowNodeSpec
- type WorkflowNodeStatus
- type WorkflowSpec
- type WorkflowStatus
Constants ¶
const ( // PauseAnnotationKey defines the annotation used to pause a chaos PauseAnnotationKey = "experiment.chaos-mesh.org/pause" LabelManagedBy = "managed-by" )
const ( MethodGet = "GET" MethodPost = "POST" )
const ( // TemplateTypeLabelKey is a label that represents the template type. TemplateTypeLabelKey = "template.chaos-mesh.org/type" // ManagedByLabelKey is a label that represents the tool being used // to manage the operation of the object. ManagedByLabelKey = "app.kubernetes.io/managed-by" // ManagedByLabelValue is the value that represents the object is // managed by Chaos Mesh. ManagedByLabelValue = "chaos-mesh" // TemplateNameAnnotationKey is an annotation that represents // the real name of the template. TemplateNameAnnotationKey = "template.chaos-mesh.org/name" // TemplateDescriptionAnnotationKey is an annotation that represents // the description of the template. TemplateDescriptionAnnotationKey = "template.chaos-mesh.org/description" // PrefixStatusCheckTemplate is the prefix of the name of a StatusCheckTemplate. PrefixStatusCheckTemplate = "template-status-check" // StatusCheckTemplateKey is the key that status check spec // saved in the template ConfigMap. StatusCheckTemplateKey = "spec" )
const ( LabelControlledBy = "chaos-mesh.org/controlled-by" LabelWorkflow = "chaos-mesh.org/workflow" WorkflowAnnotationAbort = "workflow.chaos-mesh.org/abort" )
const ( EntryCreated string = "EntryCreated" InvalidEntry string = "InvalidEntry" WorkflowAccomplished string = "WorkflowAccomplished" NodeAccomplished string = "NodeAccomplished" NodesCreated string = "NodesCreated" NodeDeadlineExceed string = "NodeDeadlineExceed" NodeDeadlineNotExceed string = "NodeDeadlineNotExceed" NodeDeadlineOmitted string = "NodeDeadlineOmitted" ParentNodeDeadlineExceed string = "ParentNodeDeadlineExceed" ChaosCRCreated string = "ChaosCRCreated" ChaosCRCreateFailed string = "ChaosCRCreateFailed" ChaosCRDeleted string = "ChaosCRDeleted" ChaosCRDeleteFailed string = "ChaosCRDeleteFailed" ChaosCRNotExists string = "ChaosCRNotExists" TaskPodSpawned string = "TaskPodSpawned" TaskPodSpawnFailed string = "TaskPodSpawnFailed" TaskPodPodCompleted string = "TaskPodPodCompleted" ConditionalBranchesSelected string = "ConditionalBranchesSelected" RerunBySpecChanged string = "RerunBySpecChanged" StatusCheckCreated string = "StatusCheckCreated" StatusCheckCreatedFailed string = "StatusCheckCreatedFailed" StatusCheckDeleted string = "StatusCheckDeleted" StatusCheckDeletedFailed string = "StatusCheckDeletedFailed" StatusCheckCompleted string = "StatusCheckCompleted" StatusCheckNotExceedSuccessThreshold string = "StatusCheckNotExceedSuccessThreshold" ParentNodeAborted string = "ParentNodeAborted" WorkflowAborted string = "WorkflowAborted" )
Reasons
const KindAWSChaos = "AWSChaos"
const KindAzureChaos = "AzureChaos"
const KindBlockChaos = "BlockChaos"
const KindDNSChaos = "DNSChaos"
const KindGCPChaos = "GCPChaos"
const KindHTTPChaos = "HTTPChaos"
const KindIOChaos = "IOChaos"
const KindJVMChaos = "JVMChaos"
const KindKernelChaos = "KernelChaos"
const KindNetworkChaos = "NetworkChaos"
const KindPhysicalMachine = "PhysicalMachine"
const KindPhysicalMachineChaos = "PhysicalMachineChaos"
const KindPodChaos = "PodChaos"
const KindPodHttpChaos = "PodHttpChaos"
const KindPodIOChaos = "PodIOChaos"
const KindPodNetworkChaos = "PodNetworkChaos"
const KindRemoteCluster = "RemoteCluster"
const KindSchedule = "Schedule"
const KindStatusCheck = "StatusCheck"
const KindStressChaos = "StressChaos"
const KindTimeChaos = "TimeChaos"
const KindWorkflow = "Workflow"
const KindWorkflowNode = "WorkflowNode"
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "chaos-mesh.org", 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 ErrCanNotUpdateChaos = errors.New("Cannot update chaos spec")
updating spec of a chaos will have no effect, we'd better reject it
var StandardCronParser = cron.NewParser(
cron.SecondOptional | cron.Minute | cron.Hour | cron.Dom | cron.Month | cron.Dow | cron.Descriptor,
)
Functions ¶
func AllKinds ¶
AllKinds returns all chaos kinds, key is name of Kind, value is an accessor for spawning Object and List
func AllScheduleItemKinds ¶
AllKinds returns all chaos kinds.
func FetchChaosByTemplateType ¶
func FetchChaosByTemplateType(templateType TemplateType) (runtime.Object, error)
func GenerateTemplateName ¶
func GetTemplateDescription ¶
func GetTemplateName ¶
func IsChaosTemplateType ¶
func IsChaosTemplateType(target TemplateType) bool
func IsStatusCheckTemplate ¶
Types ¶
type AWSChaos ¶
type AWSChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AWSChaosSpec `json:"spec"`
Status AWSChaosStatus `json:"status,omitempty"`
}
AWSChaos is the Schema for the awschaos API
func (*AWSChaos) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSChaos.
func (*AWSChaos) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSChaos) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AWSChaos) DurationExceeded ¶
func (*AWSChaos) GetObjectMeta ¶
func (in *AWSChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*AWSChaos) GetRemoteCluster ¶
GetRemoteCluster returns the remoteCluster
func (*AWSChaos) GetSelectorSpecs ¶
func (*AWSChaos) GetSpecAndMetaString ¶
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*AWSChaos) GetStatus ¶
func (in *AWSChaos) GetStatus() *ChaosStatus
GetStatus returns the status
type AWSChaosAction ¶
type AWSChaosAction string
AWSChaosAction represents the chaos action about aws.
const ( // Ec2Stop represents the chaos action of stopping ec2. Ec2Stop AWSChaosAction = "ec2-stop" // Ec2Restart represents the chaos action of restarting ec2. Ec2Restart AWSChaosAction = "ec2-restart" // DetachVolume represents the chaos action of detaching the volume of ec2. DetachVolume AWSChaosAction = "detach-volume" )
type AWSChaosList ¶
type AWSChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AWSChaos `json:"items"`
}
AWSChaosList contains a list of AWSChaos
func (*AWSChaosList) DeepCopy ¶
func (in *AWSChaosList) DeepCopy() *AWSChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSChaosList.
func (*AWSChaosList) DeepCopyInto ¶
func (in *AWSChaosList) DeepCopyInto(out *AWSChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSChaosList) DeepCopyList ¶
func (in *AWSChaosList) DeepCopyList() GenericChaosList
func (*AWSChaosList) DeepCopyObject ¶
func (in *AWSChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AWSChaosList) GetItems ¶
func (in *AWSChaosList) GetItems() []GenericChaos
func (*AWSChaosList) ListChaos ¶
func (in *AWSChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type AWSChaosSpec ¶
type AWSChaosSpec struct {
// Action defines the specific aws chaos action.
// Supported action: ec2-stop / ec2-restart / detach-volume
// Default action: ec2-stop
Action AWSChaosAction `json:"action"`
// Duration represents the duration of the chaos action.
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// SecretName defines the name of kubernetes secret.
SecretName *string `json:"secretName,omitempty" webhook:",nilable"`
AWSSelector `json:",inline"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
AWSChaosSpec is the content of the specification for an AWSChaos
func (*AWSChaosSpec) DeepCopy ¶
func (in *AWSChaosSpec) DeepCopy() *AWSChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSChaosSpec.
func (*AWSChaosSpec) DeepCopyInto ¶
func (in *AWSChaosSpec) DeepCopyInto(out *AWSChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSChaosSpec) GetDuration ¶
func (in *AWSChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type AWSChaosStatus ¶
type AWSChaosStatus struct {
ChaosStatus `json:",inline"`
}
AWSChaosStatus represents the status of an AWSChaos
func (*AWSChaosStatus) DeepCopy ¶
func (in *AWSChaosStatus) DeepCopy() *AWSChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSChaosStatus.
func (*AWSChaosStatus) DeepCopyInto ¶
func (in *AWSChaosStatus) DeepCopyInto(out *AWSChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSSelector ¶
type AWSSelector struct {
// Endpoint indicates the endpoint of the aws server. Just used it in test now.
// +ui:form:ignore
Endpoint *string `json:"endpoint,omitempty"`
// AWSRegion defines the region of aws.
AWSRegion string `json:"awsRegion"`
// Ec2Instance indicates the ID of the ec2 instance.
Ec2Instance string `json:"ec2Instance"`
// EbsVolume indicates the ID of the EBS volume.
// Needed in detach-volume.
// +ui:form:when=action=='detach-volume'
EbsVolume *string `json:"volumeID,omitempty" webhook:"EbsVolume,nilable"`
// DeviceName indicates the name of the device.
// Needed in detach-volume.
// +ui:form:when=action=='detach-volume'
DeviceName *string `json:"deviceName,omitempty" webhook:"AWSDeviceName,nilable"`
}
func (*AWSSelector) DeepCopy ¶
func (in *AWSSelector) DeepCopy() *AWSSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSSelector.
func (*AWSSelector) DeepCopyInto ¶
func (in *AWSSelector) DeepCopyInto(out *AWSSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSSelector) Id ¶
func (selector *AWSSelector) Id() string
type AttrOverrideSpec ¶
type AttrOverrideSpec struct {
Ino *uint64 `json:"ino,omitempty"`
Size *uint64 `json:"size,omitempty"`
Blocks *uint64 `json:"blocks,omitempty"`
Atime *Timespec `json:"atime,omitempty"`
Mtime *Timespec `json:"mtime,omitempty"`
Ctime *Timespec `json:"ctime,omitempty"`
Kind *FileType `json:"kind,omitempty"`
Perm *uint16 `json:"perm,omitempty"`
Nlink *uint32 `json:"nlink,omitempty"`
UID *uint32 `json:"uid,omitempty"`
GID *uint32 `json:"gid,omitempty"`
Rdev *uint32 `json:"rdev,omitempty"`
}
AttrOverrideSpec represents an override of attribution
func (*AttrOverrideSpec) DeepCopy ¶
func (in *AttrOverrideSpec) DeepCopy() *AttrOverrideSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttrOverrideSpec.
func (*AttrOverrideSpec) DeepCopyInto ¶
func (in *AttrOverrideSpec) DeepCopyInto(out *AttrOverrideSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureChaos ¶
type AzureChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AzureChaosSpec `json:"spec"`
Status AzureChaosStatus `json:"status,omitempty"`
}
AzureChaos is the Schema for the azurechaos API
func (*AzureChaos) DeepCopy ¶
func (in *AzureChaos) DeepCopy() *AzureChaos
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureChaos.
func (*AzureChaos) DeepCopyInto ¶
func (in *AzureChaos) DeepCopyInto(out *AzureChaos)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureChaos) DeepCopyObject ¶
func (in *AzureChaos) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AzureChaos) DurationExceeded ¶
func (*AzureChaos) GetObjectMeta ¶
func (in *AzureChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*AzureChaos) GetRemoteCluster ¶
func (in *AzureChaos) GetRemoteCluster() string
GetRemoteCluster returns the remoteCluster
func (*AzureChaos) GetSelectorSpecs ¶
func (obj *AzureChaos) GetSelectorSpecs() map[string]interface{}
func (*AzureChaos) GetSpecAndMetaString ¶
func (in *AzureChaos) GetSpecAndMetaString() (string, error)
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*AzureChaos) GetStatus ¶
func (in *AzureChaos) GetStatus() *ChaosStatus
GetStatus returns the status
func (*AzureChaos) IsDeleted ¶
func (in *AzureChaos) IsDeleted() bool
IsDeleted returns whether this resource has been deleted
func (*AzureChaos) IsOneShot ¶
func (in *AzureChaos) IsOneShot() bool
func (*AzureChaos) IsPaused ¶
func (in *AzureChaos) IsPaused() bool
IsPaused returns whether this resource has been paused
type AzureChaosAction ¶
type AzureChaosAction string
AzureChaosAction represents the chaos action about azure.
const ( // AzureVmStop represents the chaos action of stopping vm. AzureVmStop AzureChaosAction = "vm-stop" // AzureVmRestart represents the chaos action of restarting vm. AzureVmRestart AzureChaosAction = "vm-restart" // AzureDiskDetach represents the chaos action of detaching the disk from vm. AzureDiskDetach AzureChaosAction = "disk-detach" )
type AzureChaosList ¶
type AzureChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AzureChaos `json:"items"`
}
AzureChaosList contains a list of AzureChaos
func (*AzureChaosList) DeepCopy ¶
func (in *AzureChaosList) DeepCopy() *AzureChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureChaosList.
func (*AzureChaosList) DeepCopyInto ¶
func (in *AzureChaosList) DeepCopyInto(out *AzureChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureChaosList) DeepCopyList ¶
func (in *AzureChaosList) DeepCopyList() GenericChaosList
func (*AzureChaosList) DeepCopyObject ¶
func (in *AzureChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AzureChaosList) GetItems ¶
func (in *AzureChaosList) GetItems() []GenericChaos
func (*AzureChaosList) ListChaos ¶
func (in *AzureChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type AzureChaosSpec ¶
type AzureChaosSpec struct {
// Action defines the specific azure chaos action.
// Supported action: vm-stop / vm-restart / disk-detach
// Default action: vm-stop
Action AzureChaosAction `json:"action"`
// Duration represents the duration of the chaos action.
Duration *string `json:"duration,omitempty" webhook:"Duration"`
AzureSelector `json:",inline"`
}
AzureChaosSpec is the content of the specification for an AzureChaos
func (*AzureChaosSpec) DeepCopy ¶
func (in *AzureChaosSpec) DeepCopy() *AzureChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureChaosSpec.
func (*AzureChaosSpec) DeepCopyInto ¶
func (in *AzureChaosSpec) DeepCopyInto(out *AzureChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureChaosSpec) GetDuration ¶
func (in *AzureChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type AzureChaosStatus ¶
type AzureChaosStatus struct {
ChaosStatus `json:",inline"`
}
AzureChaosStatus represents the status of an AzureChaos
func (*AzureChaosStatus) DeepCopy ¶
func (in *AzureChaosStatus) DeepCopy() *AzureChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureChaosStatus.
func (*AzureChaosStatus) DeepCopyInto ¶
func (in *AzureChaosStatus) DeepCopyInto(out *AzureChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureSelector ¶
type AzureSelector struct {
// SubscriptionID defines the id of Azure subscription.
SubscriptionID string `json:"subscriptionID"`
// ResourceGroupName defines the name of ResourceGroup
ResourceGroupName string `json:"resourceGroupName"`
// VMName defines the name of Virtual Machine
VMName string `json:"vmName"`
// DiskName indicates the name of the disk.
// Needed in disk-detach.
DiskName *string `json:"diskName,omitempty" webhook:"DiskName,nilable"`
// LUN indicates the Logical Unit Number of the data disk.
// Needed in disk-detach.
LUN *int `json:"lun,omitempty" webhook:"LUN,nilable"`
// SecretName defines the name of kubernetes secret. It is used for Azure credentials.
SecretName *string `json:"secretName,omitempty"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
func (*AzureSelector) DeepCopy ¶
func (in *AzureSelector) DeepCopy() *AzureSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureSelector.
func (*AzureSelector) DeepCopyInto ¶
func (in *AzureSelector) DeepCopyInto(out *AzureSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureSelector) Id ¶
func (selector *AzureSelector) Id() string
type BandwidthSpec ¶
type BandwidthSpec struct {
// Rate is the speed knob. Allows bps, kbps, mbps, gbps, tbps unit. bps means bytes per second.
Rate string `json:"rate" webhook:"Rate"`
// Limit is the number of bytes that can be queued waiting for tokens to become available.
Limit uint32 `json:"limit"`
// Buffer is the maximum amount of bytes that tokens can be available for instantaneously.
Buffer uint32 `json:"buffer"`
// Peakrate is the maximum depletion rate of the bucket.
// The peakrate does not need to be set, it is only necessary
// if perfect millisecond timescale shaping is required.
Peakrate *uint64 `json:"peakrate,omitempty"`
// Minburst specifies the size of the peakrate bucket. For perfect
// accuracy, should be set to the MTU of the interface. If a
// peakrate is needed, but some burstiness is acceptable, this
// size can be raised. A 3000 byte minburst allows around 3mbit/s
// of peakrate, given 1000 byte packets.
Minburst *uint32 `json:"minburst,omitempty"`
}
BandwidthSpec defines detail of bandwidth limit.
func (*BandwidthSpec) DeepCopy ¶
func (in *BandwidthSpec) DeepCopy() *BandwidthSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BandwidthSpec.
func (*BandwidthSpec) DeepCopyInto ¶
func (in *BandwidthSpec) DeepCopyInto(out *BandwidthSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BlockChaos ¶
type BlockChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BlockChaosSpec `json:"spec"`
Status BlockChaosStatus `json:"status,omitempty"`
}
BlockChaos is the Schema for the blockchaos API
func (*BlockChaos) DeepCopy ¶
func (in *BlockChaos) DeepCopy() *BlockChaos
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockChaos.
func (*BlockChaos) DeepCopyInto ¶
func (in *BlockChaos) DeepCopyInto(out *BlockChaos)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BlockChaos) DeepCopyObject ¶
func (in *BlockChaos) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*BlockChaos) DurationExceeded ¶
func (*BlockChaos) GetCustomStatus ¶
func (obj *BlockChaos) GetCustomStatus() interface{}
func (*BlockChaos) GetObjectMeta ¶
func (in *BlockChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*BlockChaos) GetRemoteCluster ¶
func (in *BlockChaos) GetRemoteCluster() string
GetRemoteCluster returns the remoteCluster
func (*BlockChaos) GetSelectorSpecs ¶
func (obj *BlockChaos) GetSelectorSpecs() map[string]interface{}
func (*BlockChaos) GetSpecAndMetaString ¶
func (in *BlockChaos) GetSpecAndMetaString() (string, error)
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*BlockChaos) GetStatus ¶
func (in *BlockChaos) GetStatus() *ChaosStatus
GetStatus returns the status
func (*BlockChaos) IsDeleted ¶
func (in *BlockChaos) IsDeleted() bool
IsDeleted returns whether this resource has been deleted
func (*BlockChaos) IsOneShot ¶
func (in *BlockChaos) IsOneShot() bool
func (*BlockChaos) IsPaused ¶
func (in *BlockChaos) IsPaused() bool
IsPaused returns whether this resource has been paused
type BlockChaosAction ¶
type BlockChaosAction string
const (
BlockDelay BlockChaosAction = "delay"
)
type BlockChaosList ¶
type BlockChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BlockChaos `json:"items"`
}
BlockChaosList contains a list of BlockChaos
func (*BlockChaosList) DeepCopy ¶
func (in *BlockChaosList) DeepCopy() *BlockChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockChaosList.
func (*BlockChaosList) DeepCopyInto ¶
func (in *BlockChaosList) DeepCopyInto(out *BlockChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BlockChaosList) DeepCopyList ¶
func (in *BlockChaosList) DeepCopyList() GenericChaosList
func (*BlockChaosList) DeepCopyObject ¶
func (in *BlockChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*BlockChaosList) GetItems ¶
func (in *BlockChaosList) GetItems() []GenericChaos
func (*BlockChaosList) ListChaos ¶
func (in *BlockChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type BlockChaosSpec ¶
type BlockChaosSpec struct {
// Action defines the specific block chaos action.
// Supported action: delay
Action BlockChaosAction `json:"action"`
// Delay defines the delay distribution.
Delay *BlockDelaySpec `json:"delay,omitempty"`
ContainerNodeVolumePathSelector `json:",inline"`
// Duration represents the duration of the chaos action.
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
BlockChaosSpec is the content of the specification for a BlockChaos
func (*BlockChaosSpec) DeepCopy ¶
func (in *BlockChaosSpec) DeepCopy() *BlockChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockChaosSpec.
func (*BlockChaosSpec) DeepCopyInto ¶
func (in *BlockChaosSpec) DeepCopyInto(out *BlockChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BlockChaosSpec) GetDuration ¶
func (in *BlockChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type BlockChaosStatus ¶
type BlockChaosStatus struct {
ChaosStatus `json:",inline"`
// InjectionIds always specifies the number of injected chaos action
InjectionIds map[string]int `json:"ids,omitempty"`
}
BlockChaosStatus represents the status of a BlockChaos
func (*BlockChaosStatus) DeepCopy ¶
func (in *BlockChaosStatus) DeepCopy() *BlockChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockChaosStatus.
func (*BlockChaosStatus) DeepCopyInto ¶
func (in *BlockChaosStatus) DeepCopyInto(out *BlockChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BlockDelaySpec ¶
type BlockDelaySpec struct {
// Latency defines the latency of every io request.
Latency string `json:"latency,omitempty" webhook:"Duration"`
Correlation string `json:"correlation,omitempty" default:"0" webhook:"FloatStr"`
Jitter string `json:"jitter,omitempty" default:"0ms" webhook:"Duration"`
}
BlockDelaySpec describes the block delay specification
func (*BlockDelaySpec) DeepCopy ¶
func (in *BlockDelaySpec) DeepCopy() *BlockDelaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockDelaySpec.
func (*BlockDelaySpec) DeepCopyInto ¶
func (in *BlockDelaySpec) DeepCopyInto(out *BlockDelaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CPUStressor ¶
type CPUStressor struct {
Stressor ` json:",inline"`
// Load specifies P percent loading per CPU worker. 0 is effectively a sleep (no load) and 100
// is full loading.
Load *int `json:"load,omitempty"`
// extend stress-ng options
Options []string `json:"options,omitempty"`
}
CPUStressor defines how to stress CPU out
func (*CPUStressor) DeepCopy ¶
func (in *CPUStressor) DeepCopy() *CPUStressor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUStressor.
func (*CPUStressor) DeepCopyInto ¶
func (in *CPUStressor) DeepCopyInto(out *CPUStressor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChainDirection ¶
type ChainDirection string
ChainDirection represents the direction of chain
const ( // Input means this chain is linked with INPUT chain Input ChainDirection = "input" // Output means this chain is linked with OUTPUT chain Output ChainDirection = "output" )
type ChaosCondition ¶
type ChaosCondition struct {
Type ChaosConditionType `json:"type"`
Status corev1.ConditionStatus `json:"status"`
Reason string `json:"reason,omitempty"`
}
func (*ChaosCondition) DeepCopy ¶
func (in *ChaosCondition) DeepCopy() *ChaosCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChaosCondition.
func (*ChaosCondition) DeepCopyInto ¶
func (in *ChaosCondition) DeepCopyInto(out *ChaosCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChaosConditionType ¶
type ChaosConditionType string
const ( ConditionSelected ChaosConditionType = "Selected" ConditionAllInjected ChaosConditionType = "AllInjected" ConditionAllRecovered ChaosConditionType = "AllRecovered" ConditionPaused ChaosConditionType = "Paused" )
type ChaosKind ¶
type ChaosKind struct {
// contains filtered or unexported fields
}
ChaosKind includes one kind of chaos and its list type
func (*ChaosKind) SpawnList ¶
func (it *ChaosKind) SpawnList() GenericChaosList
SpawnList will deepcopy a clean list for the acquired kind of chaos as placeholder
func (*ChaosKind) SpawnObject ¶
SpawnObject will deepcopy a clean struct for the acquired kind as placeholder
type ChaosOnlyScheduleSpec ¶
type ChaosOnlyScheduleSpec struct {
Schedule string `json:"schedule"`
// +nullable
StartingDeadlineSeconds *int64 `json:"startingDeadlineSeconds"`
ConcurrencyPolicy ConcurrencyPolicy `json:"concurrencyPolicy"`
HistoryLimit int `json:"historyLimit,omitempty"`
// TODO: use a custom type, as `TemplateType` contains other possible values
Type ScheduleTemplateType `json:"type"`
EmbedChaos `json:",inline"`
}
ChaosOnlyScheduleSpec is very similar with ScheduleSpec, but it could not schedule Workflow because we could not resolve nested CRD now
func (*ChaosOnlyScheduleSpec) DeepCopy ¶
func (in *ChaosOnlyScheduleSpec) DeepCopy() *ChaosOnlyScheduleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChaosOnlyScheduleSpec.
func (*ChaosOnlyScheduleSpec) DeepCopyInto ¶
func (in *ChaosOnlyScheduleSpec) DeepCopyInto(out *ChaosOnlyScheduleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChaosStatus ¶
type ChaosStatus struct {
// Conditions represents the current global condition of the chaos
Conditions []ChaosCondition `json:"conditions,omitempty"`
// Experiment records the last experiment state.
Experiment ExperimentStatus `json:"experiment"`
}
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 CidrAndPort ¶
CidrAndPort represents CIDR and port pair
func (*CidrAndPort) DeepCopy ¶
func (in *CidrAndPort) DeepCopy() *CidrAndPort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CidrAndPort.
func (*CidrAndPort) DeepCopyInto ¶
func (in *CidrAndPort) DeepCopyInto(out *CidrAndPort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClockSpec ¶
type ClockSpec struct {
// the pid of target program.
Pid int `json:"pid,omitempty"`
// specifies the length of time offset.
TimeOffset string `json:"time-offset,omitempty"`
// the identifier of the particular clock on which to act.
// More clock description in linux kernel can be found in man page of clock_getres, clock_gettime, clock_settime.
// Muti clock ids should be split with ","
ClockIdsSlice string `json:"clock-ids-slice,omitempty"`
}
func (*ClockSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClockSpec.
func (*ClockSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConcurrencyPolicy ¶
type ConcurrencyPolicy string
var ( ForbidConcurrent ConcurrencyPolicy = "Forbid" AllowConcurrent ConcurrencyPolicy = "Allow" )
func (ConcurrencyPolicy) IsAllow ¶
func (c ConcurrencyPolicy) IsAllow() bool
func (ConcurrencyPolicy) IsForbid ¶
func (c ConcurrencyPolicy) IsForbid() bool
type ConditionalBranch ¶
type ConditionalBranch struct {
// Target is the name of other template, if expression is evaluated as true, this template will be spawned.
Target string `json:"target"`
// Expression is the expression for this conditional branch, expected type of result is boolean. If expression is empty, this branch will always be selected/the template will be spawned.
Expression string `json:"expression,omitempty"`
}
func (*ConditionalBranch) DeepCopy ¶
func (in *ConditionalBranch) DeepCopy() *ConditionalBranch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionalBranch.
func (*ConditionalBranch) DeepCopyInto ¶
func (in *ConditionalBranch) DeepCopyInto(out *ConditionalBranch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionalBranchStatus ¶
type ConditionalBranchStatus struct {
Target string `json:"target"`
EvaluationResult corev1.ConditionStatus `json:"evaluationResult"`
}
func (*ConditionalBranchStatus) DeepCopy ¶
func (in *ConditionalBranchStatus) DeepCopy() *ConditionalBranchStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionalBranchStatus.
func (*ConditionalBranchStatus) DeepCopyInto ¶
func (in *ConditionalBranchStatus) DeepCopyInto(out *ConditionalBranchStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionalBranchesStatus ¶
type ConditionalBranchesStatus struct {
Branches []ConditionalBranchStatus `json:"branches"`
Context []string `json:"context"`
}
func (*ConditionalBranchesStatus) DeepCopy ¶
func (in *ConditionalBranchesStatus) DeepCopy() *ConditionalBranchesStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionalBranchesStatus.
func (*ConditionalBranchesStatus) DeepCopyInto ¶
func (in *ConditionalBranchesStatus) DeepCopyInto(out *ConditionalBranchesStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerNodeVolumePathSelector ¶
type ContainerNodeVolumePathSelector struct {
ContainerSelector `json:",inline"`
VolumeName string `json:"volumeName"`
}
ContainerNodeVolumePathSelector is the selector to select a node and a PV on it
func (*ContainerNodeVolumePathSelector) DeepCopy ¶
func (in *ContainerNodeVolumePathSelector) DeepCopy() *ContainerNodeVolumePathSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNodeVolumePathSelector.
func (*ContainerNodeVolumePathSelector) DeepCopyInto ¶
func (in *ContainerNodeVolumePathSelector) DeepCopyInto(out *ContainerNodeVolumePathSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerSelector ¶
type ContainerSelector struct {
PodSelector `json:",inline"`
// ContainerNames indicates list of the name of affected container.
// If not set, the first container will be injected
ContainerNames []string `json:"containerNames,omitempty"`
}
func (*ContainerSelector) DeepCopy ¶
func (in *ContainerSelector) DeepCopy() *ContainerSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerSelector.
func (*ContainerSelector) DeepCopyInto ¶
func (in *ContainerSelector) DeepCopyInto(out *ContainerSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CorruptSpec ¶
type CorruptSpec struct {
Corrupt string `json:"corrupt" webhook:"FloatStr"`
Correlation string `json:"correlation,omitempty" webhook:"FloatStr" default:"0"`
}
CorruptSpec defines detail of a corrupt action
func (*CorruptSpec) DeepCopy ¶
func (in *CorruptSpec) DeepCopy() *CorruptSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorruptSpec.
func (*CorruptSpec) DeepCopyInto ¶
func (in *CorruptSpec) DeepCopyInto(out *CorruptSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSChaos ¶
type DNSChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the behavior of a pod chaos experiment
Spec DNSChaosSpec `json:"spec"`
// Most recently observed status of the chaos experiment about pods
Status DNSChaosStatus `json:"status,omitempty"`
}
DNSChaos is the Schema for the networkchaos API
func (*DNSChaos) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSChaos.
func (*DNSChaos) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSChaos) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DNSChaos) DurationExceeded ¶
func (*DNSChaos) GetObjectMeta ¶
func (in *DNSChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*DNSChaos) GetRemoteCluster ¶
GetRemoteCluster returns the remoteCluster
func (*DNSChaos) GetSelectorSpecs ¶
func (*DNSChaos) GetSpecAndMetaString ¶
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*DNSChaos) GetStatus ¶
func (in *DNSChaos) GetStatus() *ChaosStatus
GetStatus returns the status
type DNSChaosAction ¶
type DNSChaosAction string
DNSChaosAction represents the chaos action about DNS.
const ( // ErrorAction represents get error when send DNS request. ErrorAction DNSChaosAction = "error" // RandomAction represents get random IP when send DNS request. RandomAction DNSChaosAction = "random" )
type DNSChaosList ¶
type DNSChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DNSChaos `json:"items"`
}
DNSChaosList contains a list of DNSChaos
func (*DNSChaosList) DeepCopy ¶
func (in *DNSChaosList) DeepCopy() *DNSChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSChaosList.
func (*DNSChaosList) DeepCopyInto ¶
func (in *DNSChaosList) DeepCopyInto(out *DNSChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSChaosList) DeepCopyList ¶
func (in *DNSChaosList) DeepCopyList() GenericChaosList
func (*DNSChaosList) DeepCopyObject ¶
func (in *DNSChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DNSChaosList) GetItems ¶
func (in *DNSChaosList) GetItems() []GenericChaos
func (*DNSChaosList) ListChaos ¶
func (in *DNSChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type DNSChaosSpec ¶
type DNSChaosSpec struct {
// Action defines the specific DNS chaos action.
// Supported action: error, random
// Default action: error
Action DNSChaosAction `json:"action"`
ContainerSelector `json:",inline"`
// Duration represents the duration of the chaos action
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// Choose which domain names to take effect, support the placeholder ? and wildcard *, or the Specified domain name.
// Note:
// 1. The wildcard * must be at the end of the string. For example, chaos-*.org is invalid.
// 2. if the patterns is empty, will take effect on all the domain names.
// For example:
// The value is ["google.com", "github.*", "chaos-mes?.org"],
// will take effect on "google.com", "github.com" and "chaos-mesh.org"
DomainNamePatterns []string `json:"patterns,omitempty"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
DNSChaosSpec defines the desired state of DNSChaos
func (*DNSChaosSpec) DeepCopy ¶
func (in *DNSChaosSpec) DeepCopy() *DNSChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSChaosSpec.
func (*DNSChaosSpec) DeepCopyInto ¶
func (in *DNSChaosSpec) DeepCopyInto(out *DNSChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSChaosSpec) GetDuration ¶
func (in *DNSChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type DNSChaosStatus ¶
type DNSChaosStatus struct {
ChaosStatus `json:",inline"`
}
DNSChaosStatus defines the observed state of DNSChaos
func (*DNSChaosStatus) DeepCopy ¶
func (in *DNSChaosStatus) DeepCopy() *DNSChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSChaosStatus.
func (*DNSChaosStatus) DeepCopyInto ¶
func (in *DNSChaosStatus) DeepCopyInto(out *DNSChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DelaySpec ¶
type DelaySpec struct {
Latency string `json:"latency" webhook:"Duration"`
Correlation string `json:"correlation,omitempty" webhook:"FloatStr" default:"0"`
Jitter string `json:"jitter,omitempty" webhook:"Duration" default:"0ms"`
Reorder *ReorderSpec `json:"reorder,omitempty"`
}
DelaySpec defines detail of a delay action
func (*DelaySpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelaySpec.
func (*DelaySpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DesiredPhase ¶
type DesiredPhase string
const ( // The target of `RunningPhase` is to make all selected targets (container or pod) into "Injected" phase RunningPhase DesiredPhase = "Run" // The target of `StoppedPhase` is to make all selected targets (container or pod) into "NotInjected" phase StoppedPhase DesiredPhase = "Stop" )
type Direction ¶
type Direction string
Direction represents traffic direction from source to target, it could be netem, delay, loss, duplicate, corrupt or partition, check comments below for detail direction flow.
type DiskFileSpec ¶
type DiskFileSpec struct {
// specifies how many units of data will write into the file path. support unit: c=1, w=2, b=512, kB=1000,
// K=1024, MB=1000*1000, M=1024*1024, GB=1000*1000*1000, G=1024*1024*1024 BYTES. example : 1M | 512kB
Size string `json:"size,omitempty"`
// specifies the location to fill data in. if path not provided,
// payload will read/write from/into a temp file, temp file will be deleted after writing
Path string `json:"path,omitempty"`
}
func (*DiskFileSpec) DeepCopy ¶
func (in *DiskFileSpec) DeepCopy() *DiskFileSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskFileSpec.
func (*DiskFileSpec) DeepCopyInto ¶
func (in *DiskFileSpec) DeepCopyInto(out *DiskFileSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskFillSpec ¶
type DiskFillSpec struct {
DiskFileSpec `json:",inline"`
// fill disk by fallocate
FillByFallocate bool `json:"fill-by-fallocate,omitempty"`
}
func (*DiskFillSpec) DeepCopy ¶
func (in *DiskFillSpec) DeepCopy() *DiskFillSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskFillSpec.
func (*DiskFillSpec) DeepCopyInto ¶
func (in *DiskFillSpec) DeepCopyInto(out *DiskFillSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskPayloadSpec ¶
type DiskPayloadSpec struct {
DiskFileSpec `json:",inline"`
// specifies the number of process work on writing, default 1, only 1-255 is valid value
PayloadProcessNum uint8 `json:"payload-process-num,omitempty"`
}
func (*DiskPayloadSpec) DeepCopy ¶
func (in *DiskPayloadSpec) DeepCopy() *DiskPayloadSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskPayloadSpec.
func (*DiskPayloadSpec) DeepCopyInto ¶
func (in *DiskPayloadSpec) DeepCopyInto(out *DiskPayloadSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DuplicateSpec ¶
type DuplicateSpec struct {
Duplicate string `json:"duplicate" webhook:"FloatStr"`
Correlation string `json:"correlation,omitempty" webhook:"FloatStr" default:"0"`
}
DuplicateSpec defines detail of a duplicate action
func (*DuplicateSpec) DeepCopy ¶
func (in *DuplicateSpec) DeepCopy() *DuplicateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DuplicateSpec.
func (*DuplicateSpec) DeepCopyInto ¶
func (in *DuplicateSpec) DeepCopyInto(out *DuplicateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmbedChaos ¶
type EmbedChaos struct {
AWSChaos *AWSChaosSpec `json:"awsChaos,omitempty"`
AzureChaos *AzureChaosSpec `json:"azureChaos,omitempty"`
BlockChaos *BlockChaosSpec `json:"blockChaos,omitempty"`
DNSChaos *DNSChaosSpec `json:"dnsChaos,omitempty"`
GCPChaos *GCPChaosSpec `json:"gcpChaos,omitempty"`
HTTPChaos *HTTPChaosSpec `json:"httpChaos,omitempty"`
IOChaos *IOChaosSpec `json:"ioChaos,omitempty"`
JVMChaos *JVMChaosSpec `json:"jvmChaos,omitempty"`
KernelChaos *KernelChaosSpec `json:"kernelChaos,omitempty"`
NetworkChaos *NetworkChaosSpec `json:"networkChaos,omitempty"`
PhysicalMachineChaos *PhysicalMachineChaosSpec `json:"physicalmachineChaos,omitempty"`
PodChaos *PodChaosSpec `json:"podChaos,omitempty"`
StressChaos *StressChaosSpec `json:"stressChaos,omitempty"`
TimeChaos *TimeChaosSpec `json:"timeChaos,omitempty"`
}
func (*EmbedChaos) DeepCopy ¶
func (in *EmbedChaos) DeepCopy() *EmbedChaos
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbedChaos.
func (*EmbedChaos) DeepCopyInto ¶
func (in *EmbedChaos) DeepCopyInto(out *EmbedChaos)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EmbedChaos) RestoreChaosSpec ¶
func (it *EmbedChaos) RestoreChaosSpec(root interface{}) error
func (*EmbedChaos) SpawnNewList ¶
func (it *EmbedChaos) SpawnNewList(templateType TemplateType) (GenericChaosList, error)
func (*EmbedChaos) SpawnNewObject ¶
func (it *EmbedChaos) SpawnNewObject(templateType TemplateType) (GenericChaos, error)
type EmbedStatusCheck ¶
type EmbedStatusCheck struct {
HTTPStatusCheck *HTTPStatusCheck `json:"http,omitempty"`
}
func (*EmbedStatusCheck) DeepCopy ¶
func (in *EmbedStatusCheck) DeepCopy() *EmbedStatusCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbedStatusCheck.
func (*EmbedStatusCheck) DeepCopyInto ¶
func (in *EmbedStatusCheck) DeepCopyInto(out *EmbedStatusCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExpInfo ¶
type ExpInfo struct {
// the experiment ID
UID string `json:"uid,omitempty" swaggerignore:"true"`
// the subAction, generate automatically
Action string `json:"action,omitempty" swaggerignore:"true"`
// +ui:form:when=action=='stress-cpu'
StressCPU *StressCPUSpec `json:"stress-cpu,omitempty"`
// +ui:form:when=action=='stress-mem'
StressMemory *StressMemorySpec `json:"stress-mem,omitempty"`
// +ui:form:when=action=='disk-read-payload'
DiskReadPayload *DiskPayloadSpec `json:"disk-read-payload,omitempty"`
// +ui:form:when=action=='disk-write-payload'
DiskWritePayload *DiskPayloadSpec `json:"disk-write-payload,omitempty"`
// +ui:form:when=action=='disk-fill'
DiskFill *DiskFillSpec `json:"disk-fill,omitempty"`
// +ui:form:when=action=='network-corrupt'
NetworkCorrupt *NetworkCorruptSpec `json:"network-corrupt,omitempty"`
// +ui:form:when=action=='network-duplicate'
NetworkDuplicate *NetworkDuplicateSpec `json:"network-duplicate,omitempty"`
// +ui:form:when=action=='network-loss'
NetworkLoss *NetworkLossSpec `json:"network-loss,omitempty"`
// +ui:form:when=action=='network-delay'
NetworkDelay *NetworkDelaySpec `json:"network-delay,omitempty"`
// +ui:form:when=action=='network-partition'
NetworkPartition *NetworkPartitionSpec `json:"network-partition,omitempty"`
// +ui:form:when=action=='network-dns'
NetworkDNS *NetworkDNSSpec `json:"network-dns,omitempty"`
// +ui:form:when=action=='network-bandwidth'
NetworkBandwidth *NetworkBandwidthSpec `json:"network-bandwidth,omitempty"`
// +ui:form:when=action=='network-flood'
NetworkFlood *NetworkFloodSpec `json:"network-flood,omitempty"`
// +ui:form:when=action=='network-down'
NetworkDown *NetworkDownSpec `json:"network-down,omitempty"`
// +ui:form:when=action=='process'
Process *ProcessSpec `json:"process,omitempty"`
// +ui:form:when=action=='jvm-exception'
JVMException *JVMExceptionSpec `json:"jvm-exception,omitempty"`
// +ui:form:when=action=='jvm-gc'
JVMGC *JVMGCSpec `json:"jvm-gc,omitempty"`
// +ui:form:when=action=='jvm-latency'
JVMLatency *JVMLatencySpec `json:"jvm-latency,omitempty"`
// +ui:form:when=action=='jvm-return'
JVMReturn *JVMReturnSpec `json:"jvm-return,omitempty"`
// +ui:form:when=action=='jvm-stress'
JVMStress *JVMStressSpec `json:"jvm-stress,omitempty"`
// +ui:form:when=action=='jvm-rule-data'
JVMRuleData *JVMRuleDataSpec `json:"jvm-rule-data,omitempty"`
// +ui:form:when=action=='jvm-mysql'
JVMMySQL *PMJVMMySQLSpec `json:"jvm-mysql,omitempty"`
// +ui:form:when=action=='clock'
Clock *ClockSpec `json:"clock,omitempty"`
// +ui:form:when=action=='redis-expiration'
RedisExpiration *RedisExpirationSpec `json:"redis-expiration,omitempty"`
// +ui:form:when=action=='redis-penetration'
RedisPenetration *RedisPenetrationSpec `json:"redis-penetration,omitempty"`
// +ui:form:when=action=='redis-cacheLimit'
RedisCacheLimit *RedisCacheLimitSpec `json:"redis-cacheLimit,omitempty"`
// +ui:form:when=action=='redis-restart'
RedisSentinelRestart *RedisSentinelRestartSpec `json:"redis-restart,omitempty"`
// +ui:form:when=action=='redis-stop'
RedisSentinelStop *RedisSentinelStopSpec `json:"redis-stop,omitempty"`
// +ui:form:when=action=='kafka-fill'
KafkaFill *KafkaFillSpec `json:"kafka-fill,omitempty"`
// +ui:form:when=action=='kafka-flood'
KafkaFlood *KafkaFloodSpec `json:"kafka-flood,omitempty"`
// +ui:form:when=action=='kafka-io'
KafkaIO *KafkaIOSpec `json:"kafka-io,omitempty"`
// +ui:form:when=action=='http-abort'
HTTPAbort *HTTPAbortSpec `json:"http-abort,omitempty"`
// +ui:form:when=action=='http-delay'
HTTPDelay *HTTPDelaySpec `json:"http-delay,omitempty"`
// +ui:form:when=action=='http-config'
HTTPConfig *HTTPConfigSpec `json:"http-config,omitempty"`
// +ui:form:when=action=='http-request'
HTTPRequest *HTTPRequestSpec `json:"http-request,omitempty"`
// +ui:form:when=action=='file-create'
FileCreate *FileCreateSpec `json:"file-create,omitempty"`
// +ui:form:when=action=='file-modify'
FileModifyPrivilege *FileModifyPrivilegeSpec `json:"file-modify,omitempty"`
// +ui:form:when=action=='file-delete'
FileDelete *FileDeleteSpec `json:"file-delete,omitempty"`
// +ui:form:when=action=='file-create'
FileRename *FileRenameSpec `json:"file-rename,omitempty"`
// +ui:form:when=action=='file-append'
FileAppend *FileAppendSpec `json:"file-append,omitempty"`
// +ui:form:when=action=='file-replace'
FileReplace *FileReplaceSpec `json:"file-replace,omitempty"`
// +ui:form:when=action=='vm'
VM *VMSpec `json:"vm,omitempty"`
// +ui:form:when=action=='user_defined'
UserDefined *UserDefinedSpec `json:"user_defined,omitempty"`
}
func (*ExpInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExpInfo.
func (*ExpInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExperimentStatus ¶
type ExperimentStatus struct {
DesiredPhase `json:"desiredPhase,omitempty"`
// Records are used to track the running status
Records []*Record `json:"containerRecords,omitempty"`
}
func (*ExperimentStatus) DeepCopy ¶
func (in *ExperimentStatus) DeepCopy() *ExperimentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExperimentStatus.
func (*ExperimentStatus) DeepCopyInto ¶
func (in *ExperimentStatus) DeepCopyInto(out *ExperimentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FailKernRequest ¶
type FailKernRequest struct {
// FailType indicates what to fail, can be set to '0' / '1' / '2'
// If `0`, indicates slab to fail (should_failslab)
// If `1`, indicates alloc_page to fail (should_fail_alloc_page)
// If `2`, indicates bio to fail (should_fail_bio)
// You can read:
// 1. https://www.kernel.org/doc/html/latest/fault-injection/fault-injection.html
// 2. http://github.com/iovisor/bcc/blob/master/tools/inject_example.txt
// to learn more
FailType int32 `json:"failtype"`
// Headers indicates the appropriate kernel headers you need.
// Eg: "linux/mmzone.h", "linux/blkdev.h" and so on
Headers []string `json:"headers,omitempty"`
// Callchain indicate a special call chain, such as:
// ext4_mount
// -> mount_subtree
// -> ...
// -> should_failslab
// With an optional set of predicates and an optional set of
// parameters, which used with predicates. You can read call chan
// and predicate examples from https://github.com/chaos-mesh/bpfki/tree/develop/examples
// to learn more.
// If no special call chain, just keep Callchain empty, which means it will fail at any call chain
// with slab alloc (eg: kmalloc).
Callchain []Frame `json:"callchain,omitempty"`
// Probability indicates the fails with probability.
// If you want 1%, please set this field with 1.
Probability uint32 `json:"probability,omitempty"`
// Times indicates the max times of fails.
Times uint32 `json:"times,omitempty"`
}
FailKernRequest defines the injection conditions
func (*FailKernRequest) DeepCopy ¶
func (in *FailKernRequest) DeepCopy() *FailKernRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailKernRequest.
func (*FailKernRequest) DeepCopyInto ¶
func (in *FailKernRequest) DeepCopyInto(out *FailKernRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileAppendSpec ¶
type FileAppendSpec struct {
// FileName is the name of the file to be created, modified, deleted, renamed, or appended.
FileName string `json:"file-name,omitempty"`
// Data is the data for append.
Data string `json:"data,omitempty"`
// Count is the number of times to append the data.
Count int `json:"count,omitempty"`
}
func (*FileAppendSpec) DeepCopy ¶
func (in *FileAppendSpec) DeepCopy() *FileAppendSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileAppendSpec.
func (*FileAppendSpec) DeepCopyInto ¶
func (in *FileAppendSpec) DeepCopyInto(out *FileAppendSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileCreateSpec ¶
type FileCreateSpec struct {
// FileName is the name of the file to be created, modified, deleted, renamed, or appended.
FileName string `json:"file-name,omitempty"`
// DirName is the directory name to create or delete.
DirName string `json:"dir-name,omitempty"`
}
func (*FileCreateSpec) DeepCopy ¶
func (in *FileCreateSpec) DeepCopy() *FileCreateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileCreateSpec.
func (*FileCreateSpec) DeepCopyInto ¶
func (in *FileCreateSpec) DeepCopyInto(out *FileCreateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileDeleteSpec ¶
type FileDeleteSpec struct {
// FileName is the name of the file to be created, modified, deleted, renamed, or appended.
FileName string `json:"file-name,omitempty"`
// DirName is the directory name to create or delete.
DirName string `json:"dir-name,omitempty"`
}
func (*FileDeleteSpec) DeepCopy ¶
func (in *FileDeleteSpec) DeepCopy() *FileDeleteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileDeleteSpec.
func (*FileDeleteSpec) DeepCopyInto ¶
func (in *FileDeleteSpec) DeepCopyInto(out *FileDeleteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileModifyPrivilegeSpec ¶
type FileModifyPrivilegeSpec struct {
// FileName is the name of the file to be created, modified, deleted, renamed, or appended.
FileName string `json:"file-name,omitempty"`
// Privilege is the file privilege to be set.
Privilege uint32 `json:"privilege,omitempty"`
}
func (*FileModifyPrivilegeSpec) DeepCopy ¶
func (in *FileModifyPrivilegeSpec) DeepCopy() *FileModifyPrivilegeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileModifyPrivilegeSpec.
func (*FileModifyPrivilegeSpec) DeepCopyInto ¶
func (in *FileModifyPrivilegeSpec) DeepCopyInto(out *FileModifyPrivilegeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileRenameSpec ¶
type FileRenameSpec struct {
// SourceFile is the name need to be renamed.
SourceFile string `json:"source-file,omitempty"`
// DestFile is the name to be renamed.
DestFile string `json:"dest-file,omitempty"`
}
func (*FileRenameSpec) DeepCopy ¶
func (in *FileRenameSpec) DeepCopy() *FileRenameSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileRenameSpec.
func (*FileRenameSpec) DeepCopyInto ¶
func (in *FileRenameSpec) DeepCopyInto(out *FileRenameSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileReplaceSpec ¶
type FileReplaceSpec struct {
// FileName is the name of the file to be created, modified, deleted, renamed, or appended.
FileName string `json:"file-name,omitempty"`
// OriginStr is the origin string of the file.
OriginStr string `json:"origin-string,omitempty"`
// DestStr is the destination string of the file.
DestStr string `json:"dest-string,omitempty"`
// Line is the line number of the file to be replaced.
Line int `json:"line,omitempty"`
}
func (*FileReplaceSpec) DeepCopy ¶
func (in *FileReplaceSpec) DeepCopy() *FileReplaceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileReplaceSpec.
func (*FileReplaceSpec) DeepCopyInto ¶
func (in *FileReplaceSpec) DeepCopyInto(out *FileReplaceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FillingType ¶
type FillingType string
FillingType represents type of data is filled for incorrectness
const ( // All zero Zero FillingType = "zero" // Random octets Random FillingType = "random" )
type Filter ¶
type Filter struct {
// Path represents a glob of injecting path
Path string `json:"path"`
// Methods represents the method that the action will inject in
Methods []IoMethod `json:"methods,omitempty"`
// Percent represents the percent probability of injecting this action
Percent int `json:"percent"`
}
Filter represents a filter of IOChaos action, which will define the scope of an IOChaosAction
func (*Filter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Filter.
func (*Filter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Frame ¶
type Frame struct {
// Funcname can be find from kernel source or `/proc/kallsyms`, such as `ext4_mount`
Funcname string `json:"funcname,omitempty"`
// Parameters is used with predicate, for example, if you want to inject slab error
// in `d_alloc_parallel(struct dentry *parent, const struct qstr *name)` with a special
// name `bananas`, you need to set it to `struct dentry *parent, const struct qstr *name`
// otherwise omit it.
Parameters string `json:"parameters,omitempty"`
// Predicate will access the arguments of this Frame, example with Parameters's, you can
// set it to `STRNCMP(name->name, "bananas", 8)` to make inject only with it, or omit it
// to inject for all d_alloc_parallel call chain.
Predicate string `json:"predicate,omitempty"`
}
Frame defines the function signature and predicate in function's body
func (*Frame) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Frame.
func (*Frame) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPChaos ¶
type GCPChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GCPChaosSpec `json:"spec"`
Status GCPChaosStatus `json:"status,omitempty"`
}
GCPChaos is the Schema for the gcpchaos API
func (*GCPChaos) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPChaos.
func (*GCPChaos) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPChaos) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GCPChaos) DurationExceeded ¶
func (*GCPChaos) GetCustomStatus ¶
func (obj *GCPChaos) GetCustomStatus() interface{}
func (*GCPChaos) GetObjectMeta ¶
func (in *GCPChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*GCPChaos) GetRemoteCluster ¶
GetRemoteCluster returns the remoteCluster
func (*GCPChaos) GetSelectorSpecs ¶
func (*GCPChaos) GetSpecAndMetaString ¶
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*GCPChaos) GetStatus ¶
func (in *GCPChaos) GetStatus() *ChaosStatus
GetStatus returns the status
type GCPChaosAction ¶
type GCPChaosAction string
GCPChaosAction represents the chaos action about gcp.
const ( // NodeStop represents the chaos action of stopping the node. NodeStop GCPChaosAction = "node-stop" // NodeReset represents the chaos action of resetting the node. NodeReset GCPChaosAction = "node-reset" // DiskLoss represents the chaos action of detaching the disk. DiskLoss GCPChaosAction = "disk-loss" )
type GCPChaosList ¶
type GCPChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GCPChaos `json:"items"`
}
GCPChaosList contains a list of GCPChaos
func (*GCPChaosList) DeepCopy ¶
func (in *GCPChaosList) DeepCopy() *GCPChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPChaosList.
func (*GCPChaosList) DeepCopyInto ¶
func (in *GCPChaosList) DeepCopyInto(out *GCPChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPChaosList) DeepCopyList ¶
func (in *GCPChaosList) DeepCopyList() GenericChaosList
func (*GCPChaosList) DeepCopyObject ¶
func (in *GCPChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GCPChaosList) GetItems ¶
func (in *GCPChaosList) GetItems() []GenericChaos
func (*GCPChaosList) ListChaos ¶
func (in *GCPChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type GCPChaosSpec ¶
type GCPChaosSpec struct {
// Action defines the specific gcp chaos action.
// Supported action: node-stop / node-reset / disk-loss
// Default action: node-stop
Action GCPChaosAction `json:"action"`
// Duration represents the duration of the chaos action.
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// SecretName defines the name of kubernetes secret. It is used for GCP credentials.
SecretName *string `json:"secretName,omitempty"`
GCPSelector `json:",inline"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
GCPChaosSpec is the content of the specification for a GCPChaos
func (*GCPChaosSpec) DeepCopy ¶
func (in *GCPChaosSpec) DeepCopy() *GCPChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPChaosSpec.
func (*GCPChaosSpec) DeepCopyInto ¶
func (in *GCPChaosSpec) DeepCopyInto(out *GCPChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPChaosSpec) GetDuration ¶
func (in *GCPChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type GCPChaosStatus ¶
type GCPChaosStatus struct {
ChaosStatus `json:",inline"`
// The attached disk info strings.
// Needed in disk-loss.
AttachedDisksStrings []string `json:"attachedDiskStrings,omitempty"`
}
GCPChaosStatus represents the status of a GCPChaos
func (*GCPChaosStatus) DeepCopy ¶
func (in *GCPChaosStatus) DeepCopy() *GCPChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPChaosStatus.
func (*GCPChaosStatus) DeepCopyInto ¶
func (in *GCPChaosStatus) DeepCopyInto(out *GCPChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPSelector ¶
type GCPSelector struct {
// Project defines the ID of gcp project.
Project string `json:"project"`
// Zone defines the zone of gcp project.
Zone string `json:"zone"`
// Instance defines the name of the instance
Instance string `json:"instance"`
// The device name of disks to detach.
// Needed in disk-loss.
// +ui:form:when=action=='disk-loss'
DeviceNames []string `json:"deviceNames,omitempty" webhook:"GCPDeviceNames,nilable"`
}
func (*GCPSelector) DeepCopy ¶
func (in *GCPSelector) DeepCopy() *GCPSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPSelector.
func (*GCPSelector) DeepCopyInto ¶
func (in *GCPSelector) DeepCopyInto(out *GCPSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPSelector) Id ¶
func (selector *GCPSelector) Id() string
type GenericChaos ¶
GenericChaos could be a place holder for any kubernetes Kind
type GenericChaosList ¶
type GenericChaosList interface {
runtime.Object
metav1.ListInterface
GetItems() []GenericChaos
DeepCopyList() GenericChaosList
}
GenericChaosList only use to list GenericChaos by certain EmbedChaos
type GenericSelectorSpec ¶
type GenericSelectorSpec struct {
// Namespaces is a set of namespace to which objects belong.
Namespaces []string `json:"namespaces,omitempty"`
// Map of string keys and values that can be used to select objects.
// A selector based on fields.
FieldSelectors map[string]string `json:"fieldSelectors,omitempty"`
// Map of string keys and values that can be used to select objects.
// A selector based on labels.
LabelSelectors map[string]string `json:"labelSelectors,omitempty"`
// a slice of label selector expressions that can be used to select objects.
// A list of selectors based on set-based label expressions.
ExpressionSelectors LabelSelectorRequirements `json:"expressionSelectors,omitempty" swaggerignore:"true"`
// Map of string keys and values that can be used to select objects.
// A selector based on annotations.
AnnotationSelectors map[string]string `json:"annotationSelectors,omitempty"`
}
GenericSelectorSpec defines some selectors to select objects.
func (*GenericSelectorSpec) DeepCopy ¶
func (in *GenericSelectorSpec) DeepCopy() *GenericSelectorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericSelectorSpec.
func (*GenericSelectorSpec) DeepCopyInto ¶
func (in *GenericSelectorSpec) DeepCopyInto(out *GenericSelectorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPAbortSpec ¶
type HTTPAbortSpec struct {
HTTPCommonSpec `json:",inline"`
}
func (*HTTPAbortSpec) DeepCopy ¶
func (in *HTTPAbortSpec) DeepCopy() *HTTPAbortSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPAbortSpec.
func (*HTTPAbortSpec) DeepCopyInto ¶
func (in *HTTPAbortSpec) DeepCopyInto(out *HTTPAbortSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPChaos ¶
type HTTPChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec HTTPChaosSpec `json:"spec,omitempty"`
Status HTTPChaosStatus `json:"status,omitempty"`
}
HTTPChaos is the Schema for the HTTPchaos API
func (*HTTPChaos) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPChaos.
func (*HTTPChaos) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HTTPChaos) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HTTPChaos) DurationExceeded ¶
func (*HTTPChaos) GetCustomStatus ¶
func (obj *HTTPChaos) GetCustomStatus() interface{}
func (*HTTPChaos) GetObjectMeta ¶
func (in *HTTPChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*HTTPChaos) GetRemoteCluster ¶
GetRemoteCluster returns the remoteCluster
func (*HTTPChaos) GetSelectorSpecs ¶
func (*HTTPChaos) GetSpecAndMetaString ¶
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*HTTPChaos) GetStatus ¶
func (in *HTTPChaos) GetStatus() *ChaosStatus
GetStatus returns the status
type HTTPChaosList ¶
type HTTPChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []HTTPChaos `json:"items"`
}
HTTPChaosList contains a list of HTTPChaos
func (*HTTPChaosList) DeepCopy ¶
func (in *HTTPChaosList) DeepCopy() *HTTPChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPChaosList.
func (*HTTPChaosList) DeepCopyInto ¶
func (in *HTTPChaosList) DeepCopyInto(out *HTTPChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HTTPChaosList) DeepCopyList ¶
func (in *HTTPChaosList) DeepCopyList() GenericChaosList
func (*HTTPChaosList) DeepCopyObject ¶
func (in *HTTPChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HTTPChaosList) GetItems ¶
func (in *HTTPChaosList) GetItems() []GenericChaos
func (*HTTPChaosList) ListChaos ¶
func (in *HTTPChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type HTTPChaosSpec ¶
type HTTPChaosSpec struct {
PodSelector `json:",inline"`
// Target is the object to be selected and injected.
Target PodHttpChaosTarget `json:"target"`
PodHttpChaosActions `json:",inline"`
// Port represents the target port to be proxy of.
Port int32 `json:"port,omitempty" webhook:"Port"`
// Path is a rule to select target by uri path in http request.
Path *string `json:"path,omitempty"`
// Method is a rule to select target by http method in request.
Method *string `json:"method,omitempty" webhook:"HTTPMethod"`
// Code is a rule to select target by http status code in response.
Code *int32 `json:"code,omitempty"`
// RequestHeaders is a rule to select target by http headers in request.
// The key-value pairs represent header name and header value pairs.
RequestHeaders map[string]string `json:"request_headers,omitempty"`
// ResponseHeaders is a rule to select target by http headers in response.
// The key-value pairs represent header name and header value pairs.
ResponseHeaders map[string]string `json:"response_headers,omitempty"`
// TLS is the tls config,
// will override PodHttpChaos if there are multiple HTTPChaos experiments are applied
TLS *PodHttpChaosTLS `json:"tls,omitempty"`
// Duration represents the duration of the chaos action.
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
func (*HTTPChaosSpec) DeepCopy ¶
func (in *HTTPChaosSpec) DeepCopy() *HTTPChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPChaosSpec.
func (*HTTPChaosSpec) DeepCopyInto ¶
func (in *HTTPChaosSpec) DeepCopyInto(out *HTTPChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HTTPChaosSpec) GetDuration ¶
func (in *HTTPChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type HTTPChaosStatus ¶
type HTTPChaosStatus struct {
ChaosStatus `json:",inline"`
// Instances always specifies podhttpchaos generation or empty
Instances map[string]int64 `json:"instances,omitempty"`
}
func (*HTTPChaosStatus) DeepCopy ¶
func (in *HTTPChaosStatus) DeepCopy() *HTTPChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPChaosStatus.
func (*HTTPChaosStatus) DeepCopyInto ¶
func (in *HTTPChaosStatus) DeepCopyInto(out *HTTPChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPCommonSpec ¶
type HTTPCommonSpec struct {
// Composed with one of the port of HTTP connection, we will only attack HTTP connection with port inside proxy_ports
ProxyPorts []uint `json:"proxy_ports"`
// HTTP target: Request or Response
Target string `json:"target"`
// The TCP port that the target service listens on
Port int32 `json:"port,omitempty"`
// Match path of Uri with wildcard matches
Path string `json:"path,omitempty"`
// HTTP method
Method string `json:"method,omitempty"`
// Code is a rule to select target by http status code in response
Code string `json:"code,omitempty"`
}
func (*HTTPCommonSpec) DeepCopy ¶
func (in *HTTPCommonSpec) DeepCopy() *HTTPCommonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCommonSpec.
func (*HTTPCommonSpec) DeepCopyInto ¶
func (in *HTTPCommonSpec) DeepCopyInto(out *HTTPCommonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPConfigSpec ¶
type HTTPConfigSpec struct {
// The config file path
FilePath string `json:"file_path,omitempty"`
}
func (*HTTPConfigSpec) DeepCopy ¶
func (in *HTTPConfigSpec) DeepCopy() *HTTPConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPConfigSpec.
func (*HTTPConfigSpec) DeepCopyInto ¶
func (in *HTTPConfigSpec) DeepCopyInto(out *HTTPConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPCriteria ¶
type HTTPCriteria struct {
// StatusCode defines the expected http status code for the request.
// A statusCode string could be a single code (e.g. 200), or
// an inclusive range (e.g. 200-400, both `200` and `400` are included).
StatusCode string `json:"statusCode" webhook:"StatusCode"`
}
func (*HTTPCriteria) DeepCopy ¶
func (in *HTTPCriteria) DeepCopy() *HTTPCriteria
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCriteria.
func (*HTTPCriteria) DeepCopyInto ¶
func (in *HTTPCriteria) DeepCopyInto(out *HTTPCriteria)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPDelaySpec ¶
type HTTPDelaySpec struct {
HTTPCommonSpec ` json:",inline"`
// Delay represents the delay of the target request/response
Delay string `json:"delay"`
}
func (*HTTPDelaySpec) DeepCopy ¶
func (in *HTTPDelaySpec) DeepCopy() *HTTPDelaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPDelaySpec.
func (*HTTPDelaySpec) DeepCopyInto ¶
func (in *HTTPDelaySpec) DeepCopyInto(out *HTTPDelaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPRequestMethod ¶
type HTTPRequestMethod string
type HTTPRequestSpec ¶
type HTTPRequestSpec struct {
// Request to send"
URL string `json:"url,omitempty"`
// Enable connection pool
EnableConnPool bool `json:"enable-conn-pool,omitempty"`
// The number of requests to send
Count int `json:"count,omitempty"`
}
used for HTTP request, now only support GET
func (*HTTPRequestSpec) DeepCopy ¶
func (in *HTTPRequestSpec) DeepCopy() *HTTPRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRequestSpec.
func (*HTTPRequestSpec) DeepCopyInto ¶
func (in *HTTPRequestSpec) DeepCopyInto(out *HTTPRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPStatusCheck ¶
type HTTPStatusCheck struct {
RequestUrl string `json:"url"`
RequestMethod HTTPRequestMethod `json:"method,omitempty"`
RequestHeaders http.Header `json:"headers,omitempty"`
RequestBody string `json:"body,omitempty"`
// Criteria defines how to determine the result of the status check.
Criteria HTTPCriteria `json:"criteria"`
}
func (*HTTPStatusCheck) DeepCopy ¶
func (in *HTTPStatusCheck) DeepCopy() *HTTPStatusCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPStatusCheck.
func (*HTTPStatusCheck) DeepCopyInto ¶
func (in *HTTPStatusCheck) DeepCopyInto(out *HTTPStatusCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IOChaos ¶
type IOChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec IOChaosSpec `json:"spec,omitempty"`
Status IOChaosStatus `json:"status,omitempty"`
}
IOChaos is the Schema for the iochaos API
func (*IOChaos) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IOChaos.
func (*IOChaos) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IOChaos) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IOChaos) DurationExceeded ¶
func (*IOChaos) GetCustomStatus ¶
func (obj *IOChaos) GetCustomStatus() interface{}
func (*IOChaos) GetObjectMeta ¶
func (in *IOChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*IOChaos) GetRemoteCluster ¶
GetRemoteCluster returns the remoteCluster
func (*IOChaos) GetSelectorSpecs ¶
func (*IOChaos) GetSpecAndMetaString ¶
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*IOChaos) GetStatus ¶
func (in *IOChaos) GetStatus() *ChaosStatus
GetStatus returns the status
type IOChaosAction ¶
type IOChaosAction struct {
Type IOChaosType `json:"type"`
Filter `json:",inline"`
// Faults represents the fault to inject
Faults []IoFault `json:"faults,omitempty"`
// Latency represents the latency to inject
Latency string `json:"latency,omitempty"`
// AttrOverride represents the attribution to override
*AttrOverrideSpec `json:",inline"`
// MistakeSpec represents the mistake to inject
*MistakeSpec `json:"mistake,omitempty"`
// Source represents the source of current rules
Source string `json:"source,omitempty"`
}
IOChaosAction defines a possible action of IOChaos
func (*IOChaosAction) DeepCopy ¶
func (in *IOChaosAction) DeepCopy() *IOChaosAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IOChaosAction.
func (*IOChaosAction) DeepCopyInto ¶
func (in *IOChaosAction) DeepCopyInto(out *IOChaosAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IOChaosList ¶
type IOChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []IOChaos `json:"items"`
}
IOChaosList contains a list of IOChaos
func (*IOChaosList) DeepCopy ¶
func (in *IOChaosList) DeepCopy() *IOChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IOChaosList.
func (*IOChaosList) DeepCopyInto ¶
func (in *IOChaosList) DeepCopyInto(out *IOChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IOChaosList) DeepCopyList ¶
func (in *IOChaosList) DeepCopyList() GenericChaosList
func (*IOChaosList) DeepCopyObject ¶
func (in *IOChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IOChaosList) GetItems ¶
func (in *IOChaosList) GetItems() []GenericChaos
func (*IOChaosList) ListChaos ¶
func (in *IOChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type IOChaosSpec ¶
type IOChaosSpec struct {
ContainerSelector `json:",inline"`
// Action defines the specific pod chaos action.
// Supported action: latency / fault / attrOverride / mistake
Action IOChaosType `json:"action"`
// Delay defines the value of I/O chaos action delay.
// A delay string is a possibly signed sequence of
// decimal numbers, each with optional fraction and a unit suffix,
// such as "300ms".
// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
// +ui:form:when=action=='latency'
Delay string `json:"delay,omitempty" webhook:"Duration"`
// Errno defines the error code that returned by I/O action.
// refer to: https://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.html
// +ui:form:when=action=='fault'
Errno uint32 `json:"errno,omitempty" webhook:"IOErrno"`
// Attr defines the overrided attribution
// +ui:form:when=action=='attrOverride'
Attr *AttrOverrideSpec `json:"attr,omitempty"`
// Mistake defines what types of incorrectness are injected to IO operations
// +ui:form:when=action=='mistake'
Mistake *MistakeSpec `json:"mistake,omitempty"`
// Path defines the path of files for injecting I/O chaos action.
Path string `json:"path,omitempty"`
// Methods defines the I/O methods for injecting I/O chaos action.
// default: all I/O methods.
Methods []IoMethod `json:"methods,omitempty" faker:"ioMethods"`
// Percent defines the percentage of injection errors and provides a number from 0-100.
// default: 100.
Percent int `json:"percent,omitempty" webhook:"Percent"`
// VolumePath represents the mount path of injected volume
VolumePath string `json:"volumePath"`
// Duration represents the duration of the chaos action.
// It is required when the action is `PodFailureAction`.
// A duration string is a possibly signed sequence of
// decimal numbers, each with optional fraction and a unit suffix,
// such as "300ms", "-1.5h" or "2h45m".
// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
IOChaosSpec defines the desired state of IOChaos
func (*IOChaosSpec) DeepCopy ¶
func (in *IOChaosSpec) DeepCopy() *IOChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IOChaosSpec.
func (*IOChaosSpec) DeepCopyInto ¶
func (in *IOChaosSpec) DeepCopyInto(out *IOChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IOChaosSpec) GetDuration ¶
func (in *IOChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type IOChaosStatus ¶
type IOChaosStatus struct {
ChaosStatus `json:",inline"`
// Instances always specifies podiochaos generation or empty
Instances map[string]int64 `json:"instances,omitempty"`
}
IOChaosStatus defines the observed state of IOChaos
func (*IOChaosStatus) DeepCopy ¶
func (in *IOChaosStatus) DeepCopy() *IOChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IOChaosStatus.
func (*IOChaosStatus) DeepCopyInto ¶
func (in *IOChaosStatus) DeepCopyInto(out *IOChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IOChaosType ¶
type IOChaosType string
IOChaosType represents the type of IOChaos Action
const ( // IoLatency represents injecting latency for io operation IoLatency IOChaosType = "latency" // IoFaults represents injecting faults for io operation IoFaults IOChaosType = "fault" // IoAttrOverride represents replacing attribution for io operation IoAttrOverride IOChaosType = "attrOverride" // IoMistake represents injecting incorrect read or write for io operation IoMistake IOChaosType = "mistake" )
type InnerObject ¶
type InnerObject interface {
StatefulObject
IsDeleted() bool
IsPaused() bool
DurationExceeded(time.Time) (bool, time.Duration, error)
IsOneShot() bool
}
InnerObject is basic Object for the Reconciler
type InnerObjectWithCustomStatus ¶
type InnerObjectWithCustomStatus interface {
InnerObject
GetCustomStatus() interface{}
}
type InnerObjectWithSelector ¶
type InnerObjectWithSelector interface {
InnerObject
GetSelectorSpecs() map[string]interface{}
}
type IoFault ¶
IoFault represents the fault to inject and their weight
func (*IoFault) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IoFault.
func (*IoFault) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IoMethod ¶
type IoMethod string
const ( LookUp IoMethod = "lookup" Forget IoMethod = "forget" GetAttr IoMethod = "getattr" SetAttr IoMethod = "setattr" ReadLink IoMethod = "readlink" Mknod IoMethod = "mknod" Mkdir IoMethod = "mkdir" UnLink IoMethod = "unlink" Rmdir IoMethod = "rmdir" MSymlink IoMethod = "symlink" Rename IoMethod = "rename" Link IoMethod = "link" Open IoMethod = "open" Read IoMethod = "read" Write IoMethod = "write" Flush IoMethod = "flush" Release IoMethod = "release" Fsync IoMethod = "fsync" Opendir IoMethod = "opendir" Readdir IoMethod = "readdir" Releasedir IoMethod = "releasedir" Fsyncdir IoMethod = "fsyncdir" Statfs IoMethod = "statfs" SetXAttr IoMethod = "setxattr" GetXAttr IoMethod = "getxattr" ListXAttr IoMethod = "listxattr" RemoveXAttr IoMethod = "removexattr" Access IoMethod = "access" Create IoMethod = "create" GetLk IoMethod = "getlk" SetLk IoMethod = "setlk" Bmap IoMethod = "bmap" )
type JVMChaos ¶
type JVMChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec JVMChaosSpec `json:"spec,omitempty"`
Status JVMChaosStatus `json:"status,omitempty"`
}
JVMChaos is the Schema for the jvmchaos API
func (*JVMChaos) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMChaos.
func (*JVMChaos) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*JVMChaos) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*JVMChaos) DurationExceeded ¶
func (*JVMChaos) GetObjectMeta ¶
func (in *JVMChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*JVMChaos) GetRemoteCluster ¶
GetRemoteCluster returns the remoteCluster
func (*JVMChaos) GetSelectorSpecs ¶
func (*JVMChaos) GetSpecAndMetaString ¶
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*JVMChaos) GetStatus ¶
func (in *JVMChaos) GetStatus() *ChaosStatus
GetStatus returns the status
type JVMChaosAction ¶
type JVMChaosAction string
JVMChaosAction represents the chaos action about jvm
const ( // JVMLatencyAction represents the JVM chaos action of invoke latency JVMLatencyAction JVMChaosAction = "latency" // JVMReturnAction represents the JVM chaos action of return value JVMReturnAction JVMChaosAction = "return" // JVMExceptionAction represents the JVM chaos action of throwing custom exceptions JVMExceptionAction JVMChaosAction = "exception" // JVMStressAction represents the JVM chaos action of stress like CPU and memory JVMStressAction JVMChaosAction = "stress" // JVMGCAction represents the JVM chaos action of trigger garbage collection JVMGCAction JVMChaosAction = "gc" // JVMRuleDataAction represents inject fault with byteman's rule // refer to https://downloads.jboss.org/byteman/4.0.14/byteman-programmers-guide.html#the-byteman-rule-language JVMRuleDataAction JVMChaosAction = "ruleData" // JVMMySQLAction represents the JVM chaos action of mysql java client fault injection JVMMySQLAction JVMChaosAction = "mysql" )
type JVMChaosList ¶
type JVMChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []JVMChaos `json:"items"`
}
JVMChaosList contains a list of JVMChaos
func (*JVMChaosList) DeepCopy ¶
func (in *JVMChaosList) DeepCopy() *JVMChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMChaosList.
func (*JVMChaosList) DeepCopyInto ¶
func (in *JVMChaosList) DeepCopyInto(out *JVMChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*JVMChaosList) DeepCopyList ¶
func (in *JVMChaosList) DeepCopyList() GenericChaosList
func (*JVMChaosList) DeepCopyObject ¶
func (in *JVMChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*JVMChaosList) GetItems ¶
func (in *JVMChaosList) GetItems() []GenericChaos
func (*JVMChaosList) ListChaos ¶
func (in *JVMChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type JVMChaosSpec ¶
type JVMChaosSpec struct {
ContainerSelector `json:",inline"`
// Duration represents the duration of the chaos action
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// Action defines the specific jvm chaos action.
// Supported action: latency;return;exception;stress;gc;ruleData
Action JVMChaosAction `json:"action"`
// JVMParameter represents the detail about jvm chaos action definition
JVMParameter `json:",inline"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
JVMChaosSpec defines the desired state of JVMChaos
func (*JVMChaosSpec) DeepCopy ¶
func (in *JVMChaosSpec) DeepCopy() *JVMChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMChaosSpec.
func (*JVMChaosSpec) DeepCopyInto ¶
func (in *JVMChaosSpec) DeepCopyInto(out *JVMChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*JVMChaosSpec) GetDuration ¶
func (in *JVMChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type JVMChaosStatus ¶
type JVMChaosStatus struct {
ChaosStatus `json:",inline"`
}
JVMChaosStatus defines the observed state of JVMChaos
func (*JVMChaosStatus) DeepCopy ¶
func (in *JVMChaosStatus) DeepCopy() *JVMChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMChaosStatus.
func (*JVMChaosStatus) DeepCopyInto ¶
func (in *JVMChaosStatus) DeepCopyInto(out *JVMChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JVMClassMethodSpec ¶
type JVMClassMethodSpec struct {
// Java class
Class string `json:"class,omitempty"`
// the method in Java class
Method string `json:"method,omitempty"`
}
JVMClassMethodSpec is the specification for class and method
func (*JVMClassMethodSpec) DeepCopy ¶
func (in *JVMClassMethodSpec) DeepCopy() *JVMClassMethodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMClassMethodSpec.
func (*JVMClassMethodSpec) DeepCopyInto ¶
func (in *JVMClassMethodSpec) DeepCopyInto(out *JVMClassMethodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JVMCommonSpec ¶
type JVMCommonSpec struct {
// the port of agent server, default 9277
Port int32 `json:"port,omitempty"`
// the pid of Java process which needs to attach
Pid int `json:"pid,omitempty"`
}
JVMCommonSpec is the common specification for JVMChaos
func (*JVMCommonSpec) DeepCopy ¶
func (in *JVMCommonSpec) DeepCopy() *JVMCommonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMCommonSpec.
func (*JVMCommonSpec) DeepCopyInto ¶
func (in *JVMCommonSpec) DeepCopyInto(out *JVMCommonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JVMExceptionSpec ¶
type JVMExceptionSpec struct {
JVMCommonSpec `json:",inline"`
JVMClassMethodSpec `json:",inline"`
// the exception which needs to throw for action `exception`
ThrowException string `json:"exception,omitempty"`
}
func (*JVMExceptionSpec) DeepCopy ¶
func (in *JVMExceptionSpec) DeepCopy() *JVMExceptionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMExceptionSpec.
func (*JVMExceptionSpec) DeepCopyInto ¶
func (in *JVMExceptionSpec) DeepCopyInto(out *JVMExceptionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JVMGCSpec ¶
type JVMGCSpec struct {
JVMCommonSpec `json:",inline"`
}
func (*JVMGCSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMGCSpec.
func (*JVMGCSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JVMLatencySpec ¶
type JVMLatencySpec struct {
JVMCommonSpec `json:",inline"`
JVMClassMethodSpec `json:",inline"`
// the latency duration for action 'latency', unit ms
LatencyDuration int `json:"latency,omitempty"`
}
func (*JVMLatencySpec) DeepCopy ¶
func (in *JVMLatencySpec) DeepCopy() *JVMLatencySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMLatencySpec.
func (*JVMLatencySpec) DeepCopyInto ¶
func (in *JVMLatencySpec) DeepCopyInto(out *JVMLatencySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JVMMySQLSpec ¶
type JVMMySQLSpec struct {
// the version of mysql-connector-java, only support 5.X.X(set to "5") and 8.X.X(set to "8") now
MySQLConnectorVersion string `json:"mysqlConnectorVersion,omitempty"`
// the match database
// default value is "", means match all database
Database string `json:"database,omitempty"`
// the match table
// default value is "", means match all table
Table string `json:"table,omitempty"`
// the match sql type
// default value is "", means match all SQL type.
// The value can be 'select', 'insert', 'update', 'delete', 'replace'.
SQLType string `json:"sqlType,omitempty"`
}
JVMMySQLSpec is the specification of MySQL fault injection in JVM only when SQL match the Database, Table and SQLType, JVMChaos mesh will inject fault for examle:
SQL is "select * from test.t1", only when ((Database == "test" || Database == "") && (Table == "t1" || Table == "") && (SQLType == "select" || SQLType == "")) is true, JVMChaos will inject fault
func (*JVMMySQLSpec) DeepCopy ¶
func (in *JVMMySQLSpec) DeepCopy() *JVMMySQLSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMMySQLSpec.
func (*JVMMySQLSpec) DeepCopyInto ¶
func (in *JVMMySQLSpec) DeepCopyInto(out *JVMMySQLSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JVMParameter ¶
type JVMParameter struct {
JVMCommonSpec `json:",inline"`
JVMClassMethodSpec `json:",inline"`
JVMStressCfgSpec `json:",inline"`
JVMMySQLSpec `json:",inline"`
// byteman rule name, should be unique, and will generate one if not set
Name string `json:"name"`
// the return value for action 'return'
ReturnValue string `json:"value"`
// the exception which needs to throw for action `exception`
// or the exception message needs to throw in action `mysql`
ThrowException string `json:"exception"`
// the latency duration for action 'latency', unit ms
// or the latency duration in action `mysql`
LatencyDuration int `json:"latency"`
// the byteman rule's data for action 'ruleData'
RuleData string `json:"ruleData"`
}
JVMParameter represents the detail about jvm chaos action definition
func (*JVMParameter) DeepCopy ¶
func (in *JVMParameter) DeepCopy() *JVMParameter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMParameter.
func (*JVMParameter) DeepCopyInto ¶
func (in *JVMParameter) DeepCopyInto(out *JVMParameter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JVMReturnSpec ¶
type JVMReturnSpec struct {
JVMCommonSpec `json:",inline"`
JVMClassMethodSpec `json:",inline"`
// the return value for action 'return'
ReturnValue string `json:"value,omitempty"`
}
func (*JVMReturnSpec) DeepCopy ¶
func (in *JVMReturnSpec) DeepCopy() *JVMReturnSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMReturnSpec.
func (*JVMReturnSpec) DeepCopyInto ¶
func (in *JVMReturnSpec) DeepCopyInto(out *JVMReturnSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JVMRuleDataSpec ¶
type JVMRuleDataSpec struct {
JVMCommonSpec `json:",inline"`
// RuleData used to save the rule file's data, will use it when recover
RuleData string `json:"rule-data,omitempty"`
}
func (*JVMRuleDataSpec) DeepCopy ¶
func (in *JVMRuleDataSpec) DeepCopy() *JVMRuleDataSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMRuleDataSpec.
func (*JVMRuleDataSpec) DeepCopyInto ¶
func (in *JVMRuleDataSpec) DeepCopyInto(out *JVMRuleDataSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JVMStressCfgSpec ¶
type JVMStressCfgSpec struct {
// the CPU core number needs to use, only set it when action is stress
CPUCount int `json:"cpuCount,omitempty"`
// the memory type needs to locate, only set it when action is stress, the value can be 'stack' or 'heap'
MemoryType string `json:"memType,omitempty"`
}
JVMStressSpec is the specification for stress
func (*JVMStressCfgSpec) DeepCopy ¶
func (in *JVMStressCfgSpec) DeepCopy() *JVMStressCfgSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMStressCfgSpec.
func (*JVMStressCfgSpec) DeepCopyInto ¶
func (in *JVMStressCfgSpec) DeepCopyInto(out *JVMStressCfgSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JVMStressSpec ¶
type JVMStressSpec struct {
JVMCommonSpec `json:",inline"`
// the CPU core number need to use, only set it when action is stress
CPUCount int `json:"cpu-count,omitempty"`
// the memory type need to locate, only set it when action is stress, the value can be 'stack' or 'heap'
MemoryType string `json:"mem-type,omitempty"`
}
func (*JVMStressSpec) DeepCopy ¶
func (in *JVMStressSpec) DeepCopy() *JVMStressSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMStressSpec.
func (*JVMStressSpec) DeepCopyInto ¶
func (in *JVMStressSpec) DeepCopyInto(out *JVMStressSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KafkaCommonSpec ¶
type KafkaCommonSpec struct {
// The topic to attack
Topic string `json:"topic,omitempty"`
// The host of kafka server
Host string `json:"host,omitempty"`
// The port of kafka server
Port uint16 `json:"port,omitempty"`
// The username of kafka client
Username string `json:"username,omitempty"`
// The password of kafka client
Password string `json:"password,omitempty"`
}
func (*KafkaCommonSpec) DeepCopy ¶
func (in *KafkaCommonSpec) DeepCopy() *KafkaCommonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaCommonSpec.
func (*KafkaCommonSpec) DeepCopyInto ¶
func (in *KafkaCommonSpec) DeepCopyInto(out *KafkaCommonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KafkaFillSpec ¶
type KafkaFillSpec struct {
KafkaCommonSpec ` json:",inline"`
// The size of each message
MessageSize uint `json:"messageSize,omitempty"`
// The max bytes to fill
MaxBytes uint64 `json:"maxBytes,omitempty"`
// The command to reload kafka config
ReloadCommand string `json:"reloadCommand,omitempty"`
}
func (*KafkaFillSpec) DeepCopy ¶
func (in *KafkaFillSpec) DeepCopy() *KafkaFillSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaFillSpec.
func (*KafkaFillSpec) DeepCopyInto ¶
func (in *KafkaFillSpec) DeepCopyInto(out *KafkaFillSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KafkaFloodSpec ¶
type KafkaFloodSpec struct {
KafkaCommonSpec ` json:",inline"`
// The size of each message
MessageSize uint `json:"messageSize,omitempty"`
// The number of worker threads
Threads uint `json:"threads,omitempty"`
}
func (*KafkaFloodSpec) DeepCopy ¶
func (in *KafkaFloodSpec) DeepCopy() *KafkaFloodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaFloodSpec.
func (*KafkaFloodSpec) DeepCopyInto ¶
func (in *KafkaFloodSpec) DeepCopyInto(out *KafkaFloodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KafkaIOSpec ¶
type KafkaIOSpec struct {
// The topic to attack
Topic string `json:"topic,omitempty"`
// The path of server config
ConfigFile string `json:"configFile,omitempty"`
// Make kafka cluster non-readable
NonReadable bool `json:"nonReadable,omitempty"`
// Make kafka cluster non-writable
NonWritable bool `json:"nonWritable,omitempty"`
}
func (*KafkaIOSpec) DeepCopy ¶
func (in *KafkaIOSpec) DeepCopy() *KafkaIOSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaIOSpec.
func (*KafkaIOSpec) DeepCopyInto ¶
func (in *KafkaIOSpec) DeepCopyInto(out *KafkaIOSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KernelChaos ¶
type KernelChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the behavior of a kernel chaos experiment
Spec KernelChaosSpec `json:"spec"`
// Most recently observed status of the kernel chaos experiment
Status KernelChaosStatus `json:"status"`
}
KernelChaos is the Schema for the kernelchaos API
func (*KernelChaos) DeepCopy ¶
func (in *KernelChaos) DeepCopy() *KernelChaos
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelChaos.
func (*KernelChaos) DeepCopyInto ¶
func (in *KernelChaos) DeepCopyInto(out *KernelChaos)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KernelChaos) DeepCopyObject ¶
func (in *KernelChaos) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KernelChaos) DurationExceeded ¶
func (*KernelChaos) GetObjectMeta ¶
func (in *KernelChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*KernelChaos) GetRemoteCluster ¶
func (in *KernelChaos) GetRemoteCluster() string
GetRemoteCluster returns the remoteCluster
func (*KernelChaos) GetSelectorSpecs ¶
func (obj *KernelChaos) GetSelectorSpecs() map[string]interface{}
func (*KernelChaos) GetSpecAndMetaString ¶
func (in *KernelChaos) GetSpecAndMetaString() (string, error)
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*KernelChaos) GetStatus ¶
func (in *KernelChaos) GetStatus() *ChaosStatus
GetStatus returns the status
func (*KernelChaos) IsDeleted ¶
func (in *KernelChaos) IsDeleted() bool
IsDeleted returns whether this resource has been deleted
func (*KernelChaos) IsOneShot ¶
func (in *KernelChaos) IsOneShot() bool
func (*KernelChaos) IsPaused ¶
func (in *KernelChaos) IsPaused() bool
IsPaused returns whether this resource has been paused
type KernelChaosList ¶
type KernelChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KernelChaos `json:"items"`
}
KernelChaosList contains a list of KernelChaos
func (*KernelChaosList) DeepCopy ¶
func (in *KernelChaosList) DeepCopy() *KernelChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelChaosList.
func (*KernelChaosList) DeepCopyInto ¶
func (in *KernelChaosList) DeepCopyInto(out *KernelChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KernelChaosList) DeepCopyList ¶
func (in *KernelChaosList) DeepCopyList() GenericChaosList
func (*KernelChaosList) DeepCopyObject ¶
func (in *KernelChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KernelChaosList) GetItems ¶
func (in *KernelChaosList) GetItems() []GenericChaos
func (*KernelChaosList) ListChaos ¶
func (in *KernelChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type KernelChaosSpec ¶
type KernelChaosSpec struct {
ContainerSelector `json:",inline"`
// FailKernRequest defines the request of kernel injection
FailKernRequest FailKernRequest `json:"failKernRequest"`
// Duration represents the duration of the chaos action
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
KernelChaosSpec defines the desired state of KernelChaos
func (*KernelChaosSpec) DeepCopy ¶
func (in *KernelChaosSpec) DeepCopy() *KernelChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelChaosSpec.
func (*KernelChaosSpec) DeepCopyInto ¶
func (in *KernelChaosSpec) DeepCopyInto(out *KernelChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KernelChaosSpec) GetDuration ¶
func (in *KernelChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type KernelChaosStatus ¶
type KernelChaosStatus struct {
ChaosStatus `json:",inline"`
}
KernelChaosStatus defines the observed state of KernelChaos
func (*KernelChaosStatus) DeepCopy ¶
func (in *KernelChaosStatus) DeepCopy() *KernelChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelChaosStatus.
func (*KernelChaosStatus) DeepCopyInto ¶
func (in *KernelChaosStatus) DeepCopyInto(out *KernelChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LabelSelectorRequirements ¶
type LabelSelectorRequirements []metav1.LabelSelectorRequirement
LabelSelectorRequirements is list of LabelSelectorRequirement
func (LabelSelectorRequirements) DeepCopy ¶
func (in LabelSelectorRequirements) DeepCopy() LabelSelectorRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelSelectorRequirements.
func (LabelSelectorRequirements) DeepCopyInto ¶
func (in LabelSelectorRequirements) DeepCopyInto(out *LabelSelectorRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LossSpec ¶
type LossSpec struct {
Loss string `json:"loss" webhook:"FloatStr"`
Correlation string `json:"correlation,omitempty" webhook:"FloatStr" default:"0"`
}
LossSpec defines detail of a loss action
func (*LossSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LossSpec.
func (*LossSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MemoryStressor ¶
type MemoryStressor struct {
Stressor `json:",inline"`
// Size specifies N bytes consumed per vm worker, default is the total available memory.
// One can specify the size as % of total available memory or in units of B, KB/KiB,
// MB/MiB, GB/GiB, TB/TiB.
Size string `json:"size,omitempty" webhook:"Bytes"`
// OOMScoreAdj sets the oom_score_adj of the stress process. See `man 5 proc` to know more
// about this option.
OOMScoreAdj int `json:"oomScoreAdj,omitempty"`
// extend stress-ng options
Options []string `json:"options,omitempty"`
}
MemoryStressor defines how to stress memory out
func (*MemoryStressor) DeepCopy ¶
func (in *MemoryStressor) DeepCopy() *MemoryStressor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryStressor.
func (*MemoryStressor) DeepCopyInto ¶
func (in *MemoryStressor) DeepCopyInto(out *MemoryStressor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MistakeSpec ¶
type MistakeSpec struct {
// Filling determines what is filled in the mistake data.
Filling FillingType `json:"filling,omitempty"`
// There will be [1, MaxOccurrences] segments of wrong data.
MaxOccurrences int64 `json:"maxOccurrences,omitempty"`
// Max length of each wrong data segment in bytes
MaxLength int64 `json:"maxLength,omitempty"`
}
MistakeSpec represents one type of mistake
func (*MistakeSpec) DeepCopy ¶
func (in *MistakeSpec) DeepCopy() *MistakeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MistakeSpec.
func (*MistakeSpec) DeepCopyInto ¶
func (in *MistakeSpec) DeepCopyInto(out *MistakeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkBandwidthSpec ¶
type NetworkBandwidthSpec struct {
Rate string `json:"rate"`
Limit uint32 `json:"limit"`
Buffer uint32 `json:"buffer"`
Peakrate *uint64 `json:"peakrate,omitempty"`
Minburst *uint32 `json:"minburst,omitempty"`
Device string `json:"device,omitempty"`
IPAddress string `json:"ip-address,omitempty"`
Hostname string `json:"hostname,omitempty"`
}
func (*NetworkBandwidthSpec) DeepCopy ¶
func (in *NetworkBandwidthSpec) DeepCopy() *NetworkBandwidthSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkBandwidthSpec.
func (*NetworkBandwidthSpec) DeepCopyInto ¶
func (in *NetworkBandwidthSpec) DeepCopyInto(out *NetworkBandwidthSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkChaos ¶
type NetworkChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the behavior of a pod chaos experiment
Spec NetworkChaosSpec `json:"spec"`
// Most recently observed status of the chaos experiment about pods
Status NetworkChaosStatus `json:"status,omitempty"`
}
NetworkChaos is the Schema for the networkchaos API
func (*NetworkChaos) DeepCopy ¶
func (in *NetworkChaos) DeepCopy() *NetworkChaos
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkChaos.
func (*NetworkChaos) DeepCopyInto ¶
func (in *NetworkChaos) DeepCopyInto(out *NetworkChaos)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkChaos) DeepCopyObject ¶
func (in *NetworkChaos) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NetworkChaos) DurationExceeded ¶
func (*NetworkChaos) GetCustomStatus ¶
func (obj *NetworkChaos) GetCustomStatus() interface{}
func (*NetworkChaos) GetObjectMeta ¶
func (in *NetworkChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*NetworkChaos) GetRemoteCluster ¶
func (in *NetworkChaos) GetRemoteCluster() string
GetRemoteCluster returns the remoteCluster
func (*NetworkChaos) GetSelectorSpecs ¶
func (obj *NetworkChaos) GetSelectorSpecs() map[string]interface{}
func (*NetworkChaos) GetSpecAndMetaString ¶
func (in *NetworkChaos) GetSpecAndMetaString() (string, error)
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*NetworkChaos) GetStatus ¶
func (in *NetworkChaos) GetStatus() *ChaosStatus
GetStatus returns the status
func (*NetworkChaos) IsDeleted ¶
func (in *NetworkChaos) IsDeleted() bool
IsDeleted returns whether this resource has been deleted
func (*NetworkChaos) IsOneShot ¶
func (in *NetworkChaos) IsOneShot() bool
func (*NetworkChaos) IsPaused ¶
func (in *NetworkChaos) IsPaused() bool
IsPaused returns whether this resource has been paused
type NetworkChaosAction ¶
type NetworkChaosAction string
NetworkChaosAction represents the chaos action about network.
const ( // NetemAction is a combination of several chaos actions i.e. delay, loss, duplicate, corrupt. // When using this action multiple specs are merged into one Netem RPC and sends to chaos daemon. NetemAction NetworkChaosAction = "netem" // DelayAction represents the chaos action of adding delay on pods. DelayAction NetworkChaosAction = "delay" // LossAction represents the chaos action of losing packets on pods. LossAction NetworkChaosAction = "loss" // DuplicateAction represents the chaos action of duplicating packets on pods. DuplicateAction NetworkChaosAction = "duplicate" // CorruptAction represents the chaos action of corrupting packets on pods. CorruptAction NetworkChaosAction = "corrupt" // PartitionAction represents the chaos action of network partition of pods. PartitionAction NetworkChaosAction = "partition" // BandwidthAction represents the chaos action of network bandwidth of pods. BandwidthAction NetworkChaosAction = "bandwidth" )
type NetworkChaosList ¶
type NetworkChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NetworkChaos `json:"items"`
}
NetworkChaosList contains a list of NetworkChaos
func (*NetworkChaosList) DeepCopy ¶
func (in *NetworkChaosList) DeepCopy() *NetworkChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkChaosList.
func (*NetworkChaosList) DeepCopyInto ¶
func (in *NetworkChaosList) DeepCopyInto(out *NetworkChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkChaosList) DeepCopyList ¶
func (in *NetworkChaosList) DeepCopyList() GenericChaosList
func (*NetworkChaosList) DeepCopyObject ¶
func (in *NetworkChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NetworkChaosList) GetItems ¶
func (in *NetworkChaosList) GetItems() []GenericChaos
func (*NetworkChaosList) ListChaos ¶
func (in *NetworkChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type NetworkChaosSpec ¶
type NetworkChaosSpec struct {
PodSelector `json:",inline"`
// Action defines the specific network chaos action.
// Supported action: partition, netem, delay, loss, duplicate, corrupt
// Default action: delay
Action NetworkChaosAction `json:"action"`
// Device represents the network device to be affected.
Device string `json:"device,omitempty"`
// Duration represents the duration of the chaos action
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// TcParameter represents the traffic control definition
TcParameter `json:",inline"`
// Direction represents the direction, this applies on netem and network partition action
Direction Direction `json:"direction,omitempty"`
// Target represents network target, this applies on netem and network partition action
Target *PodSelector `json:"target,omitempty" webhook:",nilable"`
// TargetDevice represents the network device to be affected in target scope.
TargetDevice string `json:"targetDevice,omitempty"`
// ExternalTargets represents network targets outside k8s
ExternalTargets []string `json:"externalTargets,omitempty"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
NetworkChaosSpec defines the desired state of NetworkChaos
func (*NetworkChaosSpec) DeepCopy ¶
func (in *NetworkChaosSpec) DeepCopy() *NetworkChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkChaosSpec.
func (*NetworkChaosSpec) DeepCopyInto ¶
func (in *NetworkChaosSpec) DeepCopyInto(out *NetworkChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkChaosSpec) GetDuration ¶
func (in *NetworkChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type NetworkChaosStatus ¶
type NetworkChaosStatus struct {
ChaosStatus ` json:",inline"`
// Instances always specifies podnetworkchaos generation or empty
Instances map[string]int64 `json:"instances,omitempty"`
}
NetworkChaosStatus defines the observed state of NetworkChaos
func (*NetworkChaosStatus) DeepCopy ¶
func (in *NetworkChaosStatus) DeepCopy() *NetworkChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkChaosStatus.
func (*NetworkChaosStatus) DeepCopyInto ¶
func (in *NetworkChaosStatus) DeepCopyInto(out *NetworkChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkCommonSpec ¶
type NetworkCommonSpec struct {
// correlation is percentage (10 is 10%)
Correlation string `json:"correlation,omitempty"`
// the network interface to impact
Device string `json:"device,omitempty"`
// only impact egress traffic from these source ports, use a ',' to separate or to indicate the range, such as 80, 8001:8010.
// it can only be used in conjunction with -p tcp or -p udp
SourcePort string `json:"source-port,omitempty"`
// only impact egress traffic to these destination ports, use a ',' to separate or to indicate the range, such as 80, 8001:8010.
// it can only be used in conjunction with -p tcp or -p udp
EgressPort string `json:"egress-port,omitempty"`
// only impact egress traffic to these IP addresses
IPAddress string `json:"ip-address,omitempty"`
// only impact traffic using this IP protocol, supported: tcp, udp, icmp, all
IPProtocol string `json:"ip-protocol,omitempty"`
// only impact traffic to these hostnames
Hostname string `json:"hostname,omitempty"`
}
func (*NetworkCommonSpec) DeepCopy ¶
func (in *NetworkCommonSpec) DeepCopy() *NetworkCommonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkCommonSpec.
func (*NetworkCommonSpec) DeepCopyInto ¶
func (in *NetworkCommonSpec) DeepCopyInto(out *NetworkCommonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkCorruptSpec ¶
type NetworkCorruptSpec struct {
NetworkCommonSpec `json:",inline"`
// percentage of packets to corrupt (10 is 10%)
Percent string `json:"percent,omitempty"`
}
func (*NetworkCorruptSpec) DeepCopy ¶
func (in *NetworkCorruptSpec) DeepCopy() *NetworkCorruptSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkCorruptSpec.
func (*NetworkCorruptSpec) DeepCopyInto ¶
func (in *NetworkCorruptSpec) DeepCopyInto(out *NetworkCorruptSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkDNSSpec ¶
type NetworkDNSSpec struct {
// update the DNS server in /etc/resolv.conf with this value
DNSServer string `json:"dns-server,omitempty"`
// map specified host to this IP address
DNSIp string `json:"dns-ip,omitempty"`
// map this host to specified IP
DNSDomainName string `json:"dns-domain-name,omitempty"`
}
func (*NetworkDNSSpec) DeepCopy ¶
func (in *NetworkDNSSpec) DeepCopy() *NetworkDNSSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDNSSpec.
func (*NetworkDNSSpec) DeepCopyInto ¶
func (in *NetworkDNSSpec) DeepCopyInto(out *NetworkDNSSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkDelaySpec ¶
type NetworkDelaySpec struct {
NetworkCommonSpec `json:",inline"`
// jitter time, time units: ns, us (or µs), ms, s, m, h.
Jitter string `json:"jitter,omitempty"`
// delay egress time, time units: ns, us (or µs), ms, s, m, h.
Latency string `json:"latency,omitempty"`
// only the packet which match the tcp flag can be accepted, others will be dropped.
// only set when the IPProtocol is tcp, used for partition.
AcceptTCPFlags string `json:"accept-tcp-flags,omitempty"`
}
func (*NetworkDelaySpec) DeepCopy ¶
func (in *NetworkDelaySpec) DeepCopy() *NetworkDelaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDelaySpec.
func (*NetworkDelaySpec) DeepCopyInto ¶
func (in *NetworkDelaySpec) DeepCopyInto(out *NetworkDelaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkDownSpec ¶
type NetworkDownSpec struct {
// The network interface to impact
Device string `json:"device,omitempty"`
// NIC down time, time units: ns, us (or µs), ms, s, m, h.
Duration string `json:"duration,omitempty"`
}
func (*NetworkDownSpec) DeepCopy ¶
func (in *NetworkDownSpec) DeepCopy() *NetworkDownSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDownSpec.
func (*NetworkDownSpec) DeepCopyInto ¶
func (in *NetworkDownSpec) DeepCopyInto(out *NetworkDownSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkDuplicateSpec ¶
type NetworkDuplicateSpec struct {
NetworkCommonSpec `json:",inline"`
// percentage of packets to duplicate (10 is 10%)
Percent string `json:"percent,omitempty"`
}
func (*NetworkDuplicateSpec) DeepCopy ¶
func (in *NetworkDuplicateSpec) DeepCopy() *NetworkDuplicateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDuplicateSpec.
func (*NetworkDuplicateSpec) DeepCopyInto ¶
func (in *NetworkDuplicateSpec) DeepCopyInto(out *NetworkDuplicateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkFloodSpec ¶
type NetworkFloodSpec struct {
// The speed of network traffic, allows bps, kbps, mbps, gbps, tbps unit. bps means bytes per second
Rate string `json:"rate"`
// Generate traffic to this IP address
IPAddress string `json:"ip-address,omitempty"`
// Generate traffic to this port on the IP address
Port string `json:"port,omitempty"`
// The number of iperf parallel client threads to run
Parallel int32 `json:"parallel,omitempty"`
// The number of seconds to run the iperf test
Duration string `json:"duration"`
}
func (*NetworkFloodSpec) DeepCopy ¶
func (in *NetworkFloodSpec) DeepCopy() *NetworkFloodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkFloodSpec.
func (*NetworkFloodSpec) DeepCopyInto ¶
func (in *NetworkFloodSpec) DeepCopyInto(out *NetworkFloodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkLossSpec ¶
type NetworkLossSpec struct {
NetworkCommonSpec `json:",inline"`
// percentage of packets to loss (10 is 10%)
Percent string `json:"percent,omitempty"`
}
func (*NetworkLossSpec) DeepCopy ¶
func (in *NetworkLossSpec) DeepCopy() *NetworkLossSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkLossSpec.
func (*NetworkLossSpec) DeepCopyInto ¶
func (in *NetworkLossSpec) DeepCopyInto(out *NetworkLossSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkPartitionSpec ¶
type NetworkPartitionSpec struct {
// the network interface to impact
Device string `json:"device,omitempty"`
// only impact traffic to these hostnames
Hostname string `json:"hostname,omitempty"`
// only impact egress traffic to these IP addresses
IPAddress string `json:"ip-address,omitempty"`
// specifies the partition direction, values can be 'from', 'to'.
// 'from' means packets coming from the 'IPAddress' or 'Hostname' and going to your server,
// 'to' means packets originating from your server and going to the 'IPAddress' or 'Hostname'.
Direction string `json:"direction,omitempty"`
// only impact egress traffic to these IP addresses
IPProtocol string `json:"ip-protocol,omitempty"`
// only the packet which match the tcp flag can be accepted, others will be dropped.
// only set when the IPProtocol is tcp, used for partition.
AcceptTCPFlags string `json:"accept-tcp-flags,omitempty"`
}
func (*NetworkPartitionSpec) DeepCopy ¶
func (in *NetworkPartitionSpec) DeepCopy() *NetworkPartitionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPartitionSpec.
func (*NetworkPartitionSpec) DeepCopyInto ¶
func (in *NetworkPartitionSpec) DeepCopyInto(out *NetworkPartitionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PMJVMMySQLSpec ¶
type PMJVMMySQLSpec struct {
JVMCommonSpec `json:",inline"`
JVMMySQLSpec `json:",inline"`
// The exception which needs to throw for action `exception`
// or the exception message needs to throw in action `mysql`
ThrowException string `json:"exception,omitempty"`
// The latency duration for action 'latency'
// or the latency duration in action `mysql`
LatencyDuration int `json:"latency,omitempty"`
}
func (*PMJVMMySQLSpec) DeepCopy ¶
func (in *PMJVMMySQLSpec) DeepCopy() *PMJVMMySQLSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PMJVMMySQLSpec.
func (*PMJVMMySQLSpec) DeepCopyInto ¶
func (in *PMJVMMySQLSpec) DeepCopyInto(out *PMJVMMySQLSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PhysicalMachine ¶
type PhysicalMachine struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the behavior of a physical machine
Spec PhysicalMachineSpec `json:"spec"`
}
PhysicalMachine is the Schema for the physical machine API
func (*PhysicalMachine) DeepCopy ¶
func (in *PhysicalMachine) DeepCopy() *PhysicalMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachine.
func (*PhysicalMachine) DeepCopyInto ¶
func (in *PhysicalMachine) DeepCopyInto(out *PhysicalMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PhysicalMachine) DeepCopyObject ¶
func (in *PhysicalMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PhysicalMachineChaos ¶
type PhysicalMachineChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the behavior of a physical machine chaos experiment
Spec PhysicalMachineChaosSpec `json:"spec"`
// Most recently observed status of the chaos experiment
Status PhysicalMachineChaosStatus `json:"status,omitempty"`
}
PhysicalMachineChaos is the Schema for the physical machine chaos API
func (*PhysicalMachineChaos) DeepCopy ¶
func (in *PhysicalMachineChaos) DeepCopy() *PhysicalMachineChaos
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineChaos.
func (*PhysicalMachineChaos) DeepCopyInto ¶
func (in *PhysicalMachineChaos) DeepCopyInto(out *PhysicalMachineChaos)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PhysicalMachineChaos) DeepCopyObject ¶
func (in *PhysicalMachineChaos) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PhysicalMachineChaos) DurationExceeded ¶
func (*PhysicalMachineChaos) GetObjectMeta ¶
func (in *PhysicalMachineChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*PhysicalMachineChaos) GetRemoteCluster ¶
func (in *PhysicalMachineChaos) GetRemoteCluster() string
GetRemoteCluster returns the remoteCluster
func (*PhysicalMachineChaos) GetSelectorSpecs ¶
func (obj *PhysicalMachineChaos) GetSelectorSpecs() map[string]interface{}
func (*PhysicalMachineChaos) GetSpecAndMetaString ¶
func (in *PhysicalMachineChaos) GetSpecAndMetaString() (string, error)
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*PhysicalMachineChaos) GetStatus ¶
func (in *PhysicalMachineChaos) GetStatus() *ChaosStatus
GetStatus returns the status
func (*PhysicalMachineChaos) IsDeleted ¶
func (in *PhysicalMachineChaos) IsDeleted() bool
IsDeleted returns whether this resource has been deleted
func (*PhysicalMachineChaos) IsOneShot ¶
func (in *PhysicalMachineChaos) IsOneShot() bool
func (*PhysicalMachineChaos) IsPaused ¶
func (in *PhysicalMachineChaos) IsPaused() bool
IsPaused returns whether this resource has been paused
type PhysicalMachineChaosAction ¶
type PhysicalMachineChaosAction string
PhysicalMachineChaosAction represents the chaos action about physical machine.
var ( PMStressCPUAction PhysicalMachineChaosAction = "stress-cpu" PMStressMemAction PhysicalMachineChaosAction = "stress-mem" PMDiskWritePayloadAction PhysicalMachineChaosAction = "disk-write-payload" PMDiskReadPayloadAction PhysicalMachineChaosAction = "disk-read-payload" PMDiskFillAction PhysicalMachineChaosAction = "disk-fill" PMNetworkCorruptAction PhysicalMachineChaosAction = "network-corrupt" PMNetworkDuplicateAction PhysicalMachineChaosAction = "network-duplicate" PMNetworkLossAction PhysicalMachineChaosAction = "network-loss" PMNetworkDelayAction PhysicalMachineChaosAction = "network-delay" PMNetworkPartitionAction PhysicalMachineChaosAction = "network-partition" PMNetworkBandwidthAction PhysicalMachineChaosAction = "network-bandwidth" PMNetworkDNSAction PhysicalMachineChaosAction = "network-dns" PMNetworkFloodAction PhysicalMachineChaosAction = "network-flood" PMNetworkDownAction PhysicalMachineChaosAction = "network-down" PMProcessAction PhysicalMachineChaosAction = "process" PMJVMExceptionAction PhysicalMachineChaosAction = "jvm-exception" PMJVMGCAction PhysicalMachineChaosAction = "jvm-gc" PMJVMLatencyAction PhysicalMachineChaosAction = "jvm-latency" PMJVMReturnAction PhysicalMachineChaosAction = "jvm-return" PMJVMStressAction PhysicalMachineChaosAction = "jvm-stress" PMJVMRuleDataAction PhysicalMachineChaosAction = "jvm-rule-data" PMJVMMySQLAction PhysicalMachineChaosAction = "jvm-mysql" PMClockAction PhysicalMachineChaosAction = "clock" PMRedisExpirationAction PhysicalMachineChaosAction = "redis-expiration" PMRedisPenetrationAction PhysicalMachineChaosAction = "redis-penetration" PMRedisCacheLimitAction PhysicalMachineChaosAction = "redis-cacheLimit" PMRedisSentinelRestartAction PhysicalMachineChaosAction = "redis-restart" PMRedisSentinelStopAction PhysicalMachineChaosAction = "redis-stop" PMKafkaFillAction PhysicalMachineChaosAction = "kafka-fill" PMKafkaFloodAction PhysicalMachineChaosAction = "kafka-flood" PMKafkaIOAction PhysicalMachineChaosAction = "kafka-io" PMHTTPAbortAction PhysicalMachineChaosAction = "http-abort" PMHTTPDelayAction PhysicalMachineChaosAction = "http-delay" PMHTTPConfigAction PhysicalMachineChaosAction = "http-config" PMHTTPRequestAction PhysicalMachineChaosAction = "http-request" PMFileCreateAction PhysicalMachineChaosAction = "file-create" PMFileModifyPrivilegeAction PhysicalMachineChaosAction = "file-modify" PMFileDeleteAction PhysicalMachineChaosAction = "file-delete" PMFileRenameAction PhysicalMachineChaosAction = "file-rename" PMFileAppendAction PhysicalMachineChaosAction = "file-append" PMFileReplaceAction PhysicalMachineChaosAction = "file-replace" PMVMAction PhysicalMachineChaosAction = "vm" PMUserDefinedAction PhysicalMachineChaosAction = "user_defined" )
type PhysicalMachineChaosList ¶
type PhysicalMachineChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PhysicalMachineChaos `json:"items"`
}
PhysicalMachineChaosList contains a list of PhysicalMachineChaos
func (*PhysicalMachineChaosList) DeepCopy ¶
func (in *PhysicalMachineChaosList) DeepCopy() *PhysicalMachineChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineChaosList.
func (*PhysicalMachineChaosList) DeepCopyInto ¶
func (in *PhysicalMachineChaosList) DeepCopyInto(out *PhysicalMachineChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PhysicalMachineChaosList) DeepCopyList ¶
func (in *PhysicalMachineChaosList) DeepCopyList() GenericChaosList
func (*PhysicalMachineChaosList) DeepCopyObject ¶
func (in *PhysicalMachineChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PhysicalMachineChaosList) GetItems ¶
func (in *PhysicalMachineChaosList) GetItems() []GenericChaos
func (*PhysicalMachineChaosList) ListChaos ¶
func (in *PhysicalMachineChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type PhysicalMachineChaosSpec ¶
type PhysicalMachineChaosSpec struct {
Action PhysicalMachineChaosAction `json:"action"`
PhysicalMachineSelector `json:",inline"`
// ExpInfo string `json:"expInfo"`
ExpInfo `json:",inline"`
// Duration represents the duration of the chaos action
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
PhysicalMachineChaosSpec defines the desired state of PhysicalMachineChaos
func (*PhysicalMachineChaosSpec) DeepCopy ¶
func (in *PhysicalMachineChaosSpec) DeepCopy() *PhysicalMachineChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineChaosSpec.
func (*PhysicalMachineChaosSpec) DeepCopyInto ¶
func (in *PhysicalMachineChaosSpec) DeepCopyInto(out *PhysicalMachineChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PhysicalMachineChaosSpec) GetDuration ¶
func (in *PhysicalMachineChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type PhysicalMachineChaosStatus ¶
type PhysicalMachineChaosStatus struct {
ChaosStatus `json:",inline"`
}
PhysicalMachineChaosStatus defines the observed state of PhysicalMachineChaos
func (*PhysicalMachineChaosStatus) DeepCopy ¶
func (in *PhysicalMachineChaosStatus) DeepCopy() *PhysicalMachineChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineChaosStatus.
func (*PhysicalMachineChaosStatus) DeepCopyInto ¶
func (in *PhysicalMachineChaosStatus) DeepCopyInto(out *PhysicalMachineChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PhysicalMachineList ¶
type PhysicalMachineList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PhysicalMachine `json:"items"`
}
PhysicalMachineList contains a list of PhysicalMachine
func (*PhysicalMachineList) DeepCopy ¶
func (in *PhysicalMachineList) DeepCopy() *PhysicalMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineList.
func (*PhysicalMachineList) DeepCopyInto ¶
func (in *PhysicalMachineList) DeepCopyInto(out *PhysicalMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PhysicalMachineList) DeepCopyObject ¶
func (in *PhysicalMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PhysicalMachineSelector ¶
type PhysicalMachineSelector struct {
// DEPRECATED: Use Selector instead.
// Only one of Address and Selector could be specified.
Address []string `json:"address,omitempty"`
// Selector is used to select physical machines that are used to inject chaos action.
Selector PhysicalMachineSelectorSpec `json:"selector,omitempty"`
// Mode defines the mode to run chaos action.
// Supported mode: one / all / fixed / fixed-percent / random-max-percent
Mode SelectorMode `json:"mode"`
// Value is required when the mode is set to `FixedMode` / `FixedPercentMode` / `RandomMaxPercentMode`.
// If `FixedMode`, provide an integer of physical machines to do chaos action.
// If `FixedPercentMode`, provide a number from 0-100 to specify the percent of physical machines the server can do chaos action.
// IF `RandomMaxPercentMode`, provide a number from 0-100 to specify the max percent of pods to do chaos action
Value string `json:"value,omitempty"`
}
func (*PhysicalMachineSelector) DeepCopy ¶
func (in *PhysicalMachineSelector) DeepCopy() *PhysicalMachineSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineSelector.
func (*PhysicalMachineSelector) DeepCopyInto ¶
func (in *PhysicalMachineSelector) DeepCopyInto(out *PhysicalMachineSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PhysicalMachineSelectorSpec ¶
type PhysicalMachineSelectorSpec struct {
GenericSelectorSpec `json:",inline"`
// PhysicalMachines is a map of string keys and a set values that used to select physical machines.
// The key defines the namespace which physical machine belong,
// and each value is a set of physical machine names.
PhysicalMachines map[string][]string `json:"physicalMachines,omitempty"`
}
PhysicalMachineSelectorSpec defines some selectors to select objects. If the all selectors are empty, all objects will be used in chaos experiment.
func (*PhysicalMachineSelectorSpec) DeepCopy ¶
func (in *PhysicalMachineSelectorSpec) DeepCopy() *PhysicalMachineSelectorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineSelectorSpec.
func (*PhysicalMachineSelectorSpec) DeepCopyInto ¶
func (in *PhysicalMachineSelectorSpec) DeepCopyInto(out *PhysicalMachineSelectorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PhysicalMachineSelectorSpec) Empty ¶
func (spec *PhysicalMachineSelectorSpec) Empty() bool
type PhysicalMachineSpec ¶
type PhysicalMachineSpec struct {
// Address represents the address of the physical machine
Address string `json:"address"`
}
PhysicalMachineSpec defines the desired state of PhysicalMachine
func (*PhysicalMachineSpec) DeepCopy ¶
func (in *PhysicalMachineSpec) DeepCopy() *PhysicalMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineSpec.
func (*PhysicalMachineSpec) DeepCopyInto ¶
func (in *PhysicalMachineSpec) DeepCopyInto(out *PhysicalMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodChaos ¶
type PodChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the behavior of a pod chaos experiment
Spec PodChaosSpec `json:"spec"`
// Most recently observed status of the chaos experiment about pods
Status PodChaosStatus `json:"status,omitempty"`
}
PodChaos is the control script`s spec.
func (*PodChaos) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodChaos.
func (*PodChaos) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodChaos) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PodChaos) DurationExceeded ¶
func (*PodChaos) GetObjectMeta ¶
func (in *PodChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*PodChaos) GetRemoteCluster ¶
GetRemoteCluster returns the remoteCluster
func (*PodChaos) GetSelectorSpecs ¶
func (*PodChaos) GetSpecAndMetaString ¶
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*PodChaos) GetStatus ¶
func (in *PodChaos) GetStatus() *ChaosStatus
GetStatus returns the status
type PodChaosAction ¶
type PodChaosAction string
PodChaosAction represents the chaos action about pods.
const ( // PodKillAction represents the chaos action of killing pods. PodKillAction PodChaosAction = "pod-kill" // PodFailureAction represents the chaos action of injecting errors to pods. // This action will cause the pod to not be created for a while. PodFailureAction PodChaosAction = "pod-failure" // ContainerKillAction represents the chaos action of killing the container ContainerKillAction PodChaosAction = "container-kill" )
type PodChaosList ¶
type PodChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PodChaos `json:"items"`
}
PodChaosList contains a list of PodChaos
func (*PodChaosList) DeepCopy ¶
func (in *PodChaosList) DeepCopy() *PodChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodChaosList.
func (*PodChaosList) DeepCopyInto ¶
func (in *PodChaosList) DeepCopyInto(out *PodChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodChaosList) DeepCopyList ¶
func (in *PodChaosList) DeepCopyList() GenericChaosList
func (*PodChaosList) DeepCopyObject ¶
func (in *PodChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PodChaosList) GetItems ¶
func (in *PodChaosList) GetItems() []GenericChaos
func (*PodChaosList) ListChaos ¶
func (in *PodChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type PodChaosSpec ¶
type PodChaosSpec struct {
ContainerSelector `json:",inline"`
// Action defines the specific pod chaos action.
// Supported action: pod-kill / pod-failure / container-kill
// Default action: pod-kill
Action PodChaosAction `json:"action"`
// Duration represents the duration of the chaos action.
// It is required when the action is `PodFailureAction`.
// A duration string is a possibly signed sequence of
// decimal numbers, each with optional fraction and a unit suffix,
// such as "300ms", "-1.5h" or "2h45m".
// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// GracePeriod is used in pod-kill action. It represents the duration in seconds before the pod should be deleted.
// Value must be non-negative integer. The default value is zero that indicates delete immediately.
GracePeriod int64 `json:"gracePeriod,omitempty"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
PodChaosSpec defines the attributes that a user creates on a chaos experiment about pods.
func (*PodChaosSpec) DeepCopy ¶
func (in *PodChaosSpec) DeepCopy() *PodChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodChaosSpec.
func (*PodChaosSpec) DeepCopyInto ¶
func (in *PodChaosSpec) DeepCopyInto(out *PodChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodChaosSpec) GetDuration ¶
func (in *PodChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type PodChaosStatus ¶
type PodChaosStatus struct {
ChaosStatus `json:",inline"`
}
PodChaosStatus represents the current status of the chaos experiment about pods.
func (*PodChaosStatus) DeepCopy ¶
func (in *PodChaosStatus) DeepCopy() *PodChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodChaosStatus.
func (*PodChaosStatus) DeepCopyInto ¶
func (in *PodChaosStatus) DeepCopyInto(out *PodChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodHttpChaos ¶
type PodHttpChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec PodHttpChaosSpec `json:"spec,omitempty"`
Status PodHttpChaosStatus `json:"status,omitempty"`
}
+chaos-mesh:base +chaos-mesh:webhook:enableUpdate PodHttpChaos is the Schema for the podhttpchaos API
func (*PodHttpChaos) DeepCopy ¶
func (in *PodHttpChaos) DeepCopy() *PodHttpChaos
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaos.
func (*PodHttpChaos) DeepCopyInto ¶
func (in *PodHttpChaos) DeepCopyInto(out *PodHttpChaos)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodHttpChaos) DeepCopyObject ¶
func (in *PodHttpChaos) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodHttpChaosActions ¶
type PodHttpChaosActions struct {
// Abort is a rule to abort a http session.
Abort *bool `json:"abort,omitempty"`
// Delay represents the delay of the target request/response.
// A duration string is a possibly unsigned sequence of
// decimal numbers, each with optional fraction and a unit suffix,
// such as "300ms", "2h45m".
// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
Delay *string `json:"delay,omitempty" webhook:"Delay"`
// Replace is a rule to replace some contents in target.
Replace *PodHttpChaosReplaceActions `json:"replace,omitempty"`
// Patch is a rule to patch some contents in target.
Patch *PodHttpChaosPatchActions `json:"patch,omitempty"`
}
PodHttpChaosActions defines possible actions of HttpChaos.
func (*PodHttpChaosActions) DeepCopy ¶
func (in *PodHttpChaosActions) DeepCopy() *PodHttpChaosActions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosActions.
func (*PodHttpChaosActions) DeepCopyInto ¶
func (in *PodHttpChaosActions) DeepCopyInto(out *PodHttpChaosActions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodHttpChaosBaseRule ¶
type PodHttpChaosBaseRule struct {
// Target is the object to be selected and injected, <Request|Response>.
Target PodHttpChaosTarget `json:"target"`
// Selector contains the rules to select target.
Selector PodHttpChaosSelector `json:"selector"`
// Actions contains rules to inject target.
Actions PodHttpChaosActions `json:"actions"`
}
PodHttpChaosBaseRule defines the injection rule without source and port.
func (*PodHttpChaosBaseRule) DeepCopy ¶
func (in *PodHttpChaosBaseRule) DeepCopy() *PodHttpChaosBaseRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosBaseRule.
func (*PodHttpChaosBaseRule) DeepCopyInto ¶
func (in *PodHttpChaosBaseRule) DeepCopyInto(out *PodHttpChaosBaseRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodHttpChaosList ¶
type PodHttpChaosList struct {
metav1.TypeMeta ` json:",inline"`
metav1.ListMeta ` json:"metadata,omitempty"`
Items []PodHttpChaos `json:"items"`
}
PodHttpChaosList contains a list of PodHttpChaos
func (*PodHttpChaosList) DeepCopy ¶
func (in *PodHttpChaosList) DeepCopy() *PodHttpChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosList.
func (*PodHttpChaosList) DeepCopyInto ¶
func (in *PodHttpChaosList) DeepCopyInto(out *PodHttpChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodHttpChaosList) DeepCopyObject ¶
func (in *PodHttpChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodHttpChaosPatchActions ¶
type PodHttpChaosPatchActions struct {
// Body is a rule to patch message body of target.
Body *PodHttpChaosPatchBodyAction `json:"body,omitempty"`
// Queries is a rule to append uri queries of target(Request only).
// For example: `[["foo", "bar"], ["foo", "unknown"]]`.
Queries [][]string `json:"queries,omitempty"`
// Headers is a rule to append http headers of target.
// For example: `[["Set-Cookie", "<one cookie>"], ["Set-Cookie", "<another cookie>"]]`.
Headers [][]string `json:"headers,omitempty"`
}
PodHttpChaosPatchActions defines possible patch-actions of HttpChaos.
func (*PodHttpChaosPatchActions) DeepCopy ¶
func (in *PodHttpChaosPatchActions) DeepCopy() *PodHttpChaosPatchActions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosPatchActions.
func (*PodHttpChaosPatchActions) DeepCopyInto ¶
func (in *PodHttpChaosPatchActions) DeepCopyInto(out *PodHttpChaosPatchActions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodHttpChaosPatchBodyAction ¶
type PodHttpChaosPatchBodyAction struct {
// Type represents the patch type, only support `JSON` as [merge patch json](https://tools.ietf.org/html/rfc7396) currently.
Type string `json:"type"`
// Value is the patch contents.
Value string `json:"value"`
}
PodHttpChaosPatchBodyAction defines patch body action of HttpChaos.
func (*PodHttpChaosPatchBodyAction) DeepCopy ¶
func (in *PodHttpChaosPatchBodyAction) DeepCopy() *PodHttpChaosPatchBodyAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosPatchBodyAction.
func (*PodHttpChaosPatchBodyAction) DeepCopyInto ¶
func (in *PodHttpChaosPatchBodyAction) DeepCopyInto(out *PodHttpChaosPatchBodyAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodHttpChaosReplaceActions ¶
type PodHttpChaosReplaceActions struct {
// Path is rule to to replace uri path in http request.
Path *string `json:"path,omitempty"`
// Method is a rule to replace http method in request.
Method *string `json:"method,omitempty"`
// Code is a rule to replace http status code in response.
Code *int32 `json:"code,omitempty"`
// Body is a rule to replace http message body in target.
Body []byte `json:"body,omitempty"`
// Queries is a rule to replace uri queries in http request.
// For example, with value `{ "foo": "unknown" }`, the `/?foo=bar` will be altered to `/?foo=unknown`,
Queries map[string]string `json:"queries,omitempty"`
// Headers is a rule to replace http headers of target.
// The key-value pairs represent header name and header value pairs.
Headers map[string]string `json:"headers,omitempty"`
}
PodHttpChaosReplaceActions defines possible replace-actions of HttpChaos.
func (*PodHttpChaosReplaceActions) DeepCopy ¶
func (in *PodHttpChaosReplaceActions) DeepCopy() *PodHttpChaosReplaceActions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosReplaceActions.
func (*PodHttpChaosReplaceActions) DeepCopyInto ¶
func (in *PodHttpChaosReplaceActions) DeepCopyInto(out *PodHttpChaosReplaceActions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodHttpChaosRule ¶
type PodHttpChaosRule struct {
PodHttpChaosBaseRule `json:",inline"`
// Source represents the source of current rules
Source string `json:"source,omitempty"`
// Port represents the target port to be proxy of.
Port int32 `json:"port"`
}
PodHttpChaosRule defines the injection rule for http.
func (*PodHttpChaosRule) DeepCopy ¶
func (in *PodHttpChaosRule) DeepCopy() *PodHttpChaosRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosRule.
func (*PodHttpChaosRule) DeepCopyInto ¶
func (in *PodHttpChaosRule) DeepCopyInto(out *PodHttpChaosRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodHttpChaosSelector ¶
type PodHttpChaosSelector struct {
// Port is a rule to select server listening on specific port.
Port *int32 `json:"port,omitempty"`
// Path is a rule to select target by uri path in http request.
Path *string `json:"path,omitempty"`
// Method is a rule to select target by http method in request.
Method *string `json:"method,omitempty"`
// Code is a rule to select target by http status code in response.
Code *int32 `json:"code,omitempty"`
// RequestHeaders is a rule to select target by http headers in request.
// The key-value pairs represent header name and header value pairs.
RequestHeaders map[string]string `json:"request_headers,omitempty"`
// ResponseHeaders is a rule to select target by http headers in response.
// The key-value pairs represent header name and header value pairs.
ResponseHeaders map[string]string `json:"response_headers,omitempty"`
}
func (*PodHttpChaosSelector) DeepCopy ¶
func (in *PodHttpChaosSelector) DeepCopy() *PodHttpChaosSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosSelector.
func (*PodHttpChaosSelector) DeepCopyInto ¶
func (in *PodHttpChaosSelector) DeepCopyInto(out *PodHttpChaosSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodHttpChaosSpec ¶
type PodHttpChaosSpec struct {
// Rules are a list of injection rule for http request.
Rules []PodHttpChaosRule `json:"rules,omitempty"`
// TLS is the tls config,
// will be override if there are multiple HTTPChaos experiments are applied
TLS *PodHttpChaosTLS `json:"tls,omitempty"`
}
PodHttpChaosSpec defines the desired state of PodHttpChaos.
func (*PodHttpChaosSpec) DeepCopy ¶
func (in *PodHttpChaosSpec) DeepCopy() *PodHttpChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosSpec.
func (*PodHttpChaosSpec) DeepCopyInto ¶
func (in *PodHttpChaosSpec) DeepCopyInto(out *PodHttpChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodHttpChaosStatus ¶
type PodHttpChaosStatus struct {
// Pid represents a running tproxy process id.
Pid int64 `json:"pid,omitempty"`
// StartTime represents the start time of a tproxy process.
StartTime int64 `json:"startTime,omitempty"`
FailedMessage string `json:"failedMessage,omitempty"`
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
PodHttpChaosStatus defines the actual state of PodHttpChaos.
func (*PodHttpChaosStatus) DeepCopy ¶
func (in *PodHttpChaosStatus) DeepCopy() *PodHttpChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosStatus.
func (*PodHttpChaosStatus) DeepCopyInto ¶
func (in *PodHttpChaosStatus) DeepCopyInto(out *PodHttpChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodHttpChaosTLS ¶
type PodHttpChaosTLS struct {
// SecretName represents the name of required secret resource
SecretName string `json:"secretName"`
// SecretNamespace represents the namespace of required secret resource
SecretNamespace string `json:"secretNamespace"`
// CertName represents the data name of cert file in secret, `tls.crt` for example
CertName string `json:"certName"`
// KeyName represents the data name of key file in secret, `tls.key` for example
KeyName string `json:"keyName"`
// CAName represents the data name of ca file in secret, `ca.crt` for example
CAName *string `json:"caName,omitempty"`
}
PodHttpChaosTLS contains the tls config for HTTPChaos
func (*PodHttpChaosTLS) DeepCopy ¶
func (in *PodHttpChaosTLS) DeepCopy() *PodHttpChaosTLS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosTLS.
func (*PodHttpChaosTLS) DeepCopyInto ¶
func (in *PodHttpChaosTLS) DeepCopyInto(out *PodHttpChaosTLS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodHttpChaosTarget ¶
type PodHttpChaosTarget string
PodHttpChaosTarget represents the type of an HttpChaos Action
const ( // PodHttpRequest represents injecting chaos for http request PodHttpRequest PodHttpChaosTarget = "Request" // PodHttpResponse represents injecting chaos for http response PodHttpResponse PodHttpChaosTarget = "Response" )
type PodIOChaos ¶
type PodIOChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec PodIOChaosSpec `json:"spec,omitempty"`
Status PodIOChaosStatus `json:"status,omitempty"`
}
+chaos-mesh:base +chaos-mesh:webhook:enableUpdate PodIOChaos is the Schema for the podiochaos API
func (*PodIOChaos) DeepCopy ¶
func (in *PodIOChaos) DeepCopy() *PodIOChaos
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodIOChaos.
func (*PodIOChaos) DeepCopyInto ¶
func (in *PodIOChaos) DeepCopyInto(out *PodIOChaos)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodIOChaos) DeepCopyObject ¶
func (in *PodIOChaos) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodIOChaosList ¶
type PodIOChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PodIOChaos `json:"items"`
}
PodIOChaosList contains a list of PodIOChaos
func (*PodIOChaosList) DeepCopy ¶
func (in *PodIOChaosList) DeepCopy() *PodIOChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodIOChaosList.
func (*PodIOChaosList) DeepCopyInto ¶
func (in *PodIOChaosList) DeepCopyInto(out *PodIOChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodIOChaosList) DeepCopyObject ¶
func (in *PodIOChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodIOChaosSpec ¶
type PodIOChaosSpec struct {
// VolumeMountPath represents the target mount path
// It must be a root of mount path now.
// TODO: search the mount parent of any path automatically.
// TODO: support multiple different volume mount path in one pod
VolumeMountPath string `json:"volumeMountPath"`
// TODO: support multiple different container to inject in one pod
Container *string `json:"container,omitempty"`
// Actions are a list of IOChaos actions
Actions []IOChaosAction `json:"actions,omitempty"`
}
PodIOChaosSpec defines the desired state of IOChaos
func (*PodIOChaosSpec) DeepCopy ¶
func (in *PodIOChaosSpec) DeepCopy() *PodIOChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodIOChaosSpec.
func (*PodIOChaosSpec) DeepCopyInto ¶
func (in *PodIOChaosSpec) DeepCopyInto(out *PodIOChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodIOChaosStatus ¶
type PodIOChaosStatus struct {
// Pid represents a running toda process id
Pid int64 `json:"pid,omitempty"`
// StartTime represents the start time of a toda process
StartTime int64 `json:"startTime,omitempty"`
FailedMessage string `json:"failedMessage,omitempty"`
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
func (*PodIOChaosStatus) DeepCopy ¶
func (in *PodIOChaosStatus) DeepCopy() *PodIOChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodIOChaosStatus.
func (*PodIOChaosStatus) DeepCopyInto ¶
func (in *PodIOChaosStatus) DeepCopyInto(out *PodIOChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodNetworkChaos ¶
type PodNetworkChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the behavior of a pod chaos experiment
Spec PodNetworkChaosSpec `json:"spec"`
// Most recently observed status of the chaos experiment about pods
Status PodNetworkChaosStatus `json:"status,omitempty"`
}
PodNetworkChaos is the Schema for the PodNetworkChaos API
func (*PodNetworkChaos) DeepCopy ¶
func (in *PodNetworkChaos) DeepCopy() *PodNetworkChaos
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkChaos.
func (*PodNetworkChaos) DeepCopyInto ¶
func (in *PodNetworkChaos) DeepCopyInto(out *PodNetworkChaos)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodNetworkChaos) DeepCopyObject ¶
func (in *PodNetworkChaos) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodNetworkChaosList ¶
type PodNetworkChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PodNetworkChaos `json:"items"`
}
PodNetworkChaosList contains a list of PodNetworkChaos
func (*PodNetworkChaosList) DeepCopy ¶
func (in *PodNetworkChaosList) DeepCopy() *PodNetworkChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkChaosList.
func (*PodNetworkChaosList) DeepCopyInto ¶
func (in *PodNetworkChaosList) DeepCopyInto(out *PodNetworkChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodNetworkChaosList) DeepCopyObject ¶
func (in *PodNetworkChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodNetworkChaosSpec ¶
type PodNetworkChaosSpec struct {
// The ipset on the pod
IPSets []RawIPSet `json:"ipsets,omitempty"`
// The iptables rules on the pod
Iptables []RawIptables `json:"iptables,omitempty"`
// The tc rules on the pod
TrafficControls []RawTrafficControl `json:"tcs,omitempty"`
}
PodNetworkChaosSpec defines the desired state of PodNetworkChaos
func (*PodNetworkChaosSpec) DeepCopy ¶
func (in *PodNetworkChaosSpec) DeepCopy() *PodNetworkChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkChaosSpec.
func (*PodNetworkChaosSpec) DeepCopyInto ¶
func (in *PodNetworkChaosSpec) DeepCopyInto(out *PodNetworkChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodNetworkChaosStatus ¶
type PodNetworkChaosStatus struct {
FailedMessage string `json:"failedMessage,omitempty"`
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
PodNetworkChaosStatus defines the observed state of PodNetworkChaos
func (*PodNetworkChaosStatus) DeepCopy ¶
func (in *PodNetworkChaosStatus) DeepCopy() *PodNetworkChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkChaosStatus.
func (*PodNetworkChaosStatus) DeepCopyInto ¶
func (in *PodNetworkChaosStatus) DeepCopyInto(out *PodNetworkChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodSelector ¶
type PodSelector struct {
// Selector is used to select pods that are used to inject chaos action.
Selector PodSelectorSpec `json:"selector"`
// Mode defines the mode to run chaos action.
// Supported mode: one / all / fixed / fixed-percent / random-max-percent
Mode SelectorMode `json:"mode"`
// Value is required when the mode is set to `FixedMode` / `FixedPercentMode` / `RandomMaxPercentMode`.
// If `FixedMode`, provide an integer of pods to do chaos action.
// If `FixedPercentMode`, provide a number from 0-100 to specify the percent of pods the server can do chaos action.
// IF `RandomMaxPercentMode`, provide a number from 0-100 to specify the max percent of pods to do chaos action
Value string `json:"value,omitempty"`
}
func (*PodSelector) DeepCopy ¶
func (in *PodSelector) DeepCopy() *PodSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSelector.
func (*PodSelector) DeepCopyInto ¶
func (in *PodSelector) DeepCopyInto(out *PodSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodSelectorSpec ¶
type PodSelectorSpec struct {
GenericSelectorSpec `json:",inline"`
// Nodes is a set of node name and objects must belong to these nodes.
Nodes []string `json:"nodes,omitempty"`
// Pods is a map of string keys and a set values that used to select pods.
// The key defines the namespace which pods belong,
// and the each values is a set of pod names.
Pods map[string][]string `json:"pods,omitempty"`
// Map of string keys and values that can be used to select nodes.
// Selector which must match a node's labels,
// and objects must belong to these selected nodes.
NodeSelectors map[string]string `json:"nodeSelectors,omitempty"`
// PodPhaseSelectors is a set of condition of a pod at the current time.
// supported value: Pending / Running / Succeeded / Failed / Unknown
PodPhaseSelectors []string `json:"podPhaseSelectors,omitempty"`
}
PodSelectorSpec defines the some selectors to select objects. If the all selectors are empty, all objects will be used in chaos experiment.
func (PodSelectorSpec) ClusterScoped ¶
func (in PodSelectorSpec) ClusterScoped() bool
ClusterScoped returns true if the selector selects Pods in the cluster
func (*PodSelectorSpec) DeepCopy ¶
func (in *PodSelectorSpec) DeepCopy() *PodSelectorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSelectorSpec.
func (*PodSelectorSpec) DeepCopyInto ¶
func (in *PodSelectorSpec) DeepCopyInto(out *PodSelectorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodSelectorSpec) DefaultNamespace ¶
func (in *PodSelectorSpec) DefaultNamespace(namespace string)
type ProcessSpec ¶
type ProcessSpec struct {
// the process name or the process ID
Process string `json:"process,omitempty"`
// the signal number to send
Signal int `json:"signal,omitempty"`
// the command to be run when recovering experiment
RecoverCmd string `json:"recoverCmd,omitempty"`
}
func (*ProcessSpec) DeepCopy ¶
func (in *ProcessSpec) DeepCopy() *ProcessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProcessSpec.
func (*ProcessSpec) DeepCopyInto ¶
func (in *ProcessSpec) DeepCopyInto(out *ProcessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RawIPSet ¶
type RawIPSet struct {
// The name of ipset
Name string `json:"name"`
IPSetType IPSetType `json:"ipsetType"`
// The contents of ipset.
// Only available when IPSetType is NetIPSet.
Cidrs []string `json:"cidrs,omitempty"`
// The contents of ipset.
// Only available when IPSetType is NetPortIPSet.
CidrAndPorts []CidrAndPort `json:"cidrAndPorts,omitempty"`
// The contents of ipset.
// Only available when IPSetType is SetIPSet.
SetNames []string `json:"setNames,omitempty"`
// The name and namespace of the source network chaos
RawRuleSource `json:",inline"`
}
RawIPSet represents an ipset on specific pod
func (*RawIPSet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawIPSet.
func (*RawIPSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RawIptables ¶
type RawIptables struct {
// The name of iptables chain
Name string `json:"name"`
// The name of related ipset
// +nullable
IPSets []string `json:"ipsets,omitempty"`
// The block direction of this iptables rule
Direction ChainDirection `json:"direction"`
// Device represents the network device to be affected.
Device string `json:"device,omitempty"`
RawRuleSource `json:",inline"`
}
RawIptables represents the iptables rules on specific pod
func (*RawIptables) DeepCopy ¶
func (in *RawIptables) DeepCopy() *RawIptables
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawIptables.
func (*RawIptables) DeepCopyInto ¶
func (in *RawIptables) DeepCopyInto(out *RawIptables)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RawRuleSource ¶
type RawRuleSource struct {
Source string `json:"source"`
}
RawRuleSource represents the name and namespace of the source network chaos
func (*RawRuleSource) DeepCopy ¶
func (in *RawRuleSource) DeepCopy() *RawRuleSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawRuleSource.
func (*RawRuleSource) DeepCopyInto ¶
func (in *RawRuleSource) DeepCopyInto(out *RawRuleSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RawTrafficControl ¶
type RawTrafficControl struct {
// The type of traffic control
Type TcType `json:"type"`
TcParameter `json:",inline"`
// The name of target ipset
IPSet string `json:"ipset,omitempty"`
// The name and namespace of the source network chaos
Source string `json:"source"`
// Device represents the network device to be affected.
Device string `json:"device,omitempty"`
}
RawTrafficControl represents the traffic control chaos on specific pod
func (*RawTrafficControl) DeepCopy ¶
func (in *RawTrafficControl) DeepCopy() *RawTrafficControl
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawTrafficControl.
func (*RawTrafficControl) DeepCopyInto ¶
func (in *RawTrafficControl) DeepCopyInto(out *RawTrafficControl)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Record ¶
type Record struct {
Id string `json:"id"`
SelectorKey string `json:"selectorKey"`
Phase Phase `json:"phase"`
// InjectedCount is a counter to record the sum of successful injections
InjectedCount int `json:"injectedCount"`
// RecoveredCount is a counter to record the sum of successful recoveries
RecoveredCount int `json:"recoveredCount"`
// Events are the essential details about the injections and recoveries
Events []RecordEvent `json:"events,omitempty"`
}
func (*Record) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Record.
func (*Record) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RecordEvent ¶
type RecordEvent struct {
// Type means the stage of this event
Type RecordEventType `json:"type"`
// Operation represents the operation we are doing, when we crate this event
Operation RecordEventOperation `json:"operation"`
// Message is the detail message, e.g. the reason why we failed to inject the chaos
Message string `json:"message,omitempty"`
// Timestamp is time when we create this event
Timestamp *metav1.Time `json:"timestamp"`
}
func NewRecordEvent ¶
func NewRecordEvent(eventType RecordEventType, eventStage RecordEventOperation, msg string, time metav1.Time) *RecordEvent
NewRecordEvent is a constructor of RecordEvent in status
func (*RecordEvent) DeepCopy ¶
func (in *RecordEvent) DeepCopy() *RecordEvent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecordEvent.
func (*RecordEvent) DeepCopyInto ¶
func (in *RecordEvent) DeepCopyInto(out *RecordEvent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RecordEventOperation ¶
type RecordEventOperation string
const ( // Apply means this event is recorded, when we inject the chaos // typically, when we call impl.Apply() Apply RecordEventOperation = "Apply" // Recover means this event is recorded, when we recover the chaos // typically, when we call impl.Recover() Recover RecordEventOperation = "Recover" )
type RecordEventType ¶
type RecordEventType string
const ( // TypeSucceeded means the stage of this event is successful TypeSucceeded RecordEventType = "Succeeded" // TypeFailed means the stage of this event is failed TypeFailed RecordEventType = "Failed" )
type RedisCacheLimitSpec ¶
type RedisCacheLimitSpec struct {
RedisCommonSpec ` json:",inline"`
// The size of `maxmemory`
Size string `json:"cacheSize,omitempty"`
// Specifies maxmemory as a percentage of the original value
Percent string `json:"percent,omitempty"`
}
func (*RedisCacheLimitSpec) DeepCopy ¶
func (in *RedisCacheLimitSpec) DeepCopy() *RedisCacheLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisCacheLimitSpec.
func (*RedisCacheLimitSpec) DeepCopyInto ¶
func (in *RedisCacheLimitSpec) DeepCopyInto(out *RedisCacheLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisCommonSpec ¶
type RedisCommonSpec struct {
// The address of Redis server
Addr string `json:"addr,omitempty"`
// The password of Redis server
Password string `json:"password,omitempty"`
}
func (*RedisCommonSpec) DeepCopy ¶
func (in *RedisCommonSpec) DeepCopy() *RedisCommonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisCommonSpec.
func (*RedisCommonSpec) DeepCopyInto ¶
func (in *RedisCommonSpec) DeepCopyInto(out *RedisCommonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisExpirationSpec ¶
type RedisExpirationSpec struct {
RedisCommonSpec ` json:",inline"`
// The expiration of the keys
Expiration string `json:"expiration,omitempty"`
// The keys to be expired
Key string `json:"key,omitempty"`
// Additional options for `expiration`
Option string `json:"option,omitempty"`
}
func (*RedisExpirationSpec) DeepCopy ¶
func (in *RedisExpirationSpec) DeepCopy() *RedisExpirationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisExpirationSpec.
func (*RedisExpirationSpec) DeepCopyInto ¶
func (in *RedisExpirationSpec) DeepCopyInto(out *RedisExpirationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisPenetrationSpec ¶
type RedisPenetrationSpec struct {
RedisCommonSpec ` json:",inline"`
// The number of requests to be sent
RequestNum int `json:"requestNum,omitempty"`
}
func (*RedisPenetrationSpec) DeepCopy ¶
func (in *RedisPenetrationSpec) DeepCopy() *RedisPenetrationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisPenetrationSpec.
func (*RedisPenetrationSpec) DeepCopyInto ¶
func (in *RedisPenetrationSpec) DeepCopyInto(out *RedisPenetrationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisSentinelRestartSpec ¶
type RedisSentinelRestartSpec struct {
RedisCommonSpec ` json:",inline"`
// The path of Sentinel conf
Conf string `json:"conf,omitempty"`
// The control flag determines whether to flush config
FlushConfig bool `json:"flushConfig,omitempty"`
// The path of `redis-server` command-line tool
RedisPath bool `json:"redisPath,omitempty"`
}
func (*RedisSentinelRestartSpec) DeepCopy ¶
func (in *RedisSentinelRestartSpec) DeepCopy() *RedisSentinelRestartSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSentinelRestartSpec.
func (*RedisSentinelRestartSpec) DeepCopyInto ¶
func (in *RedisSentinelRestartSpec) DeepCopyInto(out *RedisSentinelRestartSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisSentinelStopSpec ¶
type RedisSentinelStopSpec struct {
RedisCommonSpec ` json:",inline"`
// The path of Sentinel conf
Conf string `json:"conf,omitempty"`
// The control flag determines whether to flush config
FlushConfig bool `json:"flushConfig,omitempty"`
// The path of `redis-server` command-line tool
RedisPath bool `json:"redisPath,omitempty"`
}
func (*RedisSentinelStopSpec) DeepCopy ¶
func (in *RedisSentinelStopSpec) DeepCopy() *RedisSentinelStopSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSentinelStopSpec.
func (*RedisSentinelStopSpec) DeepCopyInto ¶
func (in *RedisSentinelStopSpec) DeepCopyInto(out *RedisSentinelStopSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RemoteCluster ¶
type RemoteCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RemoteClusterSpec `json:"spec,omitempty"`
Status RemoteClusterStatus `json:"status,omitempty"`
}
+chaos-mesh:base RemoteCluster defines a remote cluster
func (*RemoteCluster) DeepCopy ¶
func (in *RemoteCluster) DeepCopy() *RemoteCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteCluster.
func (*RemoteCluster) DeepCopyInto ¶
func (in *RemoteCluster) DeepCopyInto(out *RemoteCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RemoteCluster) DeepCopyObject ¶
func (in *RemoteCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RemoteClusterCondition ¶
type RemoteClusterCondition struct {
Type RemoteClusterConditionType `json:"type"`
Status corev1.ConditionStatus `json:"status"`
Reason string `json:"reason"`
}
func (*RemoteClusterCondition) DeepCopy ¶
func (in *RemoteClusterCondition) DeepCopy() *RemoteClusterCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteClusterCondition.
func (*RemoteClusterCondition) DeepCopyInto ¶
func (in *RemoteClusterCondition) DeepCopyInto(out *RemoteClusterCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RemoteClusterConditionType ¶
type RemoteClusterConditionType string
var ( RemoteClusterConditionInstalled RemoteClusterConditionType = "Installed" RemoteClusterConditionReady RemoteClusterConditionType = "Ready" )
type RemoteClusterKubeConfig ¶
type RemoteClusterKubeConfig struct {
SecretRef RemoteClusterSecretRef `json:"secretRef"`
}
RemoteClusterKubeConfig refers to a secret by which we'll use to connect remote cluster
func (*RemoteClusterKubeConfig) DeepCopy ¶
func (in *RemoteClusterKubeConfig) DeepCopy() *RemoteClusterKubeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteClusterKubeConfig.
func (*RemoteClusterKubeConfig) DeepCopyInto ¶
func (in *RemoteClusterKubeConfig) DeepCopyInto(out *RemoteClusterKubeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RemoteClusterList ¶
type RemoteClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RemoteCluster `json:"items"`
}
RemoteClusterList contains a list of RemoteCluster
func (*RemoteClusterList) DeepCopy ¶
func (in *RemoteClusterList) DeepCopy() *RemoteClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteClusterList.
func (*RemoteClusterList) DeepCopyInto ¶
func (in *RemoteClusterList) DeepCopyInto(out *RemoteClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RemoteClusterList) DeepCopyObject ¶
func (in *RemoteClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RemoteClusterSecretRef ¶
type RemoteClusterSecretRef struct {
Namespace string `json:"namespace"`
Name string `json:"name"`
Key string `json:"key"`
}
RemoteClusterSecretRef refers to a secret in any namespaces
func (*RemoteClusterSecretRef) DeepCopy ¶
func (in *RemoteClusterSecretRef) DeepCopy() *RemoteClusterSecretRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteClusterSecretRef.
func (*RemoteClusterSecretRef) DeepCopyInto ¶
func (in *RemoteClusterSecretRef) DeepCopyInto(out *RemoteClusterSecretRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RemoteClusterSpec ¶
type RemoteClusterSpec struct {
Namespace string `json:"namespace"`
Version string `json:"version"`
KubeConfig RemoteClusterKubeConfig `json:"kubeConfig"`
ConfigOverride json.RawMessage `json:"configOverride,omitempty"`
}
RemoteClusterSpec defines the specification of a remote cluster
func (*RemoteClusterSpec) DeepCopy ¶
func (in *RemoteClusterSpec) DeepCopy() *RemoteClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteClusterSpec.
func (*RemoteClusterSpec) DeepCopyInto ¶
func (in *RemoteClusterSpec) DeepCopyInto(out *RemoteClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RemoteClusterStatus ¶
type RemoteClusterStatus struct {
CurrentVersion string `json:"currentVersion"`
// Conditions represents the current condition of the remote cluster
Conditions []RemoteClusterCondition `json:"conditions,omitempty"`
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
func (*RemoteClusterStatus) DeepCopy ¶
func (in *RemoteClusterStatus) DeepCopy() *RemoteClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteClusterStatus.
func (*RemoteClusterStatus) DeepCopyInto ¶
func (in *RemoteClusterStatus) DeepCopyInto(out *RemoteClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RemoteObject ¶
type RemoteObject interface {
StatefulObject
GetRemoteCluster() string
}
type ReorderSpec ¶
type ReorderSpec struct {
Reorder string `json:"reorder" webhook:"FloatStr"`
Correlation string `json:"correlation,omitempty" webhook:"FloatStr" default:"0"`
Gap int `json:"gap"`
}
ReorderSpec defines details of packet reorder.
func (*ReorderSpec) DeepCopy ¶
func (in *ReorderSpec) DeepCopy() *ReorderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReorderSpec.
func (*ReorderSpec) DeepCopyInto ¶
func (in *ReorderSpec) DeepCopyInto(out *ReorderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Schedule ¶
type Schedule struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ScheduleSpec `json:"spec"`
Status ScheduleStatus `json:"status,omitempty"`
}
Schedule is the cronly schedule object
func (*Schedule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schedule.
func (*Schedule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Schedule) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScheduleItem ¶
type ScheduleItem struct {
EmbedChaos `json:",inline"`
Workflow *WorkflowSpec `json:"workflow,omitempty"`
}
func (*ScheduleItem) DeepCopy ¶
func (in *ScheduleItem) DeepCopy() *ScheduleItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleItem.
func (*ScheduleItem) DeepCopyInto ¶
func (in *ScheduleItem) DeepCopyInto(out *ScheduleItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScheduleItem) RestoreChaosSpec ¶
func (it *ScheduleItem) RestoreChaosSpec(root interface{}) error
func (*ScheduleItem) SpawnNewObject ¶
func (it *ScheduleItem) SpawnNewObject(templateType ScheduleTemplateType) (GenericChaos, error)
type ScheduleList ¶
type ScheduleList struct {
metav1.TypeMeta ` json:",inline"`
metav1.ListMeta ` json:"metadata,omitempty"`
Items []Schedule `json:"items"`
}
ScheduleList contains a list of Schedule
func (*ScheduleList) DeepCopy ¶
func (in *ScheduleList) DeepCopy() *ScheduleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleList.
func (*ScheduleList) DeepCopyInto ¶
func (in *ScheduleList) DeepCopyInto(out *ScheduleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScheduleList) DeepCopyList ¶
func (in *ScheduleList) DeepCopyList() GenericChaosList
func (*ScheduleList) DeepCopyObject ¶
func (in *ScheduleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ScheduleList) GetItems ¶
func (in *ScheduleList) GetItems() []GenericChaos
type ScheduleSpec ¶
type ScheduleSpec struct {
Schedule string `json:"schedule"`
// +nullable
StartingDeadlineSeconds *int64 `json:"startingDeadlineSeconds"`
ConcurrencyPolicy ConcurrencyPolicy `json:"concurrencyPolicy"`
HistoryLimit int `json:"historyLimit,omitempty"`
// TODO: use a custom type, as `TemplateType` contains other possible values
Type ScheduleTemplateType `json:"type"`
ScheduleItem `json:",inline"`
}
ScheduleSpec is the specification of a schedule object
func (*ScheduleSpec) DeepCopy ¶
func (in *ScheduleSpec) DeepCopy() *ScheduleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleSpec.
func (*ScheduleSpec) DeepCopyInto ¶
func (in *ScheduleSpec) DeepCopyInto(out *ScheduleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScheduleStatus ¶
type ScheduleStatus struct {
Active []corev1.ObjectReference `json:"active,omitempty"`
// +nullable
LastScheduleTime metav1.Time `json:"time,omitempty"`
}
ScheduleStatus is the status of a schedule object
func (*ScheduleStatus) DeepCopy ¶
func (in *ScheduleStatus) DeepCopy() *ScheduleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleStatus.
func (*ScheduleStatus) DeepCopyInto ¶
func (in *ScheduleStatus) DeepCopyInto(out *ScheduleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScheduleTemplateType ¶
type ScheduleTemplateType string
const ( ScheduleTypeAWSChaos ScheduleTemplateType = "AWSChaos" ScheduleTypeAzureChaos ScheduleTemplateType = "AzureChaos" ScheduleTypeBlockChaos ScheduleTemplateType = "BlockChaos" ScheduleTypeDNSChaos ScheduleTemplateType = "DNSChaos" ScheduleTypeGCPChaos ScheduleTemplateType = "GCPChaos" ScheduleTypeHTTPChaos ScheduleTemplateType = "HTTPChaos" ScheduleTypeIOChaos ScheduleTemplateType = "IOChaos" ScheduleTypeJVMChaos ScheduleTemplateType = "JVMChaos" ScheduleTypeKernelChaos ScheduleTemplateType = "KernelChaos" ScheduleTypeNetworkChaos ScheduleTemplateType = "NetworkChaos" ScheduleTypePhysicalMachineChaos ScheduleTemplateType = "PhysicalMachineChaos" ScheduleTypePodChaos ScheduleTemplateType = "PodChaos" ScheduleTypeStressChaos ScheduleTemplateType = "StressChaos" ScheduleTypeTimeChaos ScheduleTemplateType = "TimeChaos" ScheduleTypeWorkflow ScheduleTemplateType = "Workflow" )
type SelectorMode ¶
type SelectorMode string
SelectorMode represents the mode to run chaos action.
const ( // OneMode represents that the system will do the chaos action on one object selected randomly. OneMode SelectorMode = "one" // AllMode represents that the system will do the chaos action on all objects // regardless of status (not ready or not running pods includes). // Use this label carefully. AllMode SelectorMode = "all" // FixedMode represents that the system will do the chaos action on a specific number of running objects. FixedMode SelectorMode = "fixed" // FixedPercentMode to specify a fixed % that can be inject chaos action. FixedPercentMode SelectorMode = "fixed-percent" // RandomMaxPercentMode to specify a maximum % that can be inject chaos action. RandomMaxPercentMode SelectorMode = "random-max-percent" )
type StatefulObject ¶
type StatefulObject interface {
GenericChaos
GetStatus() *ChaosStatus
}
StatefulObject defines a basic Object that can get the status
type StatusCheck ¶
type StatusCheck struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the behavior of a status check
Spec StatusCheckSpec `json:"spec"`
// Most recently observed status of status check
Status StatusCheckStatus `json:"status,omitempty"`
}
+chaos-mesh:base
func (*StatusCheck) DeepCopy ¶
func (in *StatusCheck) DeepCopy() *StatusCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCheck.
func (*StatusCheck) DeepCopyInto ¶
func (in *StatusCheck) DeepCopyInto(out *StatusCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StatusCheck) DeepCopyObject ¶
func (in *StatusCheck) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*StatusCheck) DurationExceed ¶
func (*StatusCheck) IsCompleted ¶
func (in *StatusCheck) IsCompleted() bool
IsCompleted checks if the status check is completed, according to the StatusCheckConditionCompleted condition.
type StatusCheckCondition ¶
type StatusCheckCondition struct {
Type StatusCheckConditionType `json:"type"`
Status corev1.ConditionStatus `json:"status"`
Reason StatusCheckReason `json:"reason"`
LastProbeTime *metav1.Time `json:"lastProbeTime"`
LastTransitionTime *metav1.Time `json:"lastTransitionTime"`
}
func (*StatusCheckCondition) DeepCopy ¶
func (in *StatusCheckCondition) DeepCopy() *StatusCheckCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCheckCondition.
func (*StatusCheckCondition) DeepCopyInto ¶
func (in *StatusCheckCondition) DeepCopyInto(out *StatusCheckCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusCheckConditionType ¶
type StatusCheckConditionType string
const ( // StatusCheckConditionCompleted means the status check is completed. // It will be `True`, in the following scenarios: // 1. the duration is exceeded // 2. the failure threshold is exceeded // 3. the success threshold is exceeded (only the `Synchronous` mode) StatusCheckConditionCompleted StatusCheckConditionType = "Completed" // StatusCheckConditionDurationExceed means the duration is exceeded. StatusCheckConditionDurationExceed StatusCheckConditionType = "DurationExceed" // StatusCheckConditionFailureThresholdExceed means the failure threshold is exceeded. StatusCheckConditionFailureThresholdExceed StatusCheckConditionType = "FailureThresholdExceed" // StatusCheckConditionSuccessThresholdExceed means the success threshold is exceeded. StatusCheckConditionSuccessThresholdExceed StatusCheckConditionType = "SuccessThresholdExceed" )
type StatusCheckList ¶
type StatusCheckList struct {
metav1.TypeMeta ` json:",inline"`
metav1.ListMeta ` json:"metadata,omitempty"`
Items []StatusCheck `json:"items"`
}
StatusCheckList contains a list of StatusCheck
func (*StatusCheckList) DeepCopy ¶
func (in *StatusCheckList) DeepCopy() *StatusCheckList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCheckList.
func (*StatusCheckList) DeepCopyInto ¶
func (in *StatusCheckList) DeepCopyInto(out *StatusCheckList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StatusCheckList) DeepCopyObject ¶
func (in *StatusCheckList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StatusCheckMode ¶
type StatusCheckMode string
const ( // StatusCheckSynchronous means the status check will exit // immediately after success or failure. StatusCheckSynchronous StatusCheckMode = "Synchronous" // StatusCheckContinuous means the status check will continue to // execute until the duration is exceeded or the status check fails. StatusCheckContinuous StatusCheckMode = "Continuous" )
type StatusCheckOutcome ¶
type StatusCheckOutcome string
const ( StatusCheckOutcomeSuccess StatusCheckOutcome = "Success" StatusCheckOutcomeFailure StatusCheckOutcome = "Failure" )
type StatusCheckReason ¶
type StatusCheckReason string
const ( StatusCheckDurationExceed StatusCheckReason = "StatusCheckDurationExceed" StatusCheckFailureThresholdExceed StatusCheckReason = "StatusCheckFailureThresholdExceed" StatusCheckSuccessThresholdExceed StatusCheckReason = "StatusCheckSuccessThresholdExceed" StatusCheckExecutionFailed StatusCheckReason = "StatusCheckExecutionFailed" StatusCheckExecutionSucceed StatusCheckReason = "StatusCheckExecutionSucceed" )
type StatusCheckRecord ¶
type StatusCheckRecord struct {
StartTime *metav1.Time `json:"startTime"`
Outcome StatusCheckOutcome `json:"outcome"`
}
func (*StatusCheckRecord) DeepCopy ¶
func (in *StatusCheckRecord) DeepCopy() *StatusCheckRecord
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCheckRecord.
func (*StatusCheckRecord) DeepCopyInto ¶
func (in *StatusCheckRecord) DeepCopyInto(out *StatusCheckRecord)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusCheckSpec ¶
type StatusCheckSpec struct {
// Mode defines the execution mode of the status check.
// Support type: Synchronous / Continuous
Mode StatusCheckMode `json:"mode,omitempty"`
// Type defines the specific status check type.
// Support type: HTTP
Type StatusCheckType `json:"type"`
// Duration defines the duration of the whole status check if the
// number of failed execution does not exceed the failure threshold.
// Duration is available to both `Synchronous` and `Continuous` mode.
// A duration string is a possibly signed sequence of
// decimal numbers, each with optional fraction and a unit suffix,
// such as "300ms", "-1.5h" or "2h45m".
// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// TimeoutSeconds defines the number of seconds after which
// an execution of status check times out.
TimeoutSeconds int `json:"timeoutSeconds,omitempty"`
// IntervalSeconds defines how often (in seconds) to perform
// an execution of status check.
IntervalSeconds int `json:"intervalSeconds,omitempty"`
// FailureThreshold defines the minimum consecutive failure
// for the status check to be considered failed.
FailureThreshold int `json:"failureThreshold,omitempty"`
// SuccessThreshold defines the minimum consecutive successes
// for the status check to be considered successful.
// SuccessThreshold only works for `Synchronous` mode.
SuccessThreshold int `json:"successThreshold,omitempty"`
// RecordsHistoryLimit defines the number of record to retain.
RecordsHistoryLimit int `json:"recordsHistoryLimit,omitempty"`
*EmbedStatusCheck `json:",inline,omitempty"`
}
func (*StatusCheckSpec) DeepCopy ¶
func (in *StatusCheckSpec) DeepCopy() *StatusCheckSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCheckSpec.
func (*StatusCheckSpec) DeepCopyInto ¶
func (in *StatusCheckSpec) DeepCopyInto(out *StatusCheckSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StatusCheckSpec) GetDuration ¶
func (in *StatusCheckSpec) GetDuration() (*time.Duration, error)
type StatusCheckStatus ¶
type StatusCheckStatus struct {
// StartTime represents time when the status check started to execute.
StartTime *metav1.Time `json:"startTime,omitempty"`
// CompletionTime represents time when the status check was completed.
CompletionTime *metav1.Time `json:"completionTime,omitempty"`
// Count represents the total number of the status check executed.
Count int64 `json:"count,omitempty"`
// Conditions represents the latest available observations of a StatusCheck's current state.
// +patchMergeKey=type
// +patchStrategy=merge
Conditions []StatusCheckCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
// Records contains the history of the execution of StatusCheck.
Records []StatusCheckRecord `json:"records,omitempty"`
}
func (*StatusCheckStatus) DeepCopy ¶
func (in *StatusCheckStatus) DeepCopy() *StatusCheckStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCheckStatus.
func (*StatusCheckStatus) DeepCopyInto ¶
func (in *StatusCheckStatus) DeepCopyInto(out *StatusCheckStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusCheckTemplate ¶
type StatusCheckTemplate struct {
StatusCheckSpec `json:",inline"`
}
StatusCheckTemplate represents a template of status check. A statusCheckTemplate would save in the ConfigMap named `template-status-check-<template-name>`.
type StressCPUSpec ¶
type StressCPUSpec struct {
// specifies P percent loading per CPU worker. 0 is effectively a sleep (no load) and 100 is full loading.
Load int `json:"load,omitempty"`
// specifies N workers to apply the stressor.
Workers int `json:"workers,omitempty"`
// extend stress-ng options
Options []string `json:"options,omitempty"`
}
func (*StressCPUSpec) DeepCopy ¶
func (in *StressCPUSpec) DeepCopy() *StressCPUSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressCPUSpec.
func (*StressCPUSpec) DeepCopyInto ¶
func (in *StressCPUSpec) DeepCopyInto(out *StressCPUSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StressChaos ¶
type StressChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the behavior of a time chaos experiment
Spec StressChaosSpec `json:"spec"`
// Most recently observed status of the time chaos experiment
Status StressChaosStatus `json:"status,omitempty"`
}
StressChaos is the Schema for the stresschaos API
func (*StressChaos) DeepCopy ¶
func (in *StressChaos) DeepCopy() *StressChaos
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressChaos.
func (*StressChaos) DeepCopyInto ¶
func (in *StressChaos) DeepCopyInto(out *StressChaos)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StressChaos) DeepCopyObject ¶
func (in *StressChaos) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*StressChaos) DurationExceeded ¶
func (*StressChaos) GetCustomStatus ¶
func (obj *StressChaos) GetCustomStatus() interface{}
func (*StressChaos) GetObjectMeta ¶
func (in *StressChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*StressChaos) GetRemoteCluster ¶
func (in *StressChaos) GetRemoteCluster() string
GetRemoteCluster returns the remoteCluster
func (*StressChaos) GetSelectorSpecs ¶
func (obj *StressChaos) GetSelectorSpecs() map[string]interface{}
func (*StressChaos) GetSpecAndMetaString ¶
func (in *StressChaos) GetSpecAndMetaString() (string, error)
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*StressChaos) GetStatus ¶
func (in *StressChaos) GetStatus() *ChaosStatus
GetStatus returns the status
func (*StressChaos) IsDeleted ¶
func (in *StressChaos) IsDeleted() bool
IsDeleted returns whether this resource has been deleted
func (*StressChaos) IsOneShot ¶
func (in *StressChaos) IsOneShot() bool
func (*StressChaos) IsPaused ¶
func (in *StressChaos) IsPaused() bool
IsPaused returns whether this resource has been paused
type StressChaosList ¶
type StressChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []StressChaos `json:"items"`
}
StressChaosList contains a list of StressChaos
func (*StressChaosList) DeepCopy ¶
func (in *StressChaosList) DeepCopy() *StressChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressChaosList.
func (*StressChaosList) DeepCopyInto ¶
func (in *StressChaosList) DeepCopyInto(out *StressChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StressChaosList) DeepCopyList ¶
func (in *StressChaosList) DeepCopyList() GenericChaosList
func (*StressChaosList) DeepCopyObject ¶
func (in *StressChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*StressChaosList) GetItems ¶
func (in *StressChaosList) GetItems() []GenericChaos
func (*StressChaosList) ListChaos ¶
func (in *StressChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type StressChaosSpec ¶
type StressChaosSpec struct {
ContainerSelector `json:",inline"`
// Stressors defines plenty of stressors supported to stress system components out.
// You can use one or more of them to make up various kinds of stresses. At least
// one of the stressors should be specified.
Stressors *Stressors `json:"stressors,omitempty"`
// StressngStressors defines plenty of stressors just like `Stressors` except that it's an experimental
// feature and more powerful. You can define stressors in `stress-ng` (see also `man stress-ng`) dialect,
// however not all of the supported stressors are well tested. It maybe retired in later releases. You
// should always use `Stressors` to define the stressors and use this only when you want more stressors
// unsupported by `Stressors`. When both `StressngStressors` and `Stressors` are defined, `StressngStressors`
// wins.
StressngStressors string `json:"stressngStressors,omitempty"`
// Duration represents the duration of the chaos action
Duration *string `json:"duration,omitempty" webhook:"Duration"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
StressChaosSpec defines the desired state of StressChaos
func (*StressChaosSpec) DeepCopy ¶
func (in *StressChaosSpec) DeepCopy() *StressChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressChaosSpec.
func (*StressChaosSpec) DeepCopyInto ¶
func (in *StressChaosSpec) DeepCopyInto(out *StressChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StressChaosSpec) GetDuration ¶
func (in *StressChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type StressChaosStatus ¶
type StressChaosStatus struct {
ChaosStatus ` json:",inline"`
// Instances always specifies stressing instances
Instances map[string]StressInstance `json:"instances,omitempty"`
}
StressChaosStatus defines the observed state of StressChaos
func (*StressChaosStatus) DeepCopy ¶
func (in *StressChaosStatus) DeepCopy() *StressChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressChaosStatus.
func (*StressChaosStatus) DeepCopyInto ¶
func (in *StressChaosStatus) DeepCopyInto(out *StressChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StressInstance ¶
type StressInstance struct {
// UID is the stress-ng identifier
UID string `json:"uid,omitempty"`
// MemoryUID is the memStress identifier
MemoryUID string `json:"memoryUid,omitempty"`
// StartTime specifies when the stress-ng starts
StartTime *metav1.Time `json:"startTime,omitempty"`
// MemoryStartTime specifies when the memStress starts
MemoryStartTime *metav1.Time `json:"memoryStartTime,omitempty"`
}
StressInstance is an instance generates stresses
func (*StressInstance) DeepCopy ¶
func (in *StressInstance) DeepCopy() *StressInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressInstance.
func (*StressInstance) DeepCopyInto ¶
func (in *StressInstance) DeepCopyInto(out *StressInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StressMemorySpec ¶
type StressMemorySpec struct {
// specifies N bytes consumed per vm worker, default is the total available memory.
// One can specify the size as % of total available memory or in units of B, KB/KiB, MB/MiB, GB/GiB, TB/TiB..
Size string `json:"size,omitempty"`
// extend stress-ng options
Options []string `json:"options,omitempty"`
}
func (*StressMemorySpec) DeepCopy ¶
func (in *StressMemorySpec) DeepCopy() *StressMemorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressMemorySpec.
func (*StressMemorySpec) DeepCopyInto ¶
func (in *StressMemorySpec) DeepCopyInto(out *StressMemorySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Stressor ¶
type Stressor struct {
// Workers specifies N workers to apply the stressor.
// Maximum 8192 workers can run by stress-ng
Workers int `json:"workers"`
}
Stressor defines common configurations of a stressor
func (*Stressor) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Stressor.
func (*Stressor) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Stressors ¶
type Stressors struct {
// MemoryStressor stresses virtual memory out
MemoryStressor *MemoryStressor `json:"memory,omitempty"`
// CPUStressor stresses CPU out
CPUStressor *CPUStressor `json:"cpu,omitempty"`
}
Stressors defines plenty of stressors supported to stress system components out. You can use one or more of them to make up various kinds of stresses
func (*Stressors) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Stressors.
func (*Stressors) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Task ¶
type Task struct {
// Container is the main container image to run in the pod
Container *corev1.Container `json:"container,omitempty"`
// Volumes is a list of volumes that can be mounted by containers in a template.
// +patchStrategy=merge
// +patchMergeKey=name
Volumes []corev1.Volume `json:"volumes,omitempty" patchStrategy:"merge" patchMergeKey:"name"`
}
func (*Task) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Task.
func (*Task) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TcParameter ¶
type TcParameter struct {
// Delay represents the detail about delay action
// +ui:form:when=action=='delay'
Delay *DelaySpec `json:"delay,omitempty"`
// Loss represents the detail about loss action
// +ui:form:when=action=='loss'
Loss *LossSpec `json:"loss,omitempty"`
// DuplicateSpec represents the detail about loss action
// +ui:form:when=action=='duplicate'
Duplicate *DuplicateSpec `json:"duplicate,omitempty"`
// Corrupt represents the detail about corrupt action
// +ui:form:when=action=='corrupt'
Corrupt *CorruptSpec `json:"corrupt,omitempty"`
// Bandwidth represents the detail about bandwidth control action
// +ui:form:when=action=='bandwidth'
Bandwidth *BandwidthSpec `json:"bandwidth,omitempty"`
}
TcParameter represents the parameters for a traffic control chaos
func (*TcParameter) DeepCopy ¶
func (in *TcParameter) DeepCopy() *TcParameter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TcParameter.
func (*TcParameter) DeepCopyInto ¶
func (in *TcParameter) DeepCopyInto(out *TcParameter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Template ¶
type Template struct {
Name string `json:"name"`
Type TemplateType `json:"templateType"`
Deadline *string `json:"deadline,omitempty"`
// Task describes the behavior of the custom task. Only used when Type is TypeTask.
Task *Task `json:"task,omitempty"`
// Children describes the children steps of serial or parallel node. Only used when Type is TypeSerial or TypeParallel.
Children []string `json:"children,omitempty"`
// ConditionalBranches describes the conditional branches of custom tasks. Only used when Type is TypeTask.
ConditionalBranches []ConditionalBranch `json:"conditionalBranches,omitempty"`
// EmbedChaos describe the chaos to be injected with chaos nodes. Only used when Type is Type<Something>Chaos.
*EmbedChaos ` json:",inline"`
// Schedule describe the Schedule(describing scheduled chaos) to be injected with chaos nodes. Only used when Type is TypeSchedule.
Schedule *ChaosOnlyScheduleSpec `json:"schedule,omitempty"`
// StatusCheck describe the behavior of StatusCheck. Only used when Type is TypeStatusCheck.
StatusCheck *StatusCheckSpec `json:"statusCheck,omitempty"`
// AbortWithStatusCheck describe whether to abort the workflow when the failure threshold of StatusCheck is exceeded.
// Only used when Type is TypeStatusCheck.
AbortWithStatusCheck bool `json:"abortWithStatusCheck,omitempty"`
}
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.
type TemplateType ¶
type TemplateType string
const ( TypeTask TemplateType = "Task" TypeSerial TemplateType = "Serial" TypeParallel TemplateType = "Parallel" TypeSuspend TemplateType = "Suspend" TypeSchedule TemplateType = "Schedule" TypeStatusCheck TemplateType = "StatusCheck" )
const ( TypeAWSChaos TemplateType = "AWSChaos" TypeAzureChaos TemplateType = "AzureChaos" TypeBlockChaos TemplateType = "BlockChaos" TypeDNSChaos TemplateType = "DNSChaos" TypeGCPChaos TemplateType = "GCPChaos" TypeHTTPChaos TemplateType = "HTTPChaos" TypeIOChaos TemplateType = "IOChaos" TypeJVMChaos TemplateType = "JVMChaos" TypeKernelChaos TemplateType = "KernelChaos" TypeNetworkChaos TemplateType = "NetworkChaos" TypePhysicalMachineChaos TemplateType = "PhysicalMachineChaos" TypePodChaos TemplateType = "PodChaos" TypeStressChaos TemplateType = "StressChaos" TypeTimeChaos TemplateType = "TimeChaos" )
type TimeChaos ¶
type TimeChaos struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the behavior of a time chaos experiment
Spec TimeChaosSpec `json:"spec"`
// Most recently observed status of the time chaos experiment
Status TimeChaosStatus `json:"status,omitempty"`
}
TimeChaos is the Schema for the timechaos API
func (*TimeChaos) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeChaos.
func (*TimeChaos) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TimeChaos) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TimeChaos) DurationExceeded ¶
func (*TimeChaos) GetObjectMeta ¶
func (in *TimeChaos) GetObjectMeta() *metav1.ObjectMeta
GetObjectMeta would return the ObjectMeta for chaos
func (*TimeChaos) GetRemoteCluster ¶
GetRemoteCluster returns the remoteCluster
func (*TimeChaos) GetSelectorSpecs ¶
func (*TimeChaos) GetSpecAndMetaString ¶
GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.
func (*TimeChaos) GetStatus ¶
func (in *TimeChaos) GetStatus() *ChaosStatus
GetStatus returns the status
type TimeChaosList ¶
type TimeChaosList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TimeChaos `json:"items"`
}
TimeChaosList contains a list of TimeChaos
func (*TimeChaosList) DeepCopy ¶
func (in *TimeChaosList) DeepCopy() *TimeChaosList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeChaosList.
func (*TimeChaosList) DeepCopyInto ¶
func (in *TimeChaosList) DeepCopyInto(out *TimeChaosList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TimeChaosList) DeepCopyList ¶
func (in *TimeChaosList) DeepCopyList() GenericChaosList
func (*TimeChaosList) DeepCopyObject ¶
func (in *TimeChaosList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TimeChaosList) GetItems ¶
func (in *TimeChaosList) GetItems() []GenericChaos
func (*TimeChaosList) ListChaos ¶
func (in *TimeChaosList) ListChaos() []GenericChaos
ListChaos returns a list of chaos
type TimeChaosSpec ¶
type TimeChaosSpec struct {
ContainerSelector `json:",inline"`
// TimeOffset defines the delta time of injected program. It's a possibly signed sequence of decimal numbers, such as
// "300ms", "-1.5h" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
TimeOffset string `json:"timeOffset" webhook:"TimeOffset"`
// ClockIds defines all affected clock id
// All available options are ["CLOCK_REALTIME","CLOCK_MONOTONIC","CLOCK_PROCESS_CPUTIME_ID","CLOCK_THREAD_CPUTIME_ID",
// "CLOCK_MONOTONIC_RAW","CLOCK_REALTIME_COARSE","CLOCK_MONOTONIC_COARSE","CLOCK_BOOTTIME","CLOCK_REALTIME_ALARM",
// "CLOCK_BOOTTIME_ALARM"]
// Default value is ["CLOCK_REALTIME"]
ClockIds []string `json:"clockIds,omitempty" webhook:"ClockIds,nilable"`
// Duration represents the duration of the chaos action
Duration *string `json:"duration,omitempty"`
// RemoteCluster represents the remote cluster where the chaos will be deployed
RemoteCluster string `json:"remoteCluster,omitempty"`
}
TimeChaosSpec defines the desired state of TimeChaos
func (*TimeChaosSpec) DeepCopy ¶
func (in *TimeChaosSpec) DeepCopy() *TimeChaosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeChaosSpec.
func (*TimeChaosSpec) DeepCopyInto ¶
func (in *TimeChaosSpec) DeepCopyInto(out *TimeChaosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TimeChaosSpec) GetDuration ¶
func (in *TimeChaosSpec) GetDuration() (*time.Duration, error)
GetDuration would return the duration for chaos
type TimeChaosStatus ¶
type TimeChaosStatus struct {
ChaosStatus `json:",inline"`
}
TimeChaosStatus defines the observed state of TimeChaos
func (*TimeChaosStatus) DeepCopy ¶
func (in *TimeChaosStatus) DeepCopy() *TimeChaosStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeChaosStatus.
func (*TimeChaosStatus) DeepCopyInto ¶
func (in *TimeChaosStatus) DeepCopyInto(out *TimeChaosStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Timespec ¶
Timespec represents a time
func (*Timespec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timespec.
func (*Timespec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserDefinedSpec ¶
type UserDefinedSpec struct {
// The command to be executed when attack
AttackCmd string `json:"attackCmd,omitempty"`
// The command to be executed when recover
RecoverCmd string `json:"recoverCmd,omitempty"`
}
func (*UserDefinedSpec) DeepCopy ¶
func (in *UserDefinedSpec) DeepCopy() *UserDefinedSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserDefinedSpec.
func (*UserDefinedSpec) DeepCopyInto ¶
func (in *UserDefinedSpec) DeepCopyInto(out *UserDefinedSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMSpec ¶
type VMSpec struct {
// The name of the VM to be injected
VMName string `json:"vm-name,omitempty"`
}
func (*VMSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMSpec.
func (*VMSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Workflow ¶
type Workflow struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the behavior of a workflow
Spec WorkflowSpec `json:"spec"`
// Most recently observed status of the workflow
Status WorkflowStatus `json:"status"`
}
+chaos-mesh:experiment
func (*Workflow) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workflow.
func (*Workflow) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Workflow) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Workflow) GetObjectMeta ¶
func (in *Workflow) GetObjectMeta() *metav1.ObjectMeta
type WorkflowCondition ¶
type WorkflowCondition struct {
Type WorkflowConditionType `json:"type"`
Status corev1.ConditionStatus `json:"status"`
Reason string `json:"reason"`
StartTime *metav1.Time `json:"startTime,omitempty"`
}
func (*WorkflowCondition) DeepCopy ¶
func (in *WorkflowCondition) DeepCopy() *WorkflowCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowCondition.
func (*WorkflowCondition) DeepCopyInto ¶
func (in *WorkflowCondition) DeepCopyInto(out *WorkflowCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowConditionType ¶
type WorkflowConditionType string
const ( WorkflowConditionAccomplished WorkflowConditionType = "Accomplished" WorkflowConditionScheduled WorkflowConditionType = "Scheduled" )
type WorkflowList ¶
type WorkflowList struct {
metav1.TypeMeta ` json:",inline"`
metav1.ListMeta ` json:"metadata,omitempty"`
Items []Workflow `json:"items"`
}
func (*WorkflowList) DeepCopy ¶
func (in *WorkflowList) DeepCopy() *WorkflowList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowList.
func (*WorkflowList) DeepCopyInto ¶
func (in *WorkflowList) DeepCopyInto(out *WorkflowList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowList) DeepCopyList ¶
func (in *WorkflowList) DeepCopyList() GenericChaosList
TODO: refactor: not so accurate
func (*WorkflowList) DeepCopyObject ¶
func (in *WorkflowList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*WorkflowList) GetItems ¶
func (in *WorkflowList) GetItems() []GenericChaos
type WorkflowNode ¶
type WorkflowNode struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Spec defines the behavior of a node of workflow
Spec WorkflowNodeSpec `json:"spec"`
// Most recently observed status of the workflow node
Status WorkflowNodeStatus `json:"status,omitempty"`
}
func (*WorkflowNode) DeepCopy ¶
func (in *WorkflowNode) DeepCopy() *WorkflowNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowNode.
func (*WorkflowNode) DeepCopyInto ¶
func (in *WorkflowNode) DeepCopyInto(out *WorkflowNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowNode) DeepCopyObject ¶
func (in *WorkflowNode) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkflowNodeCondition ¶
type WorkflowNodeCondition struct {
Type WorkflowNodeConditionType `json:"type"`
Status corev1.ConditionStatus `json:"status"`
Reason string `json:"reason"`
}
func (*WorkflowNodeCondition) DeepCopy ¶
func (in *WorkflowNodeCondition) DeepCopy() *WorkflowNodeCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowNodeCondition.
func (*WorkflowNodeCondition) DeepCopyInto ¶
func (in *WorkflowNodeCondition) DeepCopyInto(out *WorkflowNodeCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowNodeConditionType ¶
type WorkflowNodeConditionType string
const ( ConditionAccomplished WorkflowNodeConditionType = "Accomplished" ConditionDeadlineExceed WorkflowNodeConditionType = "DeadlineExceed" ConditionChaosInjected WorkflowNodeConditionType = "ChaosInjected" ConditionAborted WorkflowNodeConditionType = "Aborted" )
type WorkflowNodeList ¶
type WorkflowNodeList struct {
metav1.TypeMeta ` json:",inline"`
metav1.ListMeta ` json:"metadata,omitempty"`
Items []WorkflowNode `json:"items"`
}
func (*WorkflowNodeList) DeepCopy ¶
func (in *WorkflowNodeList) DeepCopy() *WorkflowNodeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowNodeList.
func (*WorkflowNodeList) DeepCopyInto ¶
func (in *WorkflowNodeList) DeepCopyInto(out *WorkflowNodeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowNodeList) DeepCopyObject ¶
func (in *WorkflowNodeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkflowNodeSpec ¶
type WorkflowNodeSpec struct {
TemplateName string `json:"templateName"`
WorkflowName string `json:"workflowName"`
Type TemplateType `json:"type"`
StartTime *metav1.Time `json:"startTime"`
Deadline *metav1.Time `json:"deadline,omitempty"`
Task *Task `json:"task,omitempty"`
Children []string `json:"children,omitempty"`
ConditionalBranches []ConditionalBranch `json:"conditionalBranches,omitempty"`
*EmbedChaos `json:",inline,omitempty"`
Schedule *ScheduleSpec `json:"schedule,omitempty"`
// StatusCheck describe the behavior of StatusCheck. Only used when Type is TypeStatusCheck.
StatusCheck *StatusCheckSpec `json:"statusCheck,omitempty"`
// AbortWithStatusCheck describe whether to abort the workflow when the failure threshold of StatusCheck is exceeded.
// Only used when Type is TypeStatusCheck.
AbortWithStatusCheck bool `json:"abortWithStatusCheck,omitempty"`
}
func (*WorkflowNodeSpec) DeepCopy ¶
func (in *WorkflowNodeSpec) DeepCopy() *WorkflowNodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowNodeSpec.
func (*WorkflowNodeSpec) DeepCopyInto ¶
func (in *WorkflowNodeSpec) DeepCopyInto(out *WorkflowNodeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowNodeStatus ¶
type WorkflowNodeStatus struct {
// ChaosResource refs to the real chaos CR object.
ChaosResource *corev1.TypedLocalObjectReference `json:"chaosResource,omitempty"`
// ConditionalBranchesStatus records the evaluation result of each ConditionalBranch
ConditionalBranchesStatus *ConditionalBranchesStatus `json:"conditionalBranchesStatus,omitempty"`
// ActiveChildren means the created children node
ActiveChildren []corev1.LocalObjectReference `json:"activeChildren,omitempty"`
// Children is necessary for representing the order when replicated child template references by parent template.
FinishedChildren []corev1.LocalObjectReference `json:"finishedChildren,omitempty"`
// Represents the latest available observations of a workflow node's current state.
// +patchMergeKey=type
// +patchStrategy=merge
Conditions []WorkflowNodeCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}
func (*WorkflowNodeStatus) DeepCopy ¶
func (in *WorkflowNodeStatus) DeepCopy() *WorkflowNodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowNodeStatus.
func (*WorkflowNodeStatus) DeepCopyInto ¶
func (in *WorkflowNodeStatus) DeepCopyInto(out *WorkflowNodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowSpec ¶
func (*WorkflowSpec) DeepCopy ¶
func (in *WorkflowSpec) DeepCopy() *WorkflowSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowSpec.
func (*WorkflowSpec) DeepCopyInto ¶
func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowStatus ¶
type WorkflowStatus struct {
EntryNode *string `json:"entryNode,omitempty"`
StartTime *metav1.Time `json:"startTime,omitempty"`
EndTime *metav1.Time `json:"endTime,omitempty"`
// Represents the latest available observations of a workflow's current state.
// +patchMergeKey=type
// +patchStrategy=merge
Conditions []WorkflowCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}
func (*WorkflowStatus) DeepCopy ¶
func (in *WorkflowStatus) DeepCopy() *WorkflowStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowStatus.
func (*WorkflowStatus) DeepCopyInto ¶
func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- awschaos_types.go
- azurechaos_types.go
- blockchaos_types.go
- common_errors.go
- common_types.go
- dnschaos_type.go
- gcpchaos_types.go
- groupversion_info.go
- httpchaos_types.go
- iochaos_types.go
- jvmchaos_types.go
- kernelchaos_types.go
- kinds.go
- networkchaos_types.go
- physical_machine_chaos_types.go
- physical_machine_types.go
- podchaos_types.go
- podhttpchaos_types.go
- podiochaos_types.go
- podnetworkchaos_types.go
- remote_cluster_types.go
- schedule_item.go
- schedule_types.go
- selector.go
- statuscheck_types.go
- statuschecktemplate_types.go
- stresschaos_types.go
- timechaos_types.go
- workflow_types.go
- workflownode_types.go
- zz_generated.chaosmesh.go
- zz_generated.deepcopy.go
- zz_generated.schedule.chaosmesh.go
- zz_generated.workflow.chaosmesh.go