Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the rollouts v1alpha1 API group +kubebuilder:object:generate=true +groupName=rollouts.example.com
Index ¶
- Variables
- type AnalysisPhase
- type AnalysisRun
- type AnalysisRunList
- type AnalysisRunSpec
- type AnalysisRunStatus
- type AnalysisTemplate
- type AnalysisTemplateList
- type AnalysisTemplateSpec
- type AnalysisTemplateStatus
- type ClusterDecision
- type Measurement
- type Metric
- type MetricProvider
- type MetricResult
- type Placement
- type PlacementList
- type PlacementSpec
- type PlacementStatus
- type PrometheusMetric
- type RunSummary
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "rollouts.example.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AnalysisPhase ¶
type AnalysisPhase string
AnalysisPhase is the overall phase of an AnalysisRun, MetricResult, or Measurement
const ( AnalysisPhasePending AnalysisPhase = "Pending" AnalysisPhaseRunning AnalysisPhase = "Running" AnalysisPhaseSuccessful AnalysisPhase = "Successful" AnalysisPhaseFailed AnalysisPhase = "Failed" AnalysisPhaseError AnalysisPhase = "Error" AnalysisPhaseInconclusive AnalysisPhase = "Inconclusive" )
Possible AnalysisPhase values
func (AnalysisPhase) Completed ¶
func (as AnalysisPhase) Completed() bool
Completed returns whether or not the analysis status is considered completed
type AnalysisRun ¶
type AnalysisRun struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AnalysisRunSpec `json:"spec,omitempty"` Status AnalysisRunStatus `json:"status,omitempty"` }
AnalysisRun is the Schema for the analysisruns API
func (*AnalysisRun) DeepCopy ¶
func (in *AnalysisRun) DeepCopy() *AnalysisRun
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisRun.
func (*AnalysisRun) DeepCopyInto ¶
func (in *AnalysisRun) DeepCopyInto(out *AnalysisRun)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AnalysisRun) DeepCopyObject ¶
func (in *AnalysisRun) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AnalysisRunList ¶
type AnalysisRunList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AnalysisRun `json:"items"` }
AnalysisRunList contains a list of AnalysisRun
func (*AnalysisRunList) DeepCopy ¶
func (in *AnalysisRunList) DeepCopy() *AnalysisRunList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisRunList.
func (*AnalysisRunList) DeepCopyInto ¶
func (in *AnalysisRunList) DeepCopyInto(out *AnalysisRunList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AnalysisRunList) DeepCopyObject ¶
func (in *AnalysisRunList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AnalysisRunSpec ¶
type AnalysisRunSpec struct { // Definition of a metric to analyse Metric Metric `json:"metric,omitempty"` }
AnalysisRunSpec defines the desired state of AnalysisRun
func (*AnalysisRunSpec) DeepCopy ¶
func (in *AnalysisRunSpec) DeepCopy() *AnalysisRunSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisRunSpec.
func (*AnalysisRunSpec) DeepCopyInto ¶
func (in *AnalysisRunSpec) DeepCopyInto(out *AnalysisRunSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AnalysisRunStatus ¶
type AnalysisRunStatus struct { // Phase is the status of the analysis run Phase AnalysisPhase `json:"phase"` // Message is a message explaining current status Message string `json:"message,omitempty"` // MetricResults contains the metrics collected during the run MetricResults []MetricResult `json:"metricResults,omitempty"` // StartedAt indicates when the analysisRun first started StartedAt *metav1.Time `json:"startedAt,omitempty"` // RunSummary contains the final results from the metric executions RunSummary RunSummary `json:"runSummary,omitempty"` // DryRunSummary contains the final results from the metric executions in the dry-run mode DryRunSummary *RunSummary `json:"dryRunSummary,omitempty"` }
AnalysisRunStatus is the status for a AnalysisRun resource
func (*AnalysisRunStatus) DeepCopy ¶
func (in *AnalysisRunStatus) DeepCopy() *AnalysisRunStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisRunStatus.
func (*AnalysisRunStatus) DeepCopyInto ¶
func (in *AnalysisRunStatus) DeepCopyInto(out *AnalysisRunStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AnalysisTemplate ¶
type AnalysisTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AnalysisTemplateSpec `json:"spec,omitempty"` Status AnalysisTemplateStatus `json:"status,omitempty"` }
AnalysisTemplate is the Schema for the analysistemplates API
func (*AnalysisTemplate) DeepCopy ¶
func (in *AnalysisTemplate) DeepCopy() *AnalysisTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisTemplate.
func (*AnalysisTemplate) DeepCopyInto ¶
func (in *AnalysisTemplate) DeepCopyInto(out *AnalysisTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AnalysisTemplate) DeepCopyObject ¶
func (in *AnalysisTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AnalysisTemplateList ¶
type AnalysisTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AnalysisTemplate `json:"items"` }
AnalysisTemplateList contains a list of AnalysisTemplate
func (*AnalysisTemplateList) DeepCopy ¶
func (in *AnalysisTemplateList) DeepCopy() *AnalysisTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisTemplateList.
func (*AnalysisTemplateList) DeepCopyInto ¶
func (in *AnalysisTemplateList) DeepCopyInto(out *AnalysisTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AnalysisTemplateList) DeepCopyObject ¶
func (in *AnalysisTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AnalysisTemplateSpec ¶
type AnalysisTemplateSpec struct { // Definition of a metric to analyse Metric Metric `json:"metric,omitempty"` }
AnalysisTemplateSpec defines the desired state of AnalysisTemplate
func (*AnalysisTemplateSpec) DeepCopy ¶
func (in *AnalysisTemplateSpec) DeepCopy() *AnalysisTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisTemplateSpec.
func (*AnalysisTemplateSpec) DeepCopyInto ¶
func (in *AnalysisTemplateSpec) DeepCopyInto(out *AnalysisTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AnalysisTemplateStatus ¶
type AnalysisTemplateStatus struct { }
AnalysisTemplateStatus defines the observed state of AnalysisTemplate
func (*AnalysisTemplateStatus) DeepCopy ¶
func (in *AnalysisTemplateStatus) DeepCopy() *AnalysisTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisTemplateStatus.
func (*AnalysisTemplateStatus) DeepCopyInto ¶
func (in *AnalysisTemplateStatus) DeepCopyInto(out *AnalysisTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterDecision ¶
type ClusterDecision struct { // ClusterName is the name of the ArgoCD cluster. // +kubebuilder:validation:Required // +required ClusterName string `json:"clusterName"` // Name of AnalysisRun that should be successful // before removing this cluster decision PendingRemoval string `json:"pendingRemoval,omitempty"` // Name of AnalysisRun that should be successful // before this cluster decision is deemed 'ready' PendingReady string `json:"pendingReady,omitempty"` }
ClusterDecision represents a decision from a placement An empty ClusterDecision indicates it is not scheduled yet.
func (*ClusterDecision) DeepCopy ¶
func (in *ClusterDecision) DeepCopy() *ClusterDecision
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDecision.
func (*ClusterDecision) DeepCopyInto ¶
func (in *ClusterDecision) DeepCopyInto(out *ClusterDecision)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Measurement ¶
type Measurement struct { // Phase is the status of this single measurement Phase AnalysisPhase `json:"phase" protobuf:"bytes,1,opt,name=phase,casttype=AnalysisPhase"` // Message contains a message describing current condition (e.g. error messages) Message string `json:"message,omitempty" protobuf:"bytes,2,opt,name=message"` // StartedAt is the timestamp in which this measurement started to be measured StartedAt *metav1.Time `json:"startedAt,omitempty" protobuf:"bytes,3,opt,name=startedAt"` // FinishedAt is the timestamp in which this measurement completed and value was collected FinishedAt *metav1.Time `json:"finishedAt,omitempty" protobuf:"bytes,4,opt,name=finishedAt"` // Value is the measured value of the metric Value string `json:"value,omitempty" protobuf:"bytes,5,opt,name=value"` // Metadata stores additional metadata about this metric result, used by the different providers // (e.g. kayenta run ID, job name) Metadata map[string]string `json:"metadata,omitempty" protobuf:"bytes,6,rep,name=metadata"` // ResumeAt is the timestamp when the analysisRun should try to resume the measurement ResumeAt *metav1.Time `json:"resumeAt,omitempty" protobuf:"bytes,7,opt,name=resumeAt"` }
Measurement is a point in time result value of a single metric, and the time it was measured
func (*Measurement) DeepCopy ¶
func (in *Measurement) DeepCopy() *Measurement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Measurement.
func (*Measurement) DeepCopyInto ¶
func (in *Measurement) DeepCopyInto(out *Measurement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metric ¶
type Metric struct { // Condition to satisfy when executing a query SuccessCondition string `json:"successCondition"` // Metric provider configuration Provider MetricProvider `json:"provider"` }
func (*Metric) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metric.
func (*Metric) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricProvider ¶
type MetricProvider struct { // Prometheus specifies the prometheus metric to query Prometheus *PrometheusMetric `json:"prometheus,omitempty"` }
MetricProvider which external system to use to verify the analysis Must use prometheus at this time.
func (*MetricProvider) DeepCopy ¶
func (in *MetricProvider) DeepCopy() *MetricProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricProvider.
func (*MetricProvider) DeepCopyInto ¶
func (in *MetricProvider) DeepCopyInto(out *MetricProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricResult ¶
type MetricResult struct { // Name is the name of the metric Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Phase is the overall aggregate status of the metric Phase AnalysisPhase `json:"phase" protobuf:"bytes,2,opt,name=phase,casttype=AnalysisPhase"` // Measurements holds the most recent measurements collected for the metric Measurements []Measurement `json:"measurements,omitempty" protobuf:"bytes,3,rep,name=measurements"` // Message contains a message describing current condition (e.g. error messages) Message string `json:"message,omitempty" protobuf:"bytes,4,opt,name=message"` // Count is the number of times the metric was measured without Error // This is equal to the sum of Successful, Failed, Inconclusive Count int32 `json:"count,omitempty" protobuf:"varint,5,opt,name=count"` // Successful is the number of times the metric was measured Successful Successful int32 `json:"successful,omitempty" protobuf:"varint,6,opt,name=successful"` // Failed is the number of times the metric was measured Failed Failed int32 `json:"failed,omitempty" protobuf:"varint,7,opt,name=failed"` // Inconclusive is the number of times the metric was measured Inconclusive Inconclusive int32 `json:"inconclusive,omitempty" protobuf:"varint,8,opt,name=inconclusive"` // Error is the number of times an error was encountered during measurement Error int32 `json:"error,omitempty" protobuf:"varint,9,opt,name=error"` // ConsecutiveError is the number of times an error was encountered during measurement in succession // Resets to zero when non-errors are encountered ConsecutiveError int32 `json:"consecutiveError,omitempty" protobuf:"varint,10,opt,name=consecutiveError"` // DryRun indicates whether this metric is running in a dry-run mode or not DryRun bool `json:"dryRun,omitempty" protobuf:"varint,11,opt,name=dryRun"` // Metadata stores additional metadata about this metric. It is used by different providers to store // the final state which gets used while taking measurements. For example, Prometheus uses this field // to store the final resolved query after substituting the template arguments. Metadata map[string]string `json:"metadata,omitempty" protobuf:"bytes,12,rep,name=metadata"` }
MetricResult contain a list of the most recent measurements for a single metric along with counters on how often the measurement
func (*MetricResult) DeepCopy ¶
func (in *MetricResult) DeepCopy() *MetricResult
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricResult.
func (*MetricResult) DeepCopyInto ¶
func (in *MetricResult) DeepCopyInto(out *MetricResult)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Placement ¶
type Placement struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PlacementSpec `json:"spec,omitempty"` Status PlacementStatus `json:"status,omitempty"` }
Placement is the Schema for the placements API
func (*Placement) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Placement.
func (*Placement) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Placement) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PlacementList ¶
type PlacementList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Placement `json:"items"` }
PlacementList contains a list of Placement
func (*PlacementList) DeepCopy ¶
func (in *PlacementList) DeepCopy() *PlacementList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementList.
func (*PlacementList) DeepCopyInto ¶
func (in *PlacementList) DeepCopyInto(out *PlacementList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PlacementList) DeepCopyObject ¶
func (in *PlacementList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PlacementSpec ¶
type PlacementSpec struct { // Static list of ArgoCD clusters Clusters []string `json:"clusters,omitempty"` // TODO: reference to object intead of object name? // Name of AnalysisTemplate for analysing if the placement of an Application is ready RemoveAnalysis string `json:"removeAnalysis,omitempty"` // Name of AnalysisTemplate for analysing if the placement of an Application is ready ReadyAnalysis string `json:"readyAnalysis,omitempty"` }
PlacementSpec defines the desired state of Placement
func (*PlacementSpec) DeepCopy ¶
func (in *PlacementSpec) DeepCopy() *PlacementSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementSpec.
func (*PlacementSpec) DeepCopyInto ¶
func (in *PlacementSpec) DeepCopyInto(out *PlacementSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlacementStatus ¶
type PlacementStatus struct { // Decisions is a slice of decisions according to a placement // +kubebuilder:validation:Required // +required Decisions []ClusterDecision `json:"decisions"` }
PlacementStatus defines the observed state of Placement
func (*PlacementStatus) DeepCopy ¶
func (in *PlacementStatus) DeepCopy() *PlacementStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementStatus.
func (*PlacementStatus) DeepCopyInto ¶
func (in *PlacementStatus) DeepCopyInto(out *PlacementStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusMetric ¶
type PrometheusMetric struct { // Address is the HTTP address and port of the prometheus server Address string `json:"address,omitempty"` // Query is a raw prometheus query to perform Query string `json:"query,omitempty"` }
PrometheusMetric defines the prometheus query to perform canary analysis
func (*PrometheusMetric) DeepCopy ¶
func (in *PrometheusMetric) DeepCopy() *PrometheusMetric
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusMetric.
func (*PrometheusMetric) DeepCopyInto ¶
func (in *PrometheusMetric) DeepCopyInto(out *PrometheusMetric)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RunSummary ¶
type RunSummary struct { // This is equal to the sum of Successful, Failed, Inconclusive Count int32 `json:"count,omitempty" protobuf:"varint,1,opt,name=count"` // Successful is the number of times the metric was measured Successful Successful int32 `json:"successful,omitempty" protobuf:"varint,2,opt,name=successful"` // Failed is the number of times the metric was measured Failed Failed int32 `json:"failed,omitempty" protobuf:"varint,3,opt,name=failed"` // Inconclusive is the number of times the metric was measured Inconclusive Inconclusive int32 `json:"inconclusive,omitempty" protobuf:"varint,4,opt,name=inconclusive"` // Error is the number of times an error was encountered during measurement Error int32 `json:"error,omitempty" protobuf:"varint,5,opt,name=error"` }
RunSummary contains the final results from the metric executions
func (*RunSummary) DeepCopy ¶
func (in *RunSummary) DeepCopy() *RunSummary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunSummary.
func (*RunSummary) DeepCopyInto ¶
func (in *RunSummary) DeepCopyInto(out *RunSummary)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.