v1alpha1

package
v0.0.0-...-c8fb9b0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2023 License: Apache-2.0 Imports: 6 Imported by: 2

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the litmuschaos.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=litmuschaos.io

Index

Constants

This section is empty.

Variables

View Source
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

func (in *Hour) DeepCopy() *Hour

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hour.

func (*Hour) DeepCopyInto

func (in *Hour) DeepCopyInto(out *Hour)

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

func (in *Minute) DeepCopy() *Minute

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Minute.

func (*Minute) DeepCopyInto

func (in *Minute) DeepCopyInto(out *Minute)

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

func (in *Schedule) DeepCopy() *Schedule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schedule.

func (*Schedule) DeepCopyInto

func (in *Schedule) DeepCopyInto(out *Schedule)

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

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

func (in *TimeRange) DeepCopy() *TimeRange

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeRange.

func (*TimeRange) DeepCopyInto

func (in *TimeRange) DeepCopyInto(out *TimeRange)

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

func (in *WorkDays) DeepCopy() *WorkDays

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkDays.

func (*WorkDays) DeepCopyInto

func (in *WorkDays) DeepCopyInto(out *WorkDays)

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

func (in *WorkHours) DeepCopy() *WorkHours

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkHours.

func (*WorkHours) DeepCopyInto

func (in *WorkHours) DeepCopyInto(out *WorkHours)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL