v1alpha1

package
v0.0.0-...-2b2646e Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 6 Imported by: 75

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 (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "litmuschaos.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type ApplicationParams

type ApplicationParams struct {
	//Namespace of the AUT
	Appns string `json:"appns,omitempty"`
	//Unique label of the AUT
	Applabel string `json:"applabel,omitempty"`
	//kind of application
	AppKind string `json:"appkind,omitempty"`
}

ApplicationParams defines information about Application-Under-Test (AUT) on the cluster Controller expects AUT to be annotated with litmuschaos.io/chaos: "true" to run chaos

func (*ApplicationParams) DeepCopy

func (in *ApplicationParams) DeepCopy() *ApplicationParams

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

func (*ApplicationParams) DeepCopyInto

func (in *ApplicationParams) DeepCopyInto(out *ApplicationParams)

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

type ChaosEngine

type ChaosEngine struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ChaosEngineSpec   `json:"spec,omitempty"`
	Status ChaosEngineStatus `json:"status,omitempty"`
}

ChaosEngine is the Schema for the chaosengines API

func (*ChaosEngine) DeepCopy

func (in *ChaosEngine) DeepCopy() *ChaosEngine

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

func (*ChaosEngine) DeepCopyInto

func (in *ChaosEngine) DeepCopyInto(out *ChaosEngine)

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

func (*ChaosEngine) DeepCopyObject

func (in *ChaosEngine) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ChaosEngineList

type ChaosEngineList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ChaosEngine `json:"items"`
}

ChaosEngineList contains a list of ChaosEngine

func (*ChaosEngineList) DeepCopy

func (in *ChaosEngineList) DeepCopy() *ChaosEngineList

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

func (*ChaosEngineList) DeepCopyInto

func (in *ChaosEngineList) DeepCopyInto(out *ChaosEngineList)

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

func (*ChaosEngineList) DeepCopyObject

func (in *ChaosEngineList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ChaosEngineSpec

type ChaosEngineSpec struct {
	//Appinfo contains the AUT details
	Appinfo ApplicationParams `json:"appinfo,omitempty"`
	//DefaultHealthCheck defines whether default health checks should be executed or not. It can be true or false
	// default value is true
	DefaultHealthCheck bool `json:"defaultHealthCheck,omitempty"`
	//ChaosServiceAccount is the SvcAcc specified for chaos runner pods
	ChaosServiceAccount string `json:"chaosServiceAccount"`
	//Components contains the image, imagePullPolicy, arguments, and commands of runner
	Components ComponentParams `json:"components"`
	//Consists of experiments executed by the engine
	Experiments []ExperimentList `json:"experiments"`
	//JobCleanUpPolicy decides to retain or delete the jobs
	JobCleanUpPolicy CleanUpPolicy `json:"jobCleanUpPolicy,omitempty"`
	//AuxiliaryAppInfo contains details of dependent applications (infra chaos)
	AuxiliaryAppInfo string `json:"auxiliaryAppInfo,omitempty"`
	//EngineStatus is a requirement for validation
	EngineState EngineState `json:"engineState"`
	// TerminationGracePeriodSeconds contains terminationGracePeriod for the chaos resources
	TerminationGracePeriodSeconds int64 `json:"terminationGracePeriodSeconds,omitempty"`
	// Selectors contains the target application details
	Selectors *Selector `json:"selectors,omitempty"`
}

ChaosEngineSpec defines the desired state of ChaosEngine ChaosEngineSpec describes a user-facing custom resource which is used by developers to create a chaos profile

func (*ChaosEngineSpec) DeepCopy

func (in *ChaosEngineSpec) DeepCopy() *ChaosEngineSpec

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

func (*ChaosEngineSpec) DeepCopyInto

func (in *ChaosEngineSpec) DeepCopyInto(out *ChaosEngineSpec)

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

type ChaosEngineStatus

type ChaosEngineStatus struct {
	//EngineStatus is a typed string to support limited values for ChaosEngine Status
	EngineStatus EngineStatus `json:"engineStatus"`
	//Detailed status of individual experiments
	Experiments []ExperimentStatuses `json:"experiments"`
}

ChaosEngineStatus defines the observed state of ChaosEngine ChaosEngineStatus derives information about status of individual experiments

func (*ChaosEngineStatus) DeepCopy

func (in *ChaosEngineStatus) DeepCopy() *ChaosEngineStatus

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

func (*ChaosEngineStatus) DeepCopyInto

func (in *ChaosEngineStatus) DeepCopyInto(out *ChaosEngineStatus)

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

type ChaosExperiment

type ChaosExperiment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ChaosExperimentSpec   `json:"spec,omitempty"`
	Status ChaosExperimentStatus `json:"status,omitempty"`
}

ChaosExperiment is the Schema for the chaosexperiments API

func (*ChaosExperiment) DeepCopy

func (in *ChaosExperiment) DeepCopy() *ChaosExperiment

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

func (*ChaosExperiment) DeepCopyInto

func (in *ChaosExperiment) DeepCopyInto(out *ChaosExperiment)

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

func (*ChaosExperiment) DeepCopyObject

func (in *ChaosExperiment) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ChaosExperimentList

type ChaosExperimentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ChaosExperiment `json:"items"`
}

ChaosExperimentList contains a list of ChaosExperiment

func (*ChaosExperimentList) DeepCopy

func (in *ChaosExperimentList) DeepCopy() *ChaosExperimentList

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

func (*ChaosExperimentList) DeepCopyInto

func (in *ChaosExperimentList) DeepCopyInto(out *ChaosExperimentList)

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

func (*ChaosExperimentList) DeepCopyObject

func (in *ChaosExperimentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ChaosExperimentSpec

type ChaosExperimentSpec struct {
	// Definition carries low-level chaos options
	Definition ExperimentDef `json:"definition"`
}

ChaosExperimentSpec defines the desired state of ChaosExperiment An experiment is the definition of a chaos test and is listed as an item in the chaos engine to be run against a given app.

func (*ChaosExperimentSpec) DeepCopy

func (in *ChaosExperimentSpec) DeepCopy() *ChaosExperimentSpec

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

func (*ChaosExperimentSpec) DeepCopyInto

func (in *ChaosExperimentSpec) DeepCopyInto(out *ChaosExperimentSpec)

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

type ChaosExperimentStatus

type ChaosExperimentStatus struct {
}

ChaosExperimentStatus defines the observed state of ChaosExperiment

func (*ChaosExperimentStatus) DeepCopy

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

func (*ChaosExperimentStatus) DeepCopyInto

func (in *ChaosExperimentStatus) DeepCopyInto(out *ChaosExperimentStatus)

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

type ChaosResult

type ChaosResult struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ChaosResultSpec   `json:"spec,omitempty"`
	Status ChaosResultStatus `json:"status,omitempty"`
}

ChaosResult is the Schema for the chaosresults API

func (*ChaosResult) DeepCopy

func (in *ChaosResult) DeepCopy() *ChaosResult

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

func (*ChaosResult) DeepCopyInto

func (in *ChaosResult) DeepCopyInto(out *ChaosResult)

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

func (*ChaosResult) DeepCopyObject

func (in *ChaosResult) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ChaosResultList

type ChaosResultList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ChaosResult `json:"items"`
}

ChaosResultList contains a list of ChaosResult

func (*ChaosResultList) DeepCopy

func (in *ChaosResultList) DeepCopy() *ChaosResultList

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

func (*ChaosResultList) DeepCopyInto

func (in *ChaosResultList) DeepCopyInto(out *ChaosResultList)

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

func (*ChaosResultList) DeepCopyObject

func (in *ChaosResultList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ChaosResultSpec

type ChaosResultSpec struct {
	// EngineName defines the name of chaosEngine
	EngineName string `json:"engine,omitempty"`
	// ExperimentName defines the name of chaosexperiment
	ExperimentName string `json:"experiment"`
	// InstanceID defines the instance id
	InstanceID string `json:"instance,omitempty"`
}

ChaosResultSpec defines the desired state of ChaosResult The chaosresult holds the status of a chaos experiment that is listed as an item in the chaos engine to be run against a given app.

func (*ChaosResultSpec) DeepCopy

func (in *ChaosResultSpec) DeepCopy() *ChaosResultSpec

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

func (*ChaosResultSpec) DeepCopyInto

func (in *ChaosResultSpec) DeepCopyInto(out *ChaosResultSpec)

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

type ChaosResultStatus

type ChaosResultStatus struct {
	// ExperimentStatus contains the status,verdict of the experiment
	ExperimentStatus TestStatus `json:"experimentStatus"`
	// ProbeStatus contains the status of the probe
	ProbeStatuses []ProbeStatuses `json:"probeStatuses,omitempty"`
	// History contains cumulative values of verdicts
	History *HistoryDetails `json:"history,omitempty"`
}

ChaosResultStatus defines the observed state of ChaosResult

func (*ChaosResultStatus) DeepCopy

func (in *ChaosResultStatus) DeepCopy() *ChaosResultStatus

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

func (*ChaosResultStatus) DeepCopyInto

func (in *ChaosResultStatus) DeepCopyInto(out *ChaosResultStatus)

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

type CleanUpPolicy

type CleanUpPolicy string

CleanUpPolicy defines the garbage collection method used by chaos-operator

const (
	//CleanUpPolicyDelete sets the garbage collection policy of chaos-operator to Delete Chaos Resources
	CleanUpPolicyDelete CleanUpPolicy = "delete"

	//CleanUpPolicyRetain sets the garbage collection policy of chaos-operator to Retain Chaos Resources
	CleanUpPolicyRetain CleanUpPolicy = "retain"
)

type CmdProbeInputs

type CmdProbeInputs struct {
	// Command need to be executed for the probe
	Command string `json:"command"`
	// Comparator check for the correctness of the probe output
	Comparator ComparatorInfo `json:"comparator"`
	// The source where we have to run the command
	// It will run in inline(inside experiment itself) mode if source is nil
	Source *SourceDetails `json:"source,omitempty"`
}

CmdProbeInputs contains all the inputs required for cmd probe

func (*CmdProbeInputs) DeepCopy

func (in *CmdProbeInputs) DeepCopy() *CmdProbeInputs

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

func (*CmdProbeInputs) DeepCopyInto

func (in *CmdProbeInputs) DeepCopyInto(out *CmdProbeInputs)

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

type ComparatorInfo

type ComparatorInfo struct {
	// Type of data
	// it can be int, float, string
	Type string `json:"type,omitempty"`
	// Criteria for matching data
	// it supports >=, <=, ==, >, <, != for int and float
	// it supports equal, notEqual, contains for string
	Criteria string `json:"criteria"`
	// Value contains relative value for criteria
	Value string `json:"value"`
}

ComparatorInfo contains the comparator details

func (*ComparatorInfo) DeepCopy

func (in *ComparatorInfo) DeepCopy() *ComparatorInfo

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

func (*ComparatorInfo) DeepCopyInto

func (in *ComparatorInfo) DeepCopyInto(out *ComparatorInfo)

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

type ComponentParams

type ComponentParams struct {
	//Contains information of the runner pod
	Runner RunnerInfo `json:"runner"`
	// Contains information of the sidecar
	Sidecar []Sidecar `json:"sidecar,omitempty"`
}

ComponentParams defines information about the runner

func (*ComponentParams) DeepCopy

func (in *ComponentParams) DeepCopy() *ComponentParams

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

func (*ComponentParams) DeepCopyInto

func (in *ComponentParams) DeepCopyInto(out *ComponentParams)

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

type ConfigMap

type ConfigMap struct {
	Data      map[string]string `json:"data,omitempty"`
	Name      string            `json:"name"`
	MountPath string            `json:"mountPath"`
}

ConfigMap is an simpler implementation of corev1.ConfigMaps, needed for experiments

func (*ConfigMap) DeepCopy

func (in *ConfigMap) DeepCopy() *ConfigMap

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

func (*ConfigMap) DeepCopyInto

func (in *ConfigMap) DeepCopyInto(out *ConfigMap)

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

type EngineState

type EngineState string

EngineState provides interface for all supported strings in spec.EngineState

const (
	// EngineStateActive starts the reconcile call
	EngineStateActive EngineState = "active"
	// EngineStateStop stops the reconcile call
	EngineStateStop EngineState = "stop"
)

type EngineStatus

type EngineStatus string

EngineStatus provides interface for all supported strings in status.EngineStatus

const (
	// EngineStatusInitialized is used for reconcile calls to start reconcile for creation
	EngineStatusInitialized EngineStatus = "initialized"
	// EngineStatusCompleted is used for reconcile calls to start reconcile for completion
	EngineStatusCompleted EngineStatus = "completed"
	// EngineStatusStopped is used for reconcile calls to start reconcile for delete
	EngineStatusStopped EngineStatus = "stopped"
)

type ErrorOutput

type ErrorOutput struct {
	// ErrorCode defines error code of the experiment
	ErrorCode string `json:"errorCode,omitempty"`
	// Reason contains the error reason
	Reason string `json:"reason,omitempty"`
}

ErrorOutput defines error reason and error code

func (*ErrorOutput) DeepCopy

func (in *ErrorOutput) DeepCopy() *ErrorOutput

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

func (*ErrorOutput) DeepCopyInto

func (in *ErrorOutput) DeepCopyInto(out *ErrorOutput)

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

type EvaluationWindow

type EvaluationWindow struct {
	// Start time of evaluation
	EvaluationStartTime int `json:"evaluationStartTime,omitempty"`
	// End time of evaluation
	EvaluationEndTime int `json:"evaluationEndTime,omitempty"`
}

EvaluationWindow is the time period for which the SLO probe will work

func (*EvaluationWindow) DeepCopy

func (in *EvaluationWindow) DeepCopy() *EvaluationWindow

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

func (*EvaluationWindow) DeepCopyInto

func (in *EvaluationWindow) DeepCopyInto(out *EvaluationWindow)

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

type ExperimentAttributes

type ExperimentAttributes struct {
	//Execution priority of the chaos experiment
	Rank uint32 `json:"rank"`
	// It contains env, configmaps, secrets, experimentImage, node selector, custom experiment annotation
	// which can be provided or overridden from the chaos engine
	Components ExperimentComponents `json:"components,omitempty"`
	// Probe contains details of probe, which can be applied on the experiments
	// Probe can be httpProbe, k8sProbe or cmdProbe
	Probe []ProbeAttributes `json:"probe,omitempty"`
}

ExperimentAttributes defines attributes of experiments

func (*ExperimentAttributes) DeepCopy

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

func (*ExperimentAttributes) DeepCopyInto

func (in *ExperimentAttributes) DeepCopyInto(out *ExperimentAttributes)

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

type ExperimentComponents

type ExperimentComponents struct {
	ENV                        []corev1.EnvVar               `json:"env,omitempty"`
	ConfigMaps                 []ConfigMap                   `json:"configMaps,omitempty"`
	Secrets                    []Secret                      `json:"secrets,omitempty"`
	ExperimentAnnotations      map[string]string             `json:"experimentAnnotations,omitempty"`
	ExperimentImage            string                        `json:"experimentImage,omitempty"`
	ExperimentImagePullSecrets []corev1.LocalObjectReference `json:"experimentImagePullSecrets,omitempty"`
	NodeSelector               map[string]string             `json:"nodeSelector,omitempty"`
	StatusCheckTimeouts        StatusCheckTimeout            `json:"statusCheckTimeouts,omitempty"`
	Resources                  corev1.ResourceRequirements   `json:"resources,omitempty"`
	Tolerations                []corev1.Toleration           `json:"tolerations,omitempty"`
}

ExperimentComponents contains ENV, Configmaps and Secrets

func (*ExperimentComponents) DeepCopy

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

func (*ExperimentComponents) DeepCopyInto

func (in *ExperimentComponents) DeepCopyInto(out *ExperimentComponents)

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

type ExperimentDef

type ExperimentDef struct {
	// Default labels of the runner pod
	// +optional
	Labels map[string]string `json:"labels"`
	// Image of the chaos experiment
	Image string `json:"image"`
	// ImagePullPolicy of the chaos experiment container
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
	//Scope specifies the service account scope (& thereby blast radius) of the experiment
	Scope string `json:"scope"`
	// List of Permission needed for a service account to execute experiment
	Permissions []rbacV1.PolicyRule `json:"permissions"`
	// List of ENV vars passed to executor pod
	ENVList []corev1.EnvVar `json:"env"`
	// Defines command to invoke experiment
	Command []string `json:"command"`
	// Defines arguments to runner's entrypoint command
	Args []string `json:"args"`
	// ConfigMaps contains a list of ConfigMaps
	ConfigMaps []ConfigMap `json:"configMaps,omitempty"`
	// Secrets contains a list of Secrets
	Secrets []Secret `json:"secrets,omitempty"`
	// HostFileVolume defines the host directory/file to be mounted
	HostFileVolumes []HostFile `json:"hostFileVolumes,omitempty"`
	// Annotations that needs to be provided in the pod for pod that is getting created
	ExperimentAnnotations map[string]string `json:"experimentAnnotations,omitempty"`
	// SecurityContext holds security configuration that will be applied to a container
	SecurityContext SecurityContext `json:"securityContext,omitempty"`
	// HostPID is need to be provided in the chaospod
	HostPID bool `json:"hostPID,omitempty"`
}

ExperimentDef defines information about nature of chaos & components subjected to it

func (*ExperimentDef) DeepCopy

func (in *ExperimentDef) DeepCopy() *ExperimentDef

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

func (*ExperimentDef) DeepCopyInto

func (in *ExperimentDef) DeepCopyInto(out *ExperimentDef)

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

type ExperimentList

type ExperimentList struct {
	//Name of the chaos experiment
	Name string `json:"name"`
	//Holds properties of an experiment listed in the engine
	Spec ExperimentAttributes `json:"spec"`
}

ExperimentList defines information about chaos experiments defined in the chaos engine These experiments are "pulled" as versioned charts from a "hub"

func (*ExperimentList) DeepCopy

func (in *ExperimentList) DeepCopy() *ExperimentList

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

func (*ExperimentList) DeepCopyInto

func (in *ExperimentList) DeepCopyInto(out *ExperimentList)

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

type ExperimentStatus

type ExperimentStatus string

ExperimentStatus is typecasted to string for supporting the values below.

const (
	// ExperimentStatusRunning is status of Experiment which is currently running
	ExperimentStatusRunning ExperimentStatus = "Running"
	// ExperimentStatusCompleted is status of Experiment which has been completed
	ExperimentStatusCompleted ExperimentStatus = "Completed"
	// ExperimentStatusWaiting is status of Experiment which will be executed via a Job
	ExperimentStatusWaiting ExperimentStatus = "Waiting for Job Creation"
	// ExperimentStatusNotFound is status of Experiment which is not found inside ChaosNamespace
	ExperimentStatusNotFound ExperimentStatus = "ChaosExperiment Not Found"
	// ExperimentStatusAborted is status of a Experiment is forcefully aborted
	ExperimentStatusAborted ExperimentStatus = "Forcefully Aborted"
	// ExperimentSkipped is status of Experiment which has been skipped
	ExperimentSkipped ExperimentStatus = "Skipped"
)

type ExperimentStatuses

type ExperimentStatuses struct {
	//Name of the chaos experiment
	Name string `json:"name"`
	//Name of chaos-runner pod managing this experiment
	Runner string `json:"runner"`
	//Name of experiment pod executing the chaos
	ExpPod string `json:"experimentPod"`
	//Current state of chaos experiment
	Status ExperimentStatus `json:"status"`
	//Result of a completed chaos experiment
	Verdict string `json:"verdict"`
	//Time of last state change of chaos experiment
	LastUpdateTime metav1.Time `json:"lastUpdateTime"`
}

ExperimentStatuses defines information about status of individual experiments These fields are immutable, and are derived by kubernetes(operator)

func (*ExperimentStatuses) DeepCopy

func (in *ExperimentStatuses) DeepCopy() *ExperimentStatuses

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

func (*ExperimentStatuses) DeepCopyInto

func (in *ExperimentStatuses) DeepCopyInto(out *ExperimentStatuses)

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

type GetMethod

type GetMethod struct {
	// Criteria for matching data
	// it supports  == != operations
	Criteria string `json:"criteria"`
	// Value contains relative value for criteria
	ResponseCode string `json:"responseCode"`
}

GetMethod define the http Get method

func (*GetMethod) DeepCopy

func (in *GetMethod) DeepCopy() *GetMethod

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

func (*GetMethod) DeepCopyInto

func (in *GetMethod) DeepCopyInto(out *GetMethod)

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

type HTTPMethod

type HTTPMethod struct {
	Get  *GetMethod  `json:"get,omitempty"`
	Post *PostMethod `json:"post,omitempty"`
}

HTTPMethod define the http method details

func (*HTTPMethod) DeepCopy

func (in *HTTPMethod) DeepCopy() *HTTPMethod

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

func (*HTTPMethod) DeepCopyInto

func (in *HTTPMethod) DeepCopyInto(out *HTTPMethod)

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

type HTTPProbeInputs

type HTTPProbeInputs struct {
	// URL which needs to curl, to check the status
	URL string `json:"url"`
	// InsecureSkipVerify flag to skip certificate checks
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
	// Method define the http method, it can be get or post
	Method HTTPMethod `json:"method"`
}

HTTPProbeInputs contains all the inputs required for http probe

func (*HTTPProbeInputs) DeepCopy

func (in *HTTPProbeInputs) DeepCopy() *HTTPProbeInputs

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

func (*HTTPProbeInputs) DeepCopyInto

func (in *HTTPProbeInputs) DeepCopyInto(out *HTTPProbeInputs)

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

type HistoryDetails

type HistoryDetails struct {
	PassedRuns  int             `json:"passedRuns"`
	FailedRuns  int             `json:"failedRuns"`
	StoppedRuns int             `json:"stoppedRuns"`
	Targets     []TargetDetails `json:"targets,omitempty"`
}

HistoryDetails contains cumulative values of verdicts

func (*HistoryDetails) DeepCopy

func (in *HistoryDetails) DeepCopy() *HistoryDetails

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

func (*HistoryDetails) DeepCopyInto

func (in *HistoryDetails) DeepCopyInto(out *HistoryDetails)

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

type HostFile

type HostFile struct {
	Name      string              `json:"name"`
	MountPath string              `json:"mountPath"`
	NodePath  string              `json:"nodePath"`
	Type      corev1.HostPathType `json:"type,omitempty"`
}

HostFile is an simpler implementation of corev1.HostPath, needed for experiments

func (*HostFile) DeepCopy

func (in *HostFile) DeepCopy() *HostFile

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

func (*HostFile) DeepCopyInto

func (in *HostFile) DeepCopyInto(out *HostFile)

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

type Identifier

type Identifier struct {
	// AccountIdentifier for account ID
	AccountIdentifier string `json:"accountIdentifier"`
	// OrgIdentifier for organization ID
	OrgIdentifier string `json:"orgIdentifier"`
	// ProjectIdentifier for project ID
	ProjectIdentifier string `json:"projectIdentifier"`
}

Identifier required for fetching details from the Platform APIs

func (*Identifier) DeepCopy

func (in *Identifier) DeepCopy() *Identifier

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

func (*Identifier) DeepCopyInto

func (in *Identifier) DeepCopyInto(out *Identifier)

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

type K8sProbeInputs

type K8sProbeInputs struct {
	// group of the resource
	Group string `json:"group,omitempty"`
	// apiversion of the resource
	Version string `json:"version"`
	// kind of resource
	Resource string `json:"resource"`
	// ResourceNames to get the resources using their list of comma separated names
	ResourceNames string `json:"resourceNames,omitempty"`
	// namespace of the resource
	Namespace string `json:"namespace,omitempty"`
	// fieldselector to get the resource using fields selector
	FieldSelector string `json:"fieldSelector,omitempty"`
	// labelselector to get the resource using labels selector
	LabelSelector string `json:"labelSelector,omitempty"`
	// Operation performed by the k8s probe
	// it can be create, delete, present, absent
	Operation string `json:"operation"`
}

K8sProbeInputs contains all the inputs required for k8s probe

func (*K8sProbeInputs) DeepCopy

func (in *K8sProbeInputs) DeepCopy() *K8sProbeInputs

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

func (*K8sProbeInputs) DeepCopyInto

func (in *K8sProbeInputs) DeepCopyInto(out *K8sProbeInputs)

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

type Pod

type Pod struct {
	Namespace string `json:"namespace"`
	Names     string `json:"names"`
}

func (*Pod) DeepCopy

func (in *Pod) DeepCopy() *Pod

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

func (*Pod) DeepCopyInto

func (in *Pod) DeepCopyInto(out *Pod)

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

type PostMethod

type PostMethod struct {
	// ContentType contains content type for http body data
	ContentType string `json:"contentType,omitempty"`
	// Body contains http body for post request
	Body string `json:"body,omitempty"`
	// BodyPath contains filePath, which contains http body
	BodyPath string `json:"bodyPath,omitempty"`
	// Criteria for matching data
	// it supports  == != operations
	Criteria string `json:"criteria"`
	// Value contains relative value for criteria
	ResponseCode string `json:"responseCode"`
}

PostMethod define the http Post method

func (*PostMethod) DeepCopy

func (in *PostMethod) DeepCopy() *PostMethod

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

func (*PostMethod) DeepCopyInto

func (in *PostMethod) DeepCopyInto(out *PostMethod)

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

type ProbeAttributes

type ProbeAttributes struct {
	// Name of probe
	Name string `json:"name"`
	// Type of probe
	Type string `json:"type"`
	// inputs needed for the k8s probe
	K8sProbeInputs *K8sProbeInputs `json:"k8sProbe/inputs,omitempty"`
	// inputs needed for the http probe
	HTTPProbeInputs *HTTPProbeInputs `json:"httpProbe/inputs,omitempty"`
	// inputs needed for the cmd probe
	CmdProbeInputs *CmdProbeInputs `json:"cmdProbe/inputs,omitempty"`
	// inputs needed for the prometheus probe
	PromProbeInputs *PromProbeInputs `json:"promProbe/inputs,omitempty"`
	// inputs needed for the SLO probe
	SLOProbeInputs *SLOProbeInputs `json:"sloProbe/inputs,omitempty"`
	// RunProperty contains timeout, retry and interval for the probe
	RunProperties RunProperty `json:"runProperties"`
	// mode for k8s probe
	// it can be SOT, EOT, Edge
	Mode string `json:"mode"`
	// Data contains the manifest/data for the resource, which need to be created
	// it supported for create operation only
	Data string `json:"data,omitempty"`
}

ProbeAttributes contains details of probe, which can be applied on the experiments

func (*ProbeAttributes) DeepCopy

func (in *ProbeAttributes) DeepCopy() *ProbeAttributes

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

func (*ProbeAttributes) DeepCopyInto

func (in *ProbeAttributes) DeepCopyInto(out *ProbeAttributes)

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

type ProbeStatus

type ProbeStatus struct {
	// Verdict defines the verdict of the probe, range: Passed, Failed, N/A
	Verdict ProbeVerdict `json:"verdict,omitempty"`
	// Description defines the description of probe status
	Description string `json:"description,omitempty"`
}

ProbeStatus defines information about the status and result of the probes

func (*ProbeStatus) DeepCopy

func (in *ProbeStatus) DeepCopy() *ProbeStatus

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

func (*ProbeStatus) DeepCopyInto

func (in *ProbeStatus) DeepCopyInto(out *ProbeStatus)

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

type ProbeStatuses

type ProbeStatuses struct {
	// Name defines the name of probe
	Name string `json:"name,omitempty"`
	// Type defined the type of probe, supported values: K8sProbe, HttpProbe, CmdProbe
	Type string `json:"type,omitempty"`
	// Mode defined the mode of probe, supported values: SOT, EOT, Edge, OnChaos, Continuous
	Mode string `json:"mode,omitempty"`
	// Status defines whether a probe is pass or fail
	Status ProbeStatus `json:"status,omitempty"`
}

ProbeStatus defines information about the status and result of the probes

func (*ProbeStatuses) DeepCopy

func (in *ProbeStatuses) DeepCopy() *ProbeStatuses

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

func (*ProbeStatuses) DeepCopyInto

func (in *ProbeStatuses) DeepCopyInto(out *ProbeStatuses)

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

type ProbeVerdict

type ProbeVerdict string
const (
	ProbeVerdictPassed  ProbeVerdict = "Passed"
	ProbeVerdictFailed  ProbeVerdict = "Failed"
	ProbeVerdictNA      ProbeVerdict = "N/A"
	ProbeVerdictAwaited ProbeVerdict = "Awaited"
)

type PromProbeInputs

type PromProbeInputs struct {
	// Endpoint for the prometheus probe
	Endpoint string `json:"endpoint"`
	// Query to get promethus metrics
	Query string `json:"query,omitempty"`
	// QueryPath contains filePath, which contains prometheus query
	QueryPath string `json:"queryPath,omitempty"`
	// Comparator check for the correctness of the probe output
	Comparator ComparatorInfo `json:"comparator"`
}

PromProbeInputs contains all the inputs required for prometheus probe

func (*PromProbeInputs) DeepCopy

func (in *PromProbeInputs) DeepCopy() *PromProbeInputs

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

func (*PromProbeInputs) DeepCopyInto

func (in *PromProbeInputs) DeepCopyInto(out *PromProbeInputs)

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

type ResultPhase

type ResultPhase string

ResultPhase is typecasted to string for supporting the values below.

const (
	// ResultPhaseRunning is phase of chaosresult which is in running state
	ResultPhaseRunning ResultPhase = "Running"
	// ResultPhaseCompleted is phase of chaosresult which is in completed state
	ResultPhaseCompleted ResultPhase = "Completed"
	// Retained For Backward Compatibility: ResultPhaseCompletedWithError is phase of chaosresult when probe is failed in 3.0beta5
	ResultPhaseCompletedWithError ResultPhase = "Completed_With_Error"
	// ResultPhaseCompletedWithProbeFailure is phase of chaosresult when probe is failed from 3.0beta6
	ResultPhaseCompletedWithProbeFailure ResultPhase = "Completed_With_Probe_Failure"
	// ResultPhaseStopped is phase of chaosresult which is in stopped state
	ResultPhaseStopped ResultPhase = "Stopped"
	// ResultPhaseError is phase of chaosresult, which indicates that the experiment is terminated due to an error
	ResultPhaseError ResultPhase = "Error"
)

type ResultVerdict

type ResultVerdict string

ResultVerdict is typecasted to string for supporting the values below.

const (
	// ResultVerdictPassed is verdict of chaosresult when experiment passed
	ResultVerdictPassed ResultVerdict = "Pass"
	// ResultVerdictFailed is verdict of chaosresult when experiment failed
	ResultVerdictFailed ResultVerdict = "Fail"
	// ResultVerdictStopped is verdict of chaosresult when experiment aborted
	ResultVerdictStopped ResultVerdict = "Stopped"
	// ResultVerdictAwaited is verdict of chaosresult when experiment is yet to evaluated(experiment is in running state)
	ResultVerdictAwaited ResultVerdict = "Awaited"
	// ResultVerdictError is verdict of chaosresult when experiment is completed because of an error
	ResultVerdictError ResultVerdict = "Error"
)

type RunProperty

type RunProperty struct {
	//ProbeTimeout contains timeout for the probe
	ProbeTimeout string `json:"probeTimeout"`
	// Interval contains the interval for the probe
	Interval string `json:"interval"`
	// Retry contains the retry count for the probe
	Retry int `json:"retry,omitempty"`
	// Attempt contains the total attempt count for the probe
	Attempt int `json:"attempt,omitempty"`
	//ProbePollingInterval contains time interval, for which continuous probe should be sleep
	// after each iteration
	ProbePollingInterval string `json:"probePollingInterval,omitempty"`
	//InitialDelaySeconds time interval for which probe will wait before run
	InitialDelaySeconds int `json:"initialDelaySeconds,omitempty"`
	//InitialDelay time interval for which probe will wait before run
	InitialDelay string `json:"initialDelay,omitempty"`
	// EvaluationTimeout is the timeout window in which the SLO metrics
	// will be fetched and will be evaluated
	EvaluationTimeout string `json:"evaluationTimeout,omitempty"`
	// Verbosity contains flags for type of logging while running the Continuous and onChaos Probes
	Verbosity string `json:"verbosity,omitempty"`
	// StopOnFailure contains flag to stop/continue experiment execution, if probe fails
	// it will stop the experiment execution, if provided true
	// it will continue the experiment execution, if provided false or not provided(default case)
	StopOnFailure bool `json:"stopOnFailure,omitempty"`
}

RunProperty contains timeout, retry and interval for the probe

func (*RunProperty) DeepCopy

func (in *RunProperty) DeepCopy() *RunProperty

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

func (*RunProperty) DeepCopyInto

func (in *RunProperty) DeepCopyInto(out *RunProperty)

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

type RunnerInfo

type RunnerInfo struct {
	//Image of the runner pod
	Image string `json:"image,omitempty"`
	//Type of runner
	Type string `json:"type,omitempty"`
	//Args of runner
	Args []string `json:"args,omitempty"`
	//Command for runner
	Command []string `json:"command,omitempty"`
	//ImagePullPolicy for runner pod
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
	//ImagePullSecrets for runner pod
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	// Runner Annotations that needs to be provided in the pod for pod that is getting created
	RunnerAnnotation map[string]string `json:"runnerAnnotations,omitempty"`
	// RunnerLabels labels for the runner pod
	RunnerLabels map[string]string `json:"runnerLabels,omitempty"`
	// NodeSelector for runner pod
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// ConfigMaps for runner pod
	ConfigMaps []ConfigMap `json:"configMaps,omitempty"`
	// Secrets for runner pod
	Secrets []Secret `json:"secrets,omitempty"`
	// Tolerations for runner pod
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// Resource requirements for the runner pod
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

RunnerInfo defines the information of the runnerinfo pod

func (*RunnerInfo) DeepCopy

func (in *RunnerInfo) DeepCopy() *RunnerInfo

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

func (*RunnerInfo) DeepCopyInto

func (in *RunnerInfo) DeepCopyInto(out *RunnerInfo)

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

type SLOProbeInputs

type SLOProbeInputs struct {
	// PlatformEndpoint for the monitoring service endpoint
	PlatformEndpoint string `json:"platformEndpoint"`
	// SLOIdentifier for fetching the details of the SLO
	SLOIdentifier string `json:"sloIdentifier"`
	// InsecureSkipVerify flag to skip certificate checks
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
	// EvaluationWindow is the time period for which the metrics will be evaluated
	EvaluationWindow *EvaluationWindow `json:"evaluationWindow,omitempty"`
	// SLOSourceMetadata consists of required metadata details to fetch metric data
	SLOSourceMetadata SLOSourceMetadata `json:"sloSourceMetadata"`
	// Comparator check for the correctness of the probe output
	Comparator ComparatorInfo `json:"comparator"`
}

SLOProbeInputs contains all the inputs required for SLO probe

func (*SLOProbeInputs) DeepCopy

func (in *SLOProbeInputs) DeepCopy() *SLOProbeInputs

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

func (*SLOProbeInputs) DeepCopyInto

func (in *SLOProbeInputs) DeepCopyInto(out *SLOProbeInputs)

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

type SLOSourceMetadata

type SLOSourceMetadata struct {
	// APITokenSecret for authenticating with the platform service
	APITokenSecret string `json:"apiTokenSecret"`
	// Scope required for fetching details
	Scope Identifier `json:"scope"`
}

func (*SLOSourceMetadata) DeepCopy

func (in *SLOSourceMetadata) DeepCopy() *SLOSourceMetadata

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

func (*SLOSourceMetadata) DeepCopyInto

func (in *SLOSourceMetadata) DeepCopyInto(out *SLOSourceMetadata)

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

type Secret

type Secret struct {
	Name      string `json:"name"`
	MountPath string `json:"mountPath"`
}

Secret is an simpler implementation of corev1.Secret

func (*Secret) DeepCopy

func (in *Secret) DeepCopy() *Secret

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

func (*Secret) DeepCopyInto

func (in *Secret) DeepCopyInto(out *Secret)

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

type SecurityContext

type SecurityContext struct {
	// PodSecurityContext holds security configuration that will be applied to a pod
	PodSecurityContext corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
	// ContainerSecurityContext holds security configuration that will be applied to a container
	ContainerSecurityContext corev1.SecurityContext `json:"containerSecurityContext,omitempty"`
}

SecurityContext defines the security contexts of the pod and container.

func (*SecurityContext) DeepCopy

func (in *SecurityContext) DeepCopy() *SecurityContext

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

func (*SecurityContext) DeepCopyInto

func (in *SecurityContext) DeepCopyInto(out *SecurityContext)

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

type Selector

type Selector struct {
	Workloads []Workload `json:"workloads,omitempty"`
	Pods      []Pod      `json:"pods,omitempty"`
}

func (*Selector) DeepCopy

func (in *Selector) DeepCopy() *Selector

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

func (*Selector) DeepCopyInto

func (in *Selector) DeepCopyInto(out *Selector)

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

type Sidecar

type Sidecar struct {
	//Image of the sidecar container
	Image string `json:"image"`
	//ImagePullPolicy of the sidecar container
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// Secrets for the sidecar container
	Secrets []Secret `json:"secrets,omitempty"`
	// EnvFrom for the sidecar container
	EnvFrom []corev1.EnvFromSource `json:"envFrom"`
	// ENV contains ENV passed to the sidecar container
	ENV []corev1.EnvVar `json:"env,omitempty"`
}

func (*Sidecar) DeepCopy

func (in *Sidecar) DeepCopy() *Sidecar

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

func (*Sidecar) DeepCopyInto

func (in *Sidecar) DeepCopyInto(out *Sidecar)

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

type SourceDetails

type SourceDetails struct {
	// Image for the source pod
	Image string `json:"image"`
	// HostNetwork define the hostNetwork of the external pod
	// it supports boolean values and default value is false
	HostNetwork bool `json:"hostNetwork,omitempty"`
	// InheritInputs defined to inherit experiment pod attributes(ENV, volumes, and volumeMounts) into probe pod
	// it supports boolean values and default value is false
	InheritInputs bool `json:"inheritInputs,omitempty"`
	// Args for the source pod
	Args []string `json:"args,omitempty"`
	// ENVList contains ENV passed to the source pod
	ENVList []corev1.EnvVar `json:"env,omitempty"`
	// Labels for the source pod
	Labels map[string]string `json:"labels,omitempty"`
	// Annotations for the source pod
	Annotations map[string]string `json:"annotations,omitempty"`
	// Command for the source pod
	Command []string `json:"command,omitempty"`
	// ImagePullPolicy for the source pod
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// Privileged for the source pod
	Privileged bool `json:"privileged,omitempty"`
	// NodeSelector for the source pod
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// Tolerations for the source pod
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// Volumes for the source pod
	Volumes []corev1.Volume `json:"volumes,omitempty"`
	// VolumesMount for the source pod
	VolumesMount []corev1.VolumeMount `json:"volumeMount,omitempty"`
	//ImagePullSecrets for source pod
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
}

SourceDetails contains source details of the cmdProbe

func (*SourceDetails) DeepCopy

func (in *SourceDetails) DeepCopy() *SourceDetails

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

func (*SourceDetails) DeepCopyInto

func (in *SourceDetails) DeepCopyInto(out *SourceDetails)

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

type StatusCheckTimeout

type StatusCheckTimeout struct {
	Delay   int `json:"delay,omitempty"`
	Timeout int `json:"timeout,omitempty"`
}

StatusCheckTimeout contains Delay and timeouts for the status checks

func (*StatusCheckTimeout) DeepCopy

func (in *StatusCheckTimeout) DeepCopy() *StatusCheckTimeout

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

func (*StatusCheckTimeout) DeepCopyInto

func (in *StatusCheckTimeout) DeepCopyInto(out *StatusCheckTimeout)

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

type TargetDetails

type TargetDetails struct {
	Name        string `json:"name,omitempty"`
	Kind        string `json:"kind,omitempty"`
	ChaosStatus string `json:"chaosStatus,omitempty"`
}

TargetDetails contains target details for the experiment and the chaos status

func (*TargetDetails) DeepCopy

func (in *TargetDetails) DeepCopy() *TargetDetails

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

func (*TargetDetails) DeepCopyInto

func (in *TargetDetails) DeepCopyInto(out *TargetDetails)

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

type TestStatus

type TestStatus struct {
	// Phase defines whether an experiment is running or completed
	Phase ResultPhase `json:"phase"`
	// Verdict defines whether an experiment result is pass or fail
	Verdict ResultVerdict `json:"verdict"`
	// ErrorOutput defines error message and error code
	ErrorOutput *ErrorOutput `json:"errorOutput,omitempty"`
	// ProbeSuccessPercentage defines the score of the probes
	ProbeSuccessPercentage string `json:"probeSuccessPercentage,omitempty"`
}

TestStatus defines information about the status and results of a chaos experiment

func (*TestStatus) DeepCopy

func (in *TestStatus) DeepCopy() *TestStatus

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

func (*TestStatus) DeepCopyInto

func (in *TestStatus) DeepCopyInto(out *TestStatus)

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

type Workload

type Workload struct {
	Kind      WorkloadKind `json:"kind"`
	Namespace string       `json:"namespace"`
	Names     string       `json:"names,omitempty"`
	Labels    string       `json:"labels,omitempty"`
}

func (*Workload) DeepCopy

func (in *Workload) DeepCopy() *Workload

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

func (*Workload) DeepCopyInto

func (in *Workload) DeepCopyInto(out *Workload)

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

type WorkloadKind

type WorkloadKind string
const (
	WorkloadDeployment       WorkloadKind = "deployment"
	WorkloadStatefulSet      WorkloadKind = "statefulset"
	WorkloadDaemonSet        WorkloadKind = "daemonSet"
	WorkloadDeploymentConfig WorkloadKind = "deploymentconfig"
	WorkloadRollout          WorkloadKind = "rollout"
)

Jump to

Keyboard shortcuts

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