Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the litmuschaos.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=litmuschaos.io
Index ¶
- Variables
- type ChaosSchedule
- type ChaosScheduleList
- type ChaosScheduleSpec
- type ChaosScheduleStatus
- type ChaosStatus
- type ConcurrencyPolicy
- type Hour
- type MinChaosInterval
- type Minute
- type Schedule
- type ScheduleOnce
- type ScheduleRepeat
- type ScheduleRepeatProperties
- type ScheduleState
- type ScheduleStatus
- type TimeRange
- type WorkDays
- type WorkHours
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "litmuschaos.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ChaosSchedule ¶
type ChaosSchedule struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ChaosScheduleSpec `json:"spec,omitempty"` Status ChaosScheduleStatus `json:"status,omitempty"` }
ChaosSchedule is the Schema for the chaosschedules API
func (*ChaosSchedule) DeepCopy ¶
func (in *ChaosSchedule) DeepCopy() *ChaosSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChaosSchedule.
func (*ChaosSchedule) DeepCopyInto ¶
func (in *ChaosSchedule) DeepCopyInto(out *ChaosSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ChaosSchedule) DeepCopyObject ¶
func (in *ChaosSchedule) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ChaosScheduleList ¶
type ChaosScheduleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ChaosSchedule `json:"items"` }
ChaosScheduleList contains a list of ChaosSchedule
func (*ChaosScheduleList) DeepCopy ¶
func (in *ChaosScheduleList) DeepCopy() *ChaosScheduleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChaosScheduleList.
func (*ChaosScheduleList) DeepCopyInto ¶
func (in *ChaosScheduleList) DeepCopyInto(out *ChaosScheduleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ChaosScheduleList) DeepCopyObject ¶
func (in *ChaosScheduleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ChaosScheduleSpec ¶
type ChaosScheduleSpec struct { // ChaosServiceAccount is the SA specified for chaos runner pods ChaosServiceAccount string `json:"chaosServiceAccount,omitempty"` // Execution schedule of batch of chaos experiments Schedule Schedule `json:"schedule,omitempty"` // ScheduleState determines whether to "halt", "abort" or "active" the schedule ScheduleState ScheduleState `json:"scheduleState,omitempty"` // ConcurrencyPolicy will state whether two engines from the same schedule // can exist simultaneously or not ConcurrencyPolicy ConcurrencyPolicy `json:"concurrencyPolicy,omitempty"` // EngineTemplateSpec is the spec of the engine to be created by this schedule EngineTemplateSpec operatorV1.ChaosEngineSpec `json:"engineTemplateSpec,omitempty"` }
ChaosScheduleSpec defines the desired state of ChaosSchedule
func (*ChaosScheduleSpec) DeepCopy ¶
func (in *ChaosScheduleSpec) DeepCopy() *ChaosScheduleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChaosScheduleSpec.
func (*ChaosScheduleSpec) DeepCopyInto ¶
func (in *ChaosScheduleSpec) DeepCopyInto(out *ChaosScheduleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChaosScheduleStatus ¶
type ChaosScheduleStatus struct { // Schedule depicts status of the schedule whether active, aborted or halted Schedule ScheduleStatus `json:"schedule,omitempty"` // LastScheduleTime states the last time an engine was created LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"` // LastScheduleCompletionTime states the last time an engine was completed LastScheduleCompletionTime *metav1.Time `json:"lastScheduleCompletionTime,omitempty"` // Active states the list of chaosengines that are currently running Active []coreV1.ObjectReference `json:"active,omitempty"` }
ChaosScheduleStatus defines the observed state of ChaosSchedule
func (*ChaosScheduleStatus) DeepCopy ¶
func (in *ChaosScheduleStatus) DeepCopy() *ChaosScheduleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChaosScheduleStatus.
func (*ChaosScheduleStatus) DeepCopyInto ¶
func (in *ChaosScheduleStatus) DeepCopyInto(out *ChaosScheduleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChaosStatus ¶
type ChaosStatus string
ChaosStatus describes current status of the schedule
const ( //StatusCompleted denotes that the schedule is completed StatusCompleted ChaosStatus = "completed" //StatusRunning denotes that the schedule is running StatusRunning ChaosStatus = "running" //StatusHalted denotes that the schedule is halted StatusHalted ChaosStatus = "halted" //StatusStopped denotes the schedule is abruptly stopped in the middle of execution StatusStopped ChaosStatus = "stopped" )
type ConcurrencyPolicy ¶
type ConcurrencyPolicy string
ConcurrencyPolicy
const ( // AllowConcurrent allows CronJobs to run concurrently. AllowConcurrent ConcurrencyPolicy = "Allow" // ForbidConcurrent forbids concurrent runs, skipping next run if previous hasn't finished yet. ForbidConcurrent ConcurrencyPolicy = "Forbid" // ReplaceConcurrent cancels currently running job and replaces it with a new one. ReplaceConcurrent ConcurrencyPolicy = "Replace" )
type Hour ¶
type Hour struct { EveryNthHour int `json:"everyNthHour,omitempty"` MinuteOfTheHour int `json:"minuteOfTheHour,omitempty"` }
Hour contains hours and minutes b/w each schedule
func (*Hour) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hour.
func (*Hour) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MinChaosInterval ¶
type MinChaosInterval struct { Hour *Hour `json:"hour,omitempty"` Minute *Minute `json:"minute,omitempty"` }
MinChaosInterval contains hours and minutes b/w each iterations
func (*MinChaosInterval) DeepCopy ¶
func (in *MinChaosInterval) DeepCopy() *MinChaosInterval
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MinChaosInterval.
func (*MinChaosInterval) DeepCopyInto ¶
func (in *MinChaosInterval) DeepCopyInto(out *MinChaosInterval)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Minute ¶
type Minute struct {
EveryNthMinute int `json:"everyNthMinute,omitempty"`
}
Minute contains minute b/w each schedule
func (*Minute) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Minute.
func (*Minute) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Schedule ¶
type Schedule struct { // Now is for scheduling the engine immediately Now bool `json:"now,omitempty"` // Once is for scheduling the engine at a specific time Once *ScheduleOnce `json:"once,omitempty"` // Repeat is for scheduling the engine between a time range Repeat *ScheduleRepeat `json:"repeat,omitempty"` }
Schedule defines information about schedule of chaos batch run
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.
type ScheduleOnce ¶
type ScheduleOnce struct { //Time at which experiment is to be run ExecutionTime metav1.Time `json:"executionTime"` }
ScheduleOnce will contain parameters for execution the once strategy of scheduling
func (*ScheduleOnce) DeepCopy ¶
func (in *ScheduleOnce) DeepCopy() *ScheduleOnce
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleOnce.
func (*ScheduleOnce) DeepCopyInto ¶
func (in *ScheduleOnce) DeepCopyInto(out *ScheduleOnce)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScheduleRepeat ¶
type ScheduleRepeat struct { TimeRange *TimeRange `json:"timeRange,omitempty"` Properties ScheduleRepeatProperties `json:"properties,omitempty"` WorkHours *WorkHours `json:"workHours,omitempty"` WorkDays *WorkDays `json:"workDays,omitempty"` }
ScheduleRepeat will contain parameters for executing the repeat strategy of scheduling
func (*ScheduleRepeat) DeepCopy ¶
func (in *ScheduleRepeat) DeepCopy() *ScheduleRepeat
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleRepeat.
func (*ScheduleRepeat) DeepCopyInto ¶
func (in *ScheduleRepeat) DeepCopyInto(out *ScheduleRepeat)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScheduleRepeatProperties ¶
type ScheduleRepeatProperties struct { //Minimum Period b/w two iterations of chaos experiments batch run MinChaosInterval *MinChaosInterval `json:"minChaosInterval,omitempty"` //Whether the chaos is to be scheduled at a random time or not Random bool `json:"random,omitempty"` }
ScheduleRepeatProperties will define the properties needed by the schedule to inject chaos
func (*ScheduleRepeatProperties) DeepCopy ¶
func (in *ScheduleRepeatProperties) DeepCopy() *ScheduleRepeatProperties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleRepeatProperties.
func (*ScheduleRepeatProperties) DeepCopyInto ¶
func (in *ScheduleRepeatProperties) DeepCopyInto(out *ScheduleRepeatProperties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScheduleState ¶
type ScheduleState string
ScheduleState defines the current state of the schedule
const ( //StateActive defines that the schedule is currently active StateActive ScheduleState = "active" //StateHalted defines that the schedule is in halt and can be resumed StateHalted ScheduleState = "halt" //StateStopped defines that the schedule StateStopped ScheduleState = "stop" //StateCompleted defines that the schedule is completed StateCompleted ScheduleState = "complete" )
type ScheduleStatus ¶
type ScheduleStatus struct { //Status defines the current running status of the schedule Status ChaosStatus `json:"status,omitempty"` //StartTime defines the starting timestamp of the schedule StartTime *metav1.Time `json:"startTime,omitempty"` //EndTime defines the end timestamp of the schedule EndTime *metav1.Time `json:"endTime,omitempty"` //RunInstances defines number of already ran instances at that point of time RunInstances int `json:"runInstances,omitempty"` //ExpectedNextRunTime defines the approximate time at which execution of the next instance will take place ExpectedNextRunTime *metav1.Time `json:"expectedNextRunTime,omitempty"` }
ScheduleStatus describes the overall status of the schedule
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 TimeRange ¶
type TimeRange struct { //Start limit of the time range in which experiment is to be run StartTime *metav1.Time `json:"startTime,omitempty"` //End limit of the time range in which experiment is to be run EndTime *metav1.Time `json:"endTime,omitempty"` }
TimeRange will contain time constraints for the chaos to be injected
func (*TimeRange) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeRange.
func (*TimeRange) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkDays ¶
type WorkDays struct { //Days of week when experiments batch run is scheduled IncludedDays string `json:"includedDays,omitempty"` }
WorkDays specify in which hours of the day chaos is to be injected
func (*WorkDays) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkDays.
func (*WorkDays) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkHours ¶
type WorkHours struct { //Hours of the day when experiments batch run is scheduled IncludedHours string `json:"includedHours,omitempty"` }
WorkHours specify in which hours of the day chaos is to be injected
func (*WorkHours) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkHours.
func (*WorkHours) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.