# Constants
AnnotationExperimentURL is the URL of the experiment on the remote server.
AnnotationInitializer is a comma-delimited list of initializing processes.
AnnotationNextTrialURL is the URL used to obtain the next trial suggestion.
AnnotationReportTrialURL is the URL used to report trial observations.
AnnotationServerSync controls additional behavior around synchronizing the experiment remotely.
ExperimentComplete is a condition that indicates the experiment completed successfully.
ExperimentFailed is a condition that indicates an experiment failed.
LabelExperiment is the name of the experiment associated with an object.
LabelTrial contains the name of the trial associated with an object.
LabelTrialRole contains the role in trial execution.
MetricDatadog metrics issue queries to the Datadog service.
MetricJSONPath metrics fetch a JSON resource from the matched service.
MetricKubernetes metrics issue Kubernetes API requests using the target reference and selector (if no reference is supplied, the trial itself is assumed).
MetricNewRelic metrics issue queries to the New Relic service.
MetricPrometheus metrics issue PromQL queries to a matched service.
PatchJSON is the patch type for aJSON patch (RFC 6902).
PatchMerge is the patch type for a merge patch.
PatchStrategic is the patch type for a strategic merge patch.
TrialComplete is a condition that indicates a successful trial run.
TrialFailed is a condition that indicates a failed trial run.
TrialObserved is a condition that indicates a trial has had metrics collected.
TrialPatched is a condition that indicates patches have been applied for a trial.
TrialReady is a condition that indicates the application is ready after patches were applied.
TrialSetupCreated is a condition that indicates all "create" setup tasks have finished.
TrialSetupDeleted is a condition that indicates all "delete" setup tasks have finished.
# Variables
AddToScheme adds the types in this group-version to the given scheme.
GroupVersion is group version used to register these objects.
SchemeBuilder is used to add go types to the GroupVersionKind scheme.
# Structs
Assignment represents an individual name/value pair.
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?.
Constraint represents a constraint to the domain of the parameters.
Experiment is the Schema for the experiments API +kubebuilder:resource:shortName=exp +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="Experiment status".
ExperimentCondition represents an observed condition of an experiment.
ExperimentList contains a list of Experiment.
ExperimentSpec defines the desired state of Experiment.
ExperimentStatus defines the observed state of Experiment.
HelmValue represents a value in a Helm template.
HelmValuesFromSource represents a source of a values mapping.
HelmValueSource represents a source for a Helm value.
Metric represents an observable outcome from a trial run.
NamespaceTemplateSpec is used as a template for creating new namespaces.
Optimization is a configuration setting for the optimizer.
OrderConstraint defines a constraint between the ordering of two parameters in the experiment.
Parameter represents the domain of a single component of the experiment search space.
ParameterSelector selects a trial parameter assignment.
PatchOperation represents a patch used to prepare the cluster for a trial run, includes the evaluated parameter assignments as necessary.
PatchReadinessGate contains a reference to a condition.
PatchTemplate defines a target resource and a patch template to apply.
ReadinessCheck represents a check to determine when the patched application is "ready" and it is safe to start the trial run job.
ResourceTarget contains enough information to reference either a single target resource by name, or a group of target resources by label.
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.
SumConstraint defines a constraint between the sum of a collection of parameters.
SumConstraintParameter is a weighted parameter specification in a sum constraint.
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".
TrialCondition represents an observed condition of a trial.
TrialList contains a list of Trial.
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.
TrialSpec defines the desired state of Trial.
TrialStatus defines the observed state of Trial.
TrialTemplateSpec is used as a template for creating new trials.
Value represents an observed metric value after a trial run has completed successfully.
# Type aliases
ExperimentConditionType represents the possible observable conditions for an experiment.
MetricType represents the allowable types of metrics.
PatchType represents the allowable types of patches.
TrialConditionType represents the possible observable conditions for a trial.