v1alpha1

package
v1.12.2 Latest Latest
Warning

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

Go to latest
Published: Jun 4, 2021 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

+k8s:conversion-gen=github.com/thestormforge/optimize-controller/api/v1beta1

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

Index

Constants

View Source
const (
	// LegacyHostnamePlaceholder is a special hostname (that should never, ever occur in practice) used to mark
	// URLs which have been generated from legacy `Service` selectors. When the controller encounters this hostname
	// it should be replaced by the resolved service's cluster IP address (if applicable) or name.
	LegacyHostnamePlaceholder = "redskyops.dev"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "redskyops.dev", Version: "v1alpha1"}

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

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

Functions

func Convert_v1alpha1_Assignment_To_v1beta1_Assignment

func Convert_v1alpha1_Assignment_To_v1beta1_Assignment(in *Assignment, out *v1beta1.Assignment, s conversion.Scope) error

Convert_v1alpha1_Assignment_To_v1beta1_Assignment is an autogenerated conversion function.

func Convert_v1alpha1_ConfigMapHelmValuesFromSource_To_v1beta1_ConfigMapHelmValuesFromSource

func Convert_v1alpha1_ConfigMapHelmValuesFromSource_To_v1beta1_ConfigMapHelmValuesFromSource(in *ConfigMapHelmValuesFromSource, out *v1beta1.ConfigMapHelmValuesFromSource, s conversion.Scope) error

Convert_v1alpha1_ConfigMapHelmValuesFromSource_To_v1beta1_ConfigMapHelmValuesFromSource is an autogenerated conversion function.

func Convert_v1alpha1_Constraint_To_v1beta1_Constraint

func Convert_v1alpha1_Constraint_To_v1beta1_Constraint(in *Constraint, out *v1beta1.Constraint, s conversion.Scope) error

Convert_v1alpha1_Constraint_To_v1beta1_Constraint is an autogenerated conversion function.

func Convert_v1alpha1_ExperimentCondition_To_v1beta1_ExperimentCondition

func Convert_v1alpha1_ExperimentCondition_To_v1beta1_ExperimentCondition(in *ExperimentCondition, out *v1beta1.ExperimentCondition, s conversion.Scope) error

Convert_v1alpha1_ExperimentCondition_To_v1beta1_ExperimentCondition is an autogenerated conversion function.

func Convert_v1alpha1_ExperimentList_To_v1beta1_ExperimentList

func Convert_v1alpha1_ExperimentList_To_v1beta1_ExperimentList(in *ExperimentList, out *v1beta1.ExperimentList, s conversion.Scope) error

Convert_v1alpha1_ExperimentList_To_v1beta1_ExperimentList is an autogenerated conversion function.

func Convert_v1alpha1_ExperimentSpec_To_v1beta1_ExperimentSpec

func Convert_v1alpha1_ExperimentSpec_To_v1beta1_ExperimentSpec(in *ExperimentSpec, out *v1beta1.ExperimentSpec, s conversion.Scope) error

func Convert_v1alpha1_ExperimentStatus_To_v1beta1_ExperimentStatus

func Convert_v1alpha1_ExperimentStatus_To_v1beta1_ExperimentStatus(in *ExperimentStatus, out *v1beta1.ExperimentStatus, s conversion.Scope) error

Convert_v1alpha1_ExperimentStatus_To_v1beta1_ExperimentStatus is an autogenerated conversion function.

func Convert_v1alpha1_Experiment_To_v1beta1_Experiment

func Convert_v1alpha1_Experiment_To_v1beta1_Experiment(in *Experiment, out *v1beta1.Experiment, s conversion.Scope) error

Convert_v1alpha1_Experiment_To_v1beta1_Experiment is an autogenerated conversion function.

func Convert_v1alpha1_HelmValueSource_To_v1beta1_HelmValueSource

func Convert_v1alpha1_HelmValueSource_To_v1beta1_HelmValueSource(in *HelmValueSource, out *v1beta1.HelmValueSource, s conversion.Scope) error

Convert_v1alpha1_HelmValueSource_To_v1beta1_HelmValueSource is an autogenerated conversion function.

func Convert_v1alpha1_HelmValue_To_v1beta1_HelmValue

func Convert_v1alpha1_HelmValue_To_v1beta1_HelmValue(in *HelmValue, out *v1beta1.HelmValue, s conversion.Scope) error

Convert_v1alpha1_HelmValue_To_v1beta1_HelmValue is an autogenerated conversion function.

func Convert_v1alpha1_HelmValuesFromSource_To_v1beta1_HelmValuesFromSource

func Convert_v1alpha1_HelmValuesFromSource_To_v1beta1_HelmValuesFromSource(in *HelmValuesFromSource, out *v1beta1.HelmValuesFromSource, s conversion.Scope) error

Convert_v1alpha1_HelmValuesFromSource_To_v1beta1_HelmValuesFromSource is an autogenerated conversion function.

func Convert_v1alpha1_Metric_To_v1beta1_Metric

func Convert_v1alpha1_Metric_To_v1beta1_Metric(in *Metric, out *v1beta1.Metric, s conversion.Scope) error

func Convert_v1alpha1_NamespaceTemplateSpec_To_v1beta1_NamespaceTemplateSpec

func Convert_v1alpha1_NamespaceTemplateSpec_To_v1beta1_NamespaceTemplateSpec(in *NamespaceTemplateSpec, out *v1beta1.NamespaceTemplateSpec, s conversion.Scope) error

Convert_v1alpha1_NamespaceTemplateSpec_To_v1beta1_NamespaceTemplateSpec is an autogenerated conversion function.

func Convert_v1alpha1_Optimization_To_v1beta1_Optimization

func Convert_v1alpha1_Optimization_To_v1beta1_Optimization(in *Optimization, out *v1beta1.Optimization, s conversion.Scope) error

Convert_v1alpha1_Optimization_To_v1beta1_Optimization is an autogenerated conversion function.

func Convert_v1alpha1_OrderConstraint_To_v1beta1_OrderConstraint

func Convert_v1alpha1_OrderConstraint_To_v1beta1_OrderConstraint(in *OrderConstraint, out *v1beta1.OrderConstraint, s conversion.Scope) error

Convert_v1alpha1_OrderConstraint_To_v1beta1_OrderConstraint is an autogenerated conversion function.

func Convert_v1alpha1_ParameterSelector_To_v1beta1_ParameterSelector

func Convert_v1alpha1_ParameterSelector_To_v1beta1_ParameterSelector(in *ParameterSelector, out *v1beta1.ParameterSelector, s conversion.Scope) error

Convert_v1alpha1_ParameterSelector_To_v1beta1_ParameterSelector is an autogenerated conversion function.

func Convert_v1alpha1_Parameter_To_v1beta1_Parameter

func Convert_v1alpha1_Parameter_To_v1beta1_Parameter(in *Parameter, out *v1beta1.Parameter, s conversion.Scope) error

func Convert_v1alpha1_PatchOperation_To_v1beta1_PatchOperation

func Convert_v1alpha1_PatchOperation_To_v1beta1_PatchOperation(in *PatchOperation, out *v1beta1.PatchOperation, s conversion.Scope) error

Convert_v1alpha1_PatchOperation_To_v1beta1_PatchOperation is an autogenerated conversion function.

func Convert_v1alpha1_PatchReadinessGate_To_v1beta1_PatchReadinessGate

func Convert_v1alpha1_PatchReadinessGate_To_v1beta1_PatchReadinessGate(in *PatchReadinessGate, out *v1beta1.PatchReadinessGate, s conversion.Scope) error

Convert_v1alpha1_PatchReadinessGate_To_v1beta1_PatchReadinessGate is an autogenerated conversion function.

func Convert_v1alpha1_PatchTemplate_To_v1beta1_PatchTemplate

func Convert_v1alpha1_PatchTemplate_To_v1beta1_PatchTemplate(in *PatchTemplate, out *v1beta1.PatchTemplate, s conversion.Scope) error

Convert_v1alpha1_PatchTemplate_To_v1beta1_PatchTemplate is an autogenerated conversion function.

func Convert_v1alpha1_ReadinessCheck_To_v1beta1_ReadinessCheck

func Convert_v1alpha1_ReadinessCheck_To_v1beta1_ReadinessCheck(in *ReadinessCheck, out *v1beta1.ReadinessCheck, s conversion.Scope) error

Convert_v1alpha1_ReadinessCheck_To_v1beta1_ReadinessCheck is an autogenerated conversion function.

func Convert_v1alpha1_SetupTask_To_v1beta1_SetupTask

func Convert_v1alpha1_SetupTask_To_v1beta1_SetupTask(in *SetupTask, out *v1beta1.SetupTask, s conversion.Scope) error

Convert_v1alpha1_SetupTask_To_v1beta1_SetupTask is an autogenerated conversion function.

func Convert_v1alpha1_SumConstraintParameter_To_v1beta1_SumConstraintParameter

func Convert_v1alpha1_SumConstraintParameter_To_v1beta1_SumConstraintParameter(in *SumConstraintParameter, out *v1beta1.SumConstraintParameter, s conversion.Scope) error

Convert_v1alpha1_SumConstraintParameter_To_v1beta1_SumConstraintParameter is an autogenerated conversion function.

func Convert_v1alpha1_SumConstraint_To_v1beta1_SumConstraint

func Convert_v1alpha1_SumConstraint_To_v1beta1_SumConstraint(in *SumConstraint, out *v1beta1.SumConstraint, s conversion.Scope) error

Convert_v1alpha1_SumConstraint_To_v1beta1_SumConstraint is an autogenerated conversion function.

func Convert_v1alpha1_TrialCondition_To_v1beta1_TrialCondition

func Convert_v1alpha1_TrialCondition_To_v1beta1_TrialCondition(in *TrialCondition, out *v1beta1.TrialCondition, s conversion.Scope) error

Convert_v1alpha1_TrialCondition_To_v1beta1_TrialCondition is an autogenerated conversion function.

func Convert_v1alpha1_TrialList_To_v1beta1_TrialList

func Convert_v1alpha1_TrialList_To_v1beta1_TrialList(in *TrialList, out *v1beta1.TrialList, s conversion.Scope) error

Convert_v1alpha1_TrialList_To_v1beta1_TrialList is an autogenerated conversion function.

func Convert_v1alpha1_TrialReadinessGate_To_v1beta1_TrialReadinessGate

func Convert_v1alpha1_TrialReadinessGate_To_v1beta1_TrialReadinessGate(in *TrialReadinessGate, out *v1beta1.TrialReadinessGate, s conversion.Scope) error

Convert_v1alpha1_TrialReadinessGate_To_v1beta1_TrialReadinessGate is an autogenerated conversion function.

func Convert_v1alpha1_TrialSpec_To_v1beta1_TrialSpec

func Convert_v1alpha1_TrialSpec_To_v1beta1_TrialSpec(in *TrialSpec, out *v1beta1.TrialSpec, s conversion.Scope) error

func Convert_v1alpha1_TrialStatus_To_v1beta1_TrialStatus

func Convert_v1alpha1_TrialStatus_To_v1beta1_TrialStatus(in *TrialStatus, out *v1beta1.TrialStatus, s conversion.Scope) error

Convert_v1alpha1_TrialStatus_To_v1beta1_TrialStatus is an autogenerated conversion function.

func Convert_v1alpha1_TrialTemplateSpec_To_v1beta1_TrialTemplateSpec

func Convert_v1alpha1_TrialTemplateSpec_To_v1beta1_TrialTemplateSpec(in *TrialTemplateSpec, out *v1beta1.TrialTemplateSpec, s conversion.Scope) error

Convert_v1alpha1_TrialTemplateSpec_To_v1beta1_TrialTemplateSpec is an autogenerated conversion function.

func Convert_v1alpha1_Trial_To_v1beta1_Trial

func Convert_v1alpha1_Trial_To_v1beta1_Trial(in *Trial, out *v1beta1.Trial, s conversion.Scope) error

func Convert_v1alpha1_Value_To_v1beta1_Value

func Convert_v1alpha1_Value_To_v1beta1_Value(in *Value, out *v1beta1.Value, s conversion.Scope) error

Convert_v1alpha1_Value_To_v1beta1_Value is an autogenerated conversion function.

func Convert_v1beta1_Assignment_To_v1alpha1_Assignment

func Convert_v1beta1_Assignment_To_v1alpha1_Assignment(in *v1beta1.Assignment, out *Assignment, s conversion.Scope) error

Convert_v1beta1_Assignment_To_v1alpha1_Assignment is an autogenerated conversion function.

func Convert_v1beta1_ConfigMapHelmValuesFromSource_To_v1alpha1_ConfigMapHelmValuesFromSource

func Convert_v1beta1_ConfigMapHelmValuesFromSource_To_v1alpha1_ConfigMapHelmValuesFromSource(in *v1beta1.ConfigMapHelmValuesFromSource, out *ConfigMapHelmValuesFromSource, s conversion.Scope) error

Convert_v1beta1_ConfigMapHelmValuesFromSource_To_v1alpha1_ConfigMapHelmValuesFromSource is an autogenerated conversion function.

func Convert_v1beta1_Constraint_To_v1alpha1_Constraint

func Convert_v1beta1_Constraint_To_v1alpha1_Constraint(in *v1beta1.Constraint, out *Constraint, s conversion.Scope) error

Convert_v1beta1_Constraint_To_v1alpha1_Constraint is an autogenerated conversion function.

func Convert_v1beta1_ExperimentCondition_To_v1alpha1_ExperimentCondition

func Convert_v1beta1_ExperimentCondition_To_v1alpha1_ExperimentCondition(in *v1beta1.ExperimentCondition, out *ExperimentCondition, s conversion.Scope) error

Convert_v1beta1_ExperimentCondition_To_v1alpha1_ExperimentCondition is an autogenerated conversion function.

func Convert_v1beta1_ExperimentList_To_v1alpha1_ExperimentList

func Convert_v1beta1_ExperimentList_To_v1alpha1_ExperimentList(in *v1beta1.ExperimentList, out *ExperimentList, s conversion.Scope) error

Convert_v1beta1_ExperimentList_To_v1alpha1_ExperimentList is an autogenerated conversion function.

func Convert_v1beta1_ExperimentSpec_To_v1alpha1_ExperimentSpec

func Convert_v1beta1_ExperimentSpec_To_v1alpha1_ExperimentSpec(in *v1beta1.ExperimentSpec, out *ExperimentSpec, s conversion.Scope) error

func Convert_v1beta1_ExperimentStatus_To_v1alpha1_ExperimentStatus

func Convert_v1beta1_ExperimentStatus_To_v1alpha1_ExperimentStatus(in *v1beta1.ExperimentStatus, out *ExperimentStatus, s conversion.Scope) error

Convert_v1beta1_ExperimentStatus_To_v1alpha1_ExperimentStatus is an autogenerated conversion function.

func Convert_v1beta1_Experiment_To_v1alpha1_Experiment

func Convert_v1beta1_Experiment_To_v1alpha1_Experiment(in *v1beta1.Experiment, out *Experiment, s conversion.Scope) error

Convert_v1beta1_Experiment_To_v1alpha1_Experiment is an autogenerated conversion function.

func Convert_v1beta1_HelmValueSource_To_v1alpha1_HelmValueSource

func Convert_v1beta1_HelmValueSource_To_v1alpha1_HelmValueSource(in *v1beta1.HelmValueSource, out *HelmValueSource, s conversion.Scope) error

Convert_v1beta1_HelmValueSource_To_v1alpha1_HelmValueSource is an autogenerated conversion function.

func Convert_v1beta1_HelmValue_To_v1alpha1_HelmValue

func Convert_v1beta1_HelmValue_To_v1alpha1_HelmValue(in *v1beta1.HelmValue, out *HelmValue, s conversion.Scope) error

Convert_v1beta1_HelmValue_To_v1alpha1_HelmValue is an autogenerated conversion function.

func Convert_v1beta1_HelmValuesFromSource_To_v1alpha1_HelmValuesFromSource

func Convert_v1beta1_HelmValuesFromSource_To_v1alpha1_HelmValuesFromSource(in *v1beta1.HelmValuesFromSource, out *HelmValuesFromSource, s conversion.Scope) error

Convert_v1beta1_HelmValuesFromSource_To_v1alpha1_HelmValuesFromSource is an autogenerated conversion function.

func Convert_v1beta1_Metric_To_v1alpha1_Metric

func Convert_v1beta1_Metric_To_v1alpha1_Metric(in *v1beta1.Metric, out *Metric, s conversion.Scope) error

func Convert_v1beta1_NamespaceTemplateSpec_To_v1alpha1_NamespaceTemplateSpec

func Convert_v1beta1_NamespaceTemplateSpec_To_v1alpha1_NamespaceTemplateSpec(in *v1beta1.NamespaceTemplateSpec, out *NamespaceTemplateSpec, s conversion.Scope) error

Convert_v1beta1_NamespaceTemplateSpec_To_v1alpha1_NamespaceTemplateSpec is an autogenerated conversion function.

func Convert_v1beta1_Optimization_To_v1alpha1_Optimization

func Convert_v1beta1_Optimization_To_v1alpha1_Optimization(in *v1beta1.Optimization, out *Optimization, s conversion.Scope) error

Convert_v1beta1_Optimization_To_v1alpha1_Optimization is an autogenerated conversion function.

func Convert_v1beta1_OrderConstraint_To_v1alpha1_OrderConstraint

func Convert_v1beta1_OrderConstraint_To_v1alpha1_OrderConstraint(in *v1beta1.OrderConstraint, out *OrderConstraint, s conversion.Scope) error

Convert_v1beta1_OrderConstraint_To_v1alpha1_OrderConstraint is an autogenerated conversion function.

func Convert_v1beta1_ParameterSelector_To_v1alpha1_ParameterSelector

func Convert_v1beta1_ParameterSelector_To_v1alpha1_ParameterSelector(in *v1beta1.ParameterSelector, out *ParameterSelector, s conversion.Scope) error

Convert_v1beta1_ParameterSelector_To_v1alpha1_ParameterSelector is an autogenerated conversion function.

func Convert_v1beta1_Parameter_To_v1alpha1_Parameter

func Convert_v1beta1_Parameter_To_v1alpha1_Parameter(in *v1beta1.Parameter, out *Parameter, s conversion.Scope) error

func Convert_v1beta1_PatchOperation_To_v1alpha1_PatchOperation

func Convert_v1beta1_PatchOperation_To_v1alpha1_PatchOperation(in *v1beta1.PatchOperation, out *PatchOperation, s conversion.Scope) error

Convert_v1beta1_PatchOperation_To_v1alpha1_PatchOperation is an autogenerated conversion function.

func Convert_v1beta1_PatchReadinessGate_To_v1alpha1_PatchReadinessGate

func Convert_v1beta1_PatchReadinessGate_To_v1alpha1_PatchReadinessGate(in *v1beta1.PatchReadinessGate, out *PatchReadinessGate, s conversion.Scope) error

Convert_v1beta1_PatchReadinessGate_To_v1alpha1_PatchReadinessGate is an autogenerated conversion function.

func Convert_v1beta1_PatchTemplate_To_v1alpha1_PatchTemplate

func Convert_v1beta1_PatchTemplate_To_v1alpha1_PatchTemplate(in *v1beta1.PatchTemplate, out *PatchTemplate, s conversion.Scope) error

Convert_v1beta1_PatchTemplate_To_v1alpha1_PatchTemplate is an autogenerated conversion function.

func Convert_v1beta1_ReadinessCheck_To_v1alpha1_ReadinessCheck

func Convert_v1beta1_ReadinessCheck_To_v1alpha1_ReadinessCheck(in *v1beta1.ReadinessCheck, out *ReadinessCheck, s conversion.Scope) error

Convert_v1beta1_ReadinessCheck_To_v1alpha1_ReadinessCheck is an autogenerated conversion function.

func Convert_v1beta1_SetupTask_To_v1alpha1_SetupTask

func Convert_v1beta1_SetupTask_To_v1alpha1_SetupTask(in *v1beta1.SetupTask, out *SetupTask, s conversion.Scope) error

Convert_v1beta1_SetupTask_To_v1alpha1_SetupTask is an autogenerated conversion function.

func Convert_v1beta1_SumConstraintParameter_To_v1alpha1_SumConstraintParameter

func Convert_v1beta1_SumConstraintParameter_To_v1alpha1_SumConstraintParameter(in *v1beta1.SumConstraintParameter, out *SumConstraintParameter, s conversion.Scope) error

Convert_v1beta1_SumConstraintParameter_To_v1alpha1_SumConstraintParameter is an autogenerated conversion function.

func Convert_v1beta1_SumConstraint_To_v1alpha1_SumConstraint

func Convert_v1beta1_SumConstraint_To_v1alpha1_SumConstraint(in *v1beta1.SumConstraint, out *SumConstraint, s conversion.Scope) error

Convert_v1beta1_SumConstraint_To_v1alpha1_SumConstraint is an autogenerated conversion function.

func Convert_v1beta1_TrialCondition_To_v1alpha1_TrialCondition

func Convert_v1beta1_TrialCondition_To_v1alpha1_TrialCondition(in *v1beta1.TrialCondition, out *TrialCondition, s conversion.Scope) error

Convert_v1beta1_TrialCondition_To_v1alpha1_TrialCondition is an autogenerated conversion function.

func Convert_v1beta1_TrialList_To_v1alpha1_TrialList

func Convert_v1beta1_TrialList_To_v1alpha1_TrialList(in *v1beta1.TrialList, out *TrialList, s conversion.Scope) error

Convert_v1beta1_TrialList_To_v1alpha1_TrialList is an autogenerated conversion function.

func Convert_v1beta1_TrialReadinessGate_To_v1alpha1_TrialReadinessGate

func Convert_v1beta1_TrialReadinessGate_To_v1alpha1_TrialReadinessGate(in *v1beta1.TrialReadinessGate, out *TrialReadinessGate, s conversion.Scope) error

Convert_v1beta1_TrialReadinessGate_To_v1alpha1_TrialReadinessGate is an autogenerated conversion function.

func Convert_v1beta1_TrialSpec_To_v1alpha1_TrialSpec

func Convert_v1beta1_TrialSpec_To_v1alpha1_TrialSpec(in *v1beta1.TrialSpec, out *TrialSpec, s conversion.Scope) error

func Convert_v1beta1_TrialStatus_To_v1alpha1_TrialStatus

func Convert_v1beta1_TrialStatus_To_v1alpha1_TrialStatus(in *v1beta1.TrialStatus, out *TrialStatus, s conversion.Scope) error

func Convert_v1beta1_TrialTemplateSpec_To_v1alpha1_TrialTemplateSpec

func Convert_v1beta1_TrialTemplateSpec_To_v1alpha1_TrialTemplateSpec(in *v1beta1.TrialTemplateSpec, out *TrialTemplateSpec, s conversion.Scope) error

Convert_v1beta1_TrialTemplateSpec_To_v1alpha1_TrialTemplateSpec is an autogenerated conversion function.

func Convert_v1beta1_Trial_To_v1alpha1_Trial

func Convert_v1beta1_Trial_To_v1alpha1_Trial(in *v1beta1.Trial, out *Trial, s conversion.Scope) error

func Convert_v1beta1_Value_To_v1alpha1_Value

func Convert_v1beta1_Value_To_v1alpha1_Value(in *v1beta1.Value, out *Value, s conversion.Scope) error

Convert_v1beta1_Value_To_v1alpha1_Value is an autogenerated conversion function.

func RegisterConversions

func RegisterConversions(s *runtime.Scheme) error

RegisterConversions adds conversion functions to the given scheme. Public to allow building arbitrary schemes.

Types

type Assignment

type Assignment struct {
	// Name of the parameter being assigned
	Name string `json:"name"`
	// Value of the assignment
	Value intstr.IntOrString `json:"value"`
}

Assignment represents an individual name/value pair. Assignment names must correspond to parameter names on the associated experiment.

func (*Assignment) DeepCopy

func (in *Assignment) DeepCopy() *Assignment

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

func (*Assignment) DeepCopyInto

func (in *Assignment) DeepCopyInto(out *Assignment)

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

type ConfigMapHelmValuesFromSource

type ConfigMapHelmValuesFromSource struct {
	corev1.LocalObjectReference `json:",inline"`
}

ConfigMapHelmValuesFromSource is a reference to a ConfigMap that contains "*values.yaml" keys TODO How do document the side effect of things like patches in the ConfigMap also being applied?

func (*ConfigMapHelmValuesFromSource) DeepCopy

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

func (*ConfigMapHelmValuesFromSource) DeepCopyInto

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

type Constraint

type Constraint struct {
	// The optional name of the constraint
	Name string `json:"name,omitempty"`
	// The ordering constraint to impose
	Order *OrderConstraint `json:"order,omitempty"`
	// The sum constraint to impose
	Sum *SumConstraint `json:"sum,omitempty"`
}

Constraint represents a constraint to the domain of the parameters

func (*Constraint) DeepCopy

func (in *Constraint) DeepCopy() *Constraint

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

func (*Constraint) DeepCopyInto

func (in *Constraint) DeepCopyInto(out *Constraint)

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

type Experiment

type Experiment struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior for an experiment
	Spec ExperimentSpec `json:"spec,omitempty"`
	// Current status of an experiment
	Status ExperimentStatus `json:"status,omitempty"`
}

Experiment is the Schema for the experiments API +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="Experiment status"

func (*Experiment) ConvertFrom

func (in *Experiment) ConvertFrom(hub conv.Hub) error

func (*Experiment) ConvertTo

func (in *Experiment) ConvertTo(hub conv.Hub) error

func (*Experiment) DeepCopy

func (in *Experiment) DeepCopy() *Experiment

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

func (*Experiment) DeepCopyInto

func (in *Experiment) DeepCopyInto(out *Experiment)

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

func (*Experiment) DeepCopyObject

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

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

type ExperimentCondition

type ExperimentCondition struct {
	// The condition type
	Type ExperimentConditionType `json:"type"`
	// The status of the condition, one of "True", "False", or "Unknown
	Status corev1.ConditionStatus `json:"status"`
	// The last known time the condition was checked
	LastProbeTime metav1.Time `json:"lastProbeTime"`
	// The time at which the condition last changed status
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`
	// A reason code describing the why the condition occurred
	Reason string `json:"reason,omitempty"`
	// A human readable message describing the transition
	Message string `json:"message,omitempty"`
}

ExperimentCondition represents an observed condition of an experiment

func (*ExperimentCondition) DeepCopy

func (in *ExperimentCondition) DeepCopy() *ExperimentCondition

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

func (*ExperimentCondition) DeepCopyInto

func (in *ExperimentCondition) DeepCopyInto(out *ExperimentCondition)

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

type ExperimentConditionType

type ExperimentConditionType string

ExperimentConditionType represents the possible observable conditions for an experiment

type ExperimentList

type ExperimentList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard list metadata
	metav1.ListMeta `json:"metadata,omitempty"`
	// The list of experiments
	Items []Experiment `json:"items"`
}

ExperimentList contains a list of Experiment

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.

func (*ExperimentList) DeepCopyObject

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

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

type ExperimentSpec

type ExperimentSpec struct {
	// Replicas is the number of trials to execute concurrently, defaults to 1
	Replicas *int32 `json:"replicas,omitempty"`
	// Optimization defines additional configuration for the optimization
	Optimization []Optimization `json:"optimization,omitempty"`
	// Parameters defines the search space for the experiment
	Parameters []Parameter `json:"parameters"`
	// Constraints defines restrictions on the parameter domain for the experiment
	Constraints []Constraint `json:"constraints,omitempty"`
	// Metrics defines the outcomes for the experiment
	Metrics []Metric `json:"metrics"`
	// Patches is a sequence of templates written against the experiment parameters that will be used to put the
	// cluster into the desired state
	Patches []PatchTemplate `json:"patches,omitempty"`
	// NamespaceSelector is used to locate existing namespaces for trials
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
	// NamespaceTemplate can be specified to create new namespaces for trials; if specified created namespaces must be
	// matched by the namespace selector
	NamespaceTemplate *NamespaceTemplateSpec `json:"namespaceTemplate,omitempty"`
	// Selector locates trial resources that are part of this experiment
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
	// Template for creating a new trial. The resulting trial must be matched by Selector. The template can provide an
	// initial namespace, however other namespaces (matched by NamespaceSelector) will be used if the effective
	// replica count is more then one
	Template TrialTemplateSpec `json:"template,omitempty"`
}

ExperimentSpec defines the desired state of Experiment

func (*ExperimentSpec) DeepCopy

func (in *ExperimentSpec) DeepCopy() *ExperimentSpec

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

func (*ExperimentSpec) DeepCopyInto

func (in *ExperimentSpec) DeepCopyInto(out *ExperimentSpec)

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

type ExperimentStatus

type ExperimentStatus struct {
	// Phase is a brief human readable description of the experiment status
	Phase string `json:"phase"`
	// ActiveTrials is the observed number of running trials
	ActiveTrials int32 `json:"activeTrials"`
	// Conditions is the current state of the experiment
	Conditions []ExperimentCondition `json:"conditions,omitempty"`
}

ExperimentStatus defines the observed state of Experiment

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 HelmValue

type HelmValue struct {
	// The name of Helm value as passed to one of the set options
	Name string `json:"name"`
	// Force the value to be treated as a string
	ForceString bool `json:"forceString,omitempty"`
	// Set a Helm value using the evaluated template. Templates are evaluated using the same rules as patches
	Value intstr.IntOrString `json:"value,omitempty"`
	// Source for a Helm value
	ValueFrom *HelmValueSource `json:"valueFrom,omitempty"`
}

HelmValue represents a value in a Helm template

func (*HelmValue) DeepCopy

func (in *HelmValue) DeepCopy() *HelmValue

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

func (*HelmValue) DeepCopyInto

func (in *HelmValue) DeepCopyInto(out *HelmValue)

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

type HelmValueSource

type HelmValueSource struct {
	// Selects a trial parameter assignment as a Helm value
	ParameterRef *ParameterSelector `json:"parameterRef,omitempty"`
}

HelmValueSource represents a source for a Helm value

func (*HelmValueSource) DeepCopy

func (in *HelmValueSource) DeepCopy() *HelmValueSource

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

func (*HelmValueSource) DeepCopyInto

func (in *HelmValueSource) DeepCopyInto(out *HelmValueSource)

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

type HelmValuesFromSource

type HelmValuesFromSource struct {
	// The ConfigMap to select from
	ConfigMap *ConfigMapHelmValuesFromSource `json:"configMap,omitempty"`
}

HelmValuesFromSource represents a source of a values mapping

func (*HelmValuesFromSource) DeepCopy

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

func (*HelmValuesFromSource) DeepCopyInto

func (in *HelmValuesFromSource) DeepCopyInto(out *HelmValuesFromSource)

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

type Metric

type Metric struct {
	// The name of the metric
	Name string `json:"name"`
	// Indicator that the goal of the experiment is to minimize the value of this metric
	Minimize bool `json:"minimize,omitempty"`
	// The inclusive minimum allowed value for the metric
	Min *resource.Quantity `json:"min,omitempty"`
	// The inclusive maximum allowed value for the metric
	Max *resource.Quantity `json:"max,omitempty"`
	// Indicator that this metric should be optimized (default: true)
	Optimize *bool `json:"optimize,omitempty"`

	// The metric collection type, one of: local|pods|prometheus|datadog|jsonpath, default: local
	Type MetricType `json:"type,omitempty"`
	// Collection type specific query, e.g. Go template for "local", PromQL for "prometheus" or a JSON pointer expression (with curly braces) for "jsonpath"
	Query string `json:"query"`
	// Collection type specific query for the error associated with collected metric value
	ErrorQuery string `json:"errorQuery,omitempty"`

	// The scheme to use when collecting metrics
	Scheme string `json:"scheme,omitempty"`
	// Selector matching services to collect this metric from, only the first matched service to provide a value is used
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
	// The port number or name on the matched service to collect the metric value from
	Port intstr.IntOrString `json:"port,omitempty"`
	// URL path component used to collect the metric value from an endpoint (used as a prefix for the Prometheus API)
	Path string `json:"path,omitempty"`
}

Metric represents an observable outcome from a trial run

func (*Metric) DeepCopy

func (in *Metric) DeepCopy() *Metric

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

func (*Metric) DeepCopyInto

func (in *Metric) DeepCopyInto(out *Metric)

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

type MetricType

type MetricType string

MetricType represents the allowable types of metrics

type NamespaceTemplateSpec

type NamespaceTemplateSpec struct {
	// Standard object metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the namespace
	Spec corev1.NamespaceSpec `json:"spec,omitempty"`
}

NamespaceTemplateSpec is used as a template for creating new namespaces

func (*NamespaceTemplateSpec) DeepCopy

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

func (*NamespaceTemplateSpec) DeepCopyInto

func (in *NamespaceTemplateSpec) DeepCopyInto(out *NamespaceTemplateSpec)

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

type Optimization

type Optimization struct {
	// Name is the name of the optimization configuration to set
	Name string `json:"name"`
	// Value is string representation of the optimization configuration
	Value string `json:"value"`
}

Optimization is a configuration setting for the optimizer

func (*Optimization) DeepCopy

func (in *Optimization) DeepCopy() *Optimization

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

func (*Optimization) DeepCopyInto

func (in *Optimization) DeepCopyInto(out *Optimization)

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

type OrderConstraint

type OrderConstraint struct {
	// LowerParameter is the name of the parameter that must be the smaller of two parameters
	LowerParameter string `json:"lowerParameter"`
	// UpperParameter is the name of the parameter that must be the larger of two parameters
	UpperParameter string `json:"upperParameter"`
}

OrderConstraint defines a constraint between the ordering of two parameters in the experiment

func (*OrderConstraint) DeepCopy

func (in *OrderConstraint) DeepCopy() *OrderConstraint

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

func (*OrderConstraint) DeepCopyInto

func (in *OrderConstraint) DeepCopyInto(out *OrderConstraint)

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

type Parameter

type Parameter struct {
	// The name of the parameter
	Name string `json:"name"`
	// The baseline value for this parameter.
	Baseline *intstr.IntOrString `json:"baseline,omitempty"`
	// The inclusive minimum value of the parameter
	Min int32 `json:"min,omitempty"`
	// The inclusive maximum value of the parameter
	Max int32 `json:"max,omitempty"`
	// Internal use only
	Values []string `json:"values,omitempty"`
}

Parameter represents the domain of a single component of the experiment search space

func (*Parameter) DeepCopy

func (in *Parameter) DeepCopy() *Parameter

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

func (*Parameter) DeepCopyInto

func (in *Parameter) DeepCopyInto(out *Parameter)

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

type ParameterSelector

type ParameterSelector struct {
	// The name of the trial parameter to use
	Name string `json:"name"`
}

ParameterSelector selects a trial parameter assignment. Note that parameters values are used as is (i.e. in numeric form), for more control over the formatting of a parameter assignment use the template option on HelmValue.

func (*ParameterSelector) DeepCopy

func (in *ParameterSelector) DeepCopy() *ParameterSelector

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

func (*ParameterSelector) DeepCopyInto

func (in *ParameterSelector) DeepCopyInto(out *ParameterSelector)

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

type PatchOperation

type PatchOperation struct {
	// The reference to the object that the patched should be applied to
	TargetRef corev1.ObjectReference `json:"targetRef"`
	// The patch content type, must be a type supported by the Kubernetes API server
	PatchType types.PatchType `json:"patchType"`
	// The raw data representing the patch to be applied
	Data []byte `json:"data"`
	// The number of remaining attempts to apply the patch, will be automatically set
	// to zero if the patch is successfully applied
	AttemptsRemaining int `json:"attemptsRemaining,omitempty"`
}

PatchOperation represents a patch used to prepare the cluster for a trial run, includes the evaluated parameter assignments as necessary

func (*PatchOperation) DeepCopy

func (in *PatchOperation) DeepCopy() *PatchOperation

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

func (*PatchOperation) DeepCopyInto

func (in *PatchOperation) DeepCopyInto(out *PatchOperation)

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

type PatchReadinessGate

type PatchReadinessGate struct {
	// ConditionType refers to a condition in the patched target's condition list
	ConditionType string `json:"conditionType"`
}

PatchReadinessGate contains a reference to a condition

func (*PatchReadinessGate) DeepCopy

func (in *PatchReadinessGate) DeepCopy() *PatchReadinessGate

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

func (*PatchReadinessGate) DeepCopyInto

func (in *PatchReadinessGate) DeepCopyInto(out *PatchReadinessGate)

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

type PatchTemplate

type PatchTemplate struct {
	// The patch type, one of: strategic|merge|json, default: strategic
	Type PatchType `json:"type,omitempty"`
	// A Go Template that evaluates to valid patch
	Patch string `json:"patch"`
	// Direct reference to the object the patch should be applied to
	TargetRef *corev1.ObjectReference `json:"targetRef,omitempty"`
	// ReadinessGates will be evaluated for patch target readiness. A patch target is ready if all conditions specified
	// in the readiness gates have a status equal to "True". If no readiness gates are specified, some target types may
	// have default gates assigned to them. Some condition checks may result in errors, e.g. a condition type of "Ready"
	// is not allowed for a ConfigMap. Condition types starting with "redskyops.dev/" may not appear in the patched
	// target's condition list, but are still evaluated against the resource's state.
	ReadinessGates []PatchReadinessGate `json:"readinessGates,omitempty"`
}

PatchTemplate defines a target resource and a patch template to apply

func (*PatchTemplate) DeepCopy

func (in *PatchTemplate) DeepCopy() *PatchTemplate

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

func (*PatchTemplate) DeepCopyInto

func (in *PatchTemplate) DeepCopyInto(out *PatchTemplate)

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

type PatchType

type PatchType string

PatchType represents the allowable types of patches

type ReadinessCheck

type ReadinessCheck struct {
	// TargetRef is the reference to the object to test the readiness of
	TargetRef corev1.ObjectReference `json:"targetRef"`
	// Selector may be used to trigger a search for multiple related objects to search; this may have RBAC implications,
	// in particular "list" permissions are required
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
	// ConditionTypes are the status conditions that must be "True"; in addition to conditions that appear in the
	// status of the target object, additional special conditions starting with "redskyops.dev/" can be tested
	ConditionTypes []string `json:"conditionTypes,omitempty"`
	// InitialDelaySeconds is the approximate number of seconds after all of the patches have been applied to start
	// evaluating this check
	InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty"`
	// PeriodSeconds is the approximate amount of time in between evaluation attempts of this check
	PeriodSeconds int32 `json:"periodSeconds,omitempty"`
	// AttemptsRemaining is the number of failed attempts to allow before marking the entire trial as failed, will be
	// automatically set to zero if the check has been successfully evaluated
	AttemptsRemaining int32 `json:"attemptsRemaining,omitempty"`
	// LastCheckTime is the timestamp of the last evaluation attempt
	LastCheckTime *metav1.Time `json:"lastCheckTime,omitempty"`
}

ReadinessCheck represents a check to determine when the patched application is "ready" and it is safe to start the trial run job

func (*ReadinessCheck) DeepCopy

func (in *ReadinessCheck) DeepCopy() *ReadinessCheck

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

func (*ReadinessCheck) DeepCopyInto

func (in *ReadinessCheck) DeepCopyInto(out *ReadinessCheck)

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

type SetupTask

type SetupTask struct {
	// The name that uniquely identifies the setup task
	Name string `json:"name"`
	// Override the default image used for performing setup tasks
	Image string `json:"image,omitempty"`
	// Override the default command for the container
	Command []string `json:"command,omitempty"`
	// Override the default args for the container
	Args []string `json:"args,omitempty"`
	// Flag to indicate the creation part of the task can be skipped
	SkipCreate bool `json:"skipCreate,omitempty"`
	// Flag to indicate the deletion part of the task can be skipped
	SkipDelete bool `json:"skipDelete,omitempty"`
	// Volume mounts for the setup task
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
	// The Helm chart reference to release as part of this task
	HelmChart string `json:"helmChart,omitempty"`
	// The Helm chart version, empty means use the latest
	HelmChartVersion string `json:"helmChartVersion,omitempty"`
	// The Helm values to set, ignored unless helmChart is also set
	HelmValues []HelmValue `json:"helmValues,omitempty"`
	// The Helm values, ignored unless helmChart is also set
	HelmValuesFrom []HelmValuesFromSource `json:"helmValuesFrom,omitempty"`
	// The Helm repository to fetch the chart from
	HelmRepository string `json:"helmRepository,omitempty"`
}

SetupTask represents the configuration necessary to apply application state to the cluster prior to each trial run and remove that state after the run concludes

func (*SetupTask) DeepCopy

func (in *SetupTask) DeepCopy() *SetupTask

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

func (*SetupTask) DeepCopyInto

func (in *SetupTask) DeepCopyInto(out *SetupTask)

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

type SumConstraint

type SumConstraint struct {
	// Bound for the sum of the listed parameters
	Bound resource.Quantity `json:"bound"`
	// IsUpperBound determines if the bound values is an upper or lower bound on the sum
	IsUpperBound bool `json:"isUpperBound,omitempty"`
	// Parameters that should be summed
	Parameters []SumConstraintParameter `json:"parameters"`
}

SumConstraint defines a constraint between the sum of a collection of parameters

func (*SumConstraint) DeepCopy

func (in *SumConstraint) DeepCopy() *SumConstraint

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

func (*SumConstraint) DeepCopyInto

func (in *SumConstraint) DeepCopyInto(out *SumConstraint)

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

type SumConstraintParameter

type SumConstraintParameter struct {
	// Name of the parameter
	Name string `json:"name"`
	// Weight of the parameter
	Weight resource.Quantity `json:"weight"`
}

SumConstraintParameter is a weighted parameter specification in a sum constraint

func (*SumConstraintParameter) DeepCopy

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

func (*SumConstraintParameter) DeepCopyInto

func (in *SumConstraintParameter) DeepCopyInto(out *SumConstraintParameter)

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

type Trial

type Trial struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior for a trial
	Spec TrialSpec `json:"spec,omitempty"`
	// Current status of a trial
	Status TrialStatus `json:"status,omitempty"`
}

Trial is the Schema for the trials API +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="Trial status" +kubebuilder:printcolumn:name="Assignments",type="string",JSONPath=".status.assignments",description="Current assignments" +kubebuilder:printcolumn:name="Values",type="string",JSONPath=".status.values",description="Current values"

func (*Trial) ConvertFrom

func (in *Trial) ConvertFrom(hub conv.Hub) error

func (*Trial) ConvertTo

func (in *Trial) ConvertTo(hub conv.Hub) error

func (*Trial) DeepCopy

func (in *Trial) DeepCopy() *Trial

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

func (*Trial) DeepCopyInto

func (in *Trial) DeepCopyInto(out *Trial)

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

func (*Trial) DeepCopyObject

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

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

type TrialCondition

type TrialCondition struct {
	// The condition type, e.g. "redskyops.dev/trial-complete"
	Type TrialConditionType `json:"type"`
	// The status of the condition, one of "True", "False", or "Unknown
	Status corev1.ConditionStatus `json:"status"`
	// The last known time the condition was checked
	LastProbeTime metav1.Time `json:"lastProbeTime"`
	// The time at which the condition last changed status
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`
	// A reason code describing the why the condition occurred
	Reason string `json:"reason,omitempty"`
	// A human readable message describing the transition
	Message string `json:"message,omitempty"`
}

TrialCondition represents an observed condition of a trial

func (*TrialCondition) DeepCopy

func (in *TrialCondition) DeepCopy() *TrialCondition

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

func (*TrialCondition) DeepCopyInto

func (in *TrialCondition) DeepCopyInto(out *TrialCondition)

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

type TrialConditionType

type TrialConditionType string

TrialConditionType represents the possible observable conditions for a trial

type TrialList

type TrialList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard list metadata
	metav1.ListMeta `json:"metadata,omitempty"`
	// The list of trials
	Items []Trial `json:"items"`
}

TrialList contains a list of Trial

func (*TrialList) DeepCopy

func (in *TrialList) DeepCopy() *TrialList

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

func (*TrialList) DeepCopyInto

func (in *TrialList) DeepCopyInto(out *TrialList)

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

func (*TrialList) DeepCopyObject

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

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

type TrialReadinessGate

type TrialReadinessGate struct {
	// Kind of the readiness target
	Kind string `json:"kind,omitempty"`
	// Name of the readiness target, mutually exclusive with "Selector"
	Name string `json:"name,omitempty"`
	// APIVersion of the readiness target
	APIVersion string `json:"apiVersion,omitempty"`
	// Selector matches the resources whose condition must be checked, mutually exclusive with "Name"
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
	// ConditionTypes are the status conditions that must be "True"
	ConditionTypes []string `json:"conditionTypes,omitempty"`
	// InitialDelaySeconds is the approximate number of seconds after all of the patches have been applied to start
	// evaluating this check
	InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty"`
	// PeriodSeconds is the approximate amount of time in between evaluation attempts of this check;
	// defaults to 10 seconds, minimum value is 1 second
	PeriodSeconds int32 `json:"periodSeconds,omitempty"`
	// FailureThreshold is number of times that any of the specified ready conditions may be "False";
	// defaults to 3, minimum value is 1
	FailureThreshold int32 `json:"failureThreshold,omitempty"`
}

TrialReadinessGate represents a readiness check on one or more objects that must pass after patches have been applied, but before the trial run job can start

func (*TrialReadinessGate) DeepCopy

func (in *TrialReadinessGate) DeepCopy() *TrialReadinessGate

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

func (*TrialReadinessGate) DeepCopyInto

func (in *TrialReadinessGate) DeepCopyInto(out *TrialReadinessGate)

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

type TrialSpec

type TrialSpec struct {
	// ExperimentRef is the reference to the experiment that contains the definitions to use for this trial,
	// defaults to an experiment in the same namespace with the same name
	ExperimentRef *corev1.ObjectReference `json:"experimentRef,omitempty"`
	// Assignments are used to patch the cluster state prior to the trial run
	Assignments []Assignment `json:"assignments,omitempty"`
	// Selector matches the job representing the trial run
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
	// Template is the job template used to create trial run jobs
	Template *batchv1beta1.JobTemplateSpec `json:"template,omitempty"`
	// InitialDelaySeconds is number of seconds to wait after a trial becomes ready before starting the trial run job
	InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty"`
	// The offset used to adjust the start time to account for spin up of the trial run
	StartTimeOffset *metav1.Duration `json:"startTimeOffset,omitempty"`
	// The approximate amount of time the trial run should execute (not inclusive of the start time offset)
	ApproximateRuntime *metav1.Duration `json:"approximateRuntime,omitempty"`
	// The minimum number of seconds before an attempt should be made to clean up the trial, if unset or negative no attempt is made to clean up the trial
	TTLSecondsAfterFinished *int32 `json:"ttlSecondsAfterFinished,omitempty"`
	// The minimum number of seconds before an attempt should be made to clean up a failed trial, defaults to TTLSecondsAfterFinished
	TTLSecondsAfterFailure *int32 `json:"ttlSecondsAfterFailure,omitempty"`
	// The readiness gates to check before running the trial job
	ReadinessGates []TrialReadinessGate `json:"readinessGates,omitempty"`

	// PatchOperations are the patches from the experiment evaluated in the context of this trial
	PatchOperations []PatchOperation `json:"patchOperations,omitempty"`
	// ReadinessChecks are the all of the objects whose conditions need to be inspected for this trial
	ReadinessChecks []ReadinessCheck `json:"readinessChecks,omitempty"`
	// Values are the collected metrics at the end of the trial run
	Values []Value `json:"values,omitempty"`

	// Setup tasks that must run before the trial starts (and possibly after it ends)
	SetupTasks []SetupTask `json:"setupTasks,omitempty"`
	// Volumes to make available to setup tasks, typically ConfigMap backed volumes
	SetupVolumes []corev1.Volume `json:"setupVolumes,omitempty"`
	// Service account name for running setup tasks, needs enough permissions to add and remove software
	SetupServiceAccountName string `json:"setupServiceAccountName,omitempty"`
	// Cluster role name to be assigned to the setup service account when creating namespaces
	SetupDefaultClusterRole string `json:"setupDefaultClusterRole,omitempty"`
	// Policy rules to be assigned to the setup service account when creating namespaces
	SetupDefaultRules []rbacv1.PolicyRule `json:"setupDefaultRules,omitempty"`
}

TrialSpec defines the desired state of Trial

func (*TrialSpec) DeepCopy

func (in *TrialSpec) DeepCopy() *TrialSpec

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

func (*TrialSpec) DeepCopyInto

func (in *TrialSpec) DeepCopyInto(out *TrialSpec)

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

type TrialStatus

type TrialStatus struct {
	// Phase is a brief human readable description of the trial status
	Phase string `json:"phase"`
	// Assignments is a string representation of the trial assignments for reporting purposes
	Assignments string `json:"assignments"`
	// Values is a string representation of the trial values for reporting purposes
	Values string `json:"values"`
	// StartTime is the effective (possibly adjusted) time the trial run job started
	StartTime *metav1.Time `json:"startTime,omitempty"`
	// CompletionTime is the effective (possibly adjusted) time the trial run job completed
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`
	// Condition is the current state of the trial
	Conditions []TrialCondition `json:"conditions,omitempty"`
}

TrialStatus defines the observed state of Trial

func (*TrialStatus) DeepCopy

func (in *TrialStatus) DeepCopy() *TrialStatus

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

func (*TrialStatus) DeepCopyInto

func (in *TrialStatus) DeepCopyInto(out *TrialStatus)

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

type TrialTemplateSpec

type TrialTemplateSpec struct {
	// Standard object metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior for the trial
	Spec TrialSpec `json:"spec,omitempty"`
}

TrialTemplateSpec is used as a template for creating new trials

func (*TrialTemplateSpec) DeepCopy

func (in *TrialTemplateSpec) DeepCopy() *TrialTemplateSpec

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

func (*TrialTemplateSpec) DeepCopyInto

func (in *TrialTemplateSpec) DeepCopyInto(out *TrialTemplateSpec)

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

type Value

type Value struct {
	// The metric name the value corresponds to
	Name string `json:"name"`
	// The observed float64 value, formatted as a string
	Value string `json:"value"`
	// The observed float64 error (standard deviation), formatted as a string
	Error string `json:"error,omitempty"`
	// The number of remaining attempts to observer the value, will be automatically set
	// to zero if the metric is successfully collected
	AttemptsRemaining int `json:"attemptsRemaining,omitempty"`
}

Value represents an observed metric value after a trial run has completed successfully. Value names must correspond to metric names on the associated experiment.

func (*Value) DeepCopy

func (in *Value) DeepCopy() *Value

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

func (*Value) DeepCopyInto

func (in *Value) DeepCopyInto(out *Value)

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