Documentation ¶
Index ¶
- Constants
- func GetAnalysisTemplateNames(templates AnalysisTemplatesWithType) []string
- func GetAnalysisTemplateWithTypeFieldPath(templateType AnalysisTemplateType, canaryStepIndex int) *field.Path
- func GetServiceWithTypeFieldPath(serviceType ServiceType) *field.Path
- func ValidateAmbassadorMapping(obj unstructured.Unstructured) field.ErrorList
- func ValidateAnalysisTemplateWithType(rollout *v1alpha1.Rollout, template *v1alpha1.AnalysisTemplate, ...) field.ErrorList
- func ValidateAnalysisTemplatesWithType(rollout *v1alpha1.Rollout, templates AnalysisTemplatesWithType) field.ErrorList
- func ValidateIngress(rollout *v1alpha1.Rollout, ingress v1beta1.Ingress) field.ErrorList
- func ValidateRollout(rollout *v1alpha1.Rollout) field.ErrorList
- func ValidateRolloutReferencedResources(rollout *v1alpha1.Rollout, referencedResources ReferencedResources) field.ErrorList
- func ValidateRolloutSpec(rollout *v1alpha1.Rollout, fldPath *field.Path) field.ErrorList
- func ValidateRolloutStrategy(rollout *v1alpha1.Rollout, fldPath *field.Path) field.ErrorList
- func ValidateRolloutStrategyAntiAffinity(antiAffinity *v1alpha1.AntiAffinity, fldPath *field.Path) field.ErrorList
- func ValidateRolloutStrategyBlueGreen(rollout *v1alpha1.Rollout, fldPath *field.Path) field.ErrorList
- func ValidateRolloutStrategyCanary(rollout *v1alpha1.Rollout, fldPath *field.Path) field.ErrorList
- func ValidateRolloutVirtualServicesConfig(r *v1alpha1.Rollout) error
- func ValidateService(svc ServiceWithType, rollout *v1alpha1.Rollout) field.ErrorList
- func ValidateVirtualService(rollout *v1alpha1.Rollout, obj unstructured.Unstructured) field.ErrorList
- type AnalysisTemplateType
- type AnalysisTemplatesWithType
- type ReferencedResources
- type ServiceType
- type ServiceWithType
Constants ¶
View Source
const ( // MissingFieldMessage the message to indicate rollout is missing a field MissingFieldMessage = "Rollout has missing field '%s'" // InvalidSetWeightMessage indicates the setweight value needs to be between 0 and 100 InvalidSetWeightMessage = "SetWeight needs to be between 0 and 100" // InvalidCanaryExperimentTemplateWeightWithoutTrafficRouting indicates experiment weight cannot be set without trafficRouting InvalidCanaryExperimentTemplateWeightWithoutTrafficRouting = "Experiment template weight cannot be set unless TrafficRouting is enabled" // InvalidSetCanaryScaleTrafficPolicy indicates that TrafficRouting, required for SetCanaryScale, is missing InvalidSetCanaryScaleTrafficPolicy = "SetCanaryScale requires TrafficRouting to be set" // InvalidDurationMessage indicates the Duration value needs to be greater than 0 InvalidDurationMessage = "Duration needs to be greater than 0" InvalidMaxSurgeMaxUnavailable = "MaxSurge and MaxUnavailable both can not be zero" // InvalidStepMessage indicates that a step must have either setWeight or pause set InvalidStepMessage = "Step must have one of the following set: experiment, setWeight, setCanaryScale or pause" // InvalidStrategyMessage indicates that multiple strategies can not be listed InvalidStrategyMessage = "Multiple Strategies can not be listed" // DuplicatedServicesBlueGreenMessage the message to indicate that the rollout uses the same service for the active and preview services DuplicatedServicesBlueGreenMessage = "This rollout uses the same service for the active and preview services, but two different services are required." // DuplicatedServicesCanaryMessage indicates that the rollout uses the same service for the stable and canary services DuplicatedServicesCanaryMessage = "This rollout uses the same service for the stable and canary services, but two different services are required." // InvalidAntiAffinityStrategyMessage indicates that Anti-Affinity can only have one strategy listed InvalidAntiAffinityStrategyMessage = "AntiAffinity must have exactly one strategy listed" // InvalidAntiAffinityWeightMessage indicates that Anti-Affinity must have weight between 1-100 InvalidAntiAffinityWeightMessage = "AntiAffinity weight must be between 1-100" // ScaleDownLimitLargerThanRevisionLimit the message to indicate that the rollout's revision history limit can not be smaller than the rollout's scale down limit ScaleDownLimitLargerThanRevisionLimit = "This rollout's revision history limit can not be smaller than the rollout's scale down limit" // InvalidTrafficRoutingMessage indicates that both canary and stable service must be set to use Traffic Routing InvalidTrafficRoutingMessage = "Canary service and Stable service must to be set to use Traffic Routing" // InvalidAnalysisArgsMessage indicates that arguments provided in analysis steps are refrencing un-supported metadatafield. //supported fields are "metadata.annotations", "metadata.labels", "metadata.name", "metadata.namespace", "metadata.uid" InvalidAnalysisArgsMessage = "Analyses arguments must refer to valid object metadata supported by downwardAPI" // InvalidCanaryScaleDownDelay indicates that canary.scaleDownDelaySeconds cannot be used InvalidCanaryScaleDownDelay = "Canary scaleDownDelaySeconds can only be used with traffic routing" // InvalidCanaryDynamicStableScale indicates that canary.dynamicStableScale cannot be used InvalidCanaryDynamicStableScale = "Canary dynamicStableScale can only be used with traffic routing" // InvalidCanaryDynamicStableScaleWithScaleDownDelay indicates that canary.dynamicStableScale cannot be used with scaleDownDelaySeconds InvalidCanaryDynamicStableScaleWithScaleDownDelay = "Canary dynamicStableScale cannot be used with scaleDownDelaySeconds" )
Variables ¶
This section is empty.
Functions ¶
func GetAnalysisTemplateNames ¶ added in v1.0.0
func GetAnalysisTemplateNames(templates AnalysisTemplatesWithType) []string
func GetAnalysisTemplateWithTypeFieldPath ¶
func GetAnalysisTemplateWithTypeFieldPath(templateType AnalysisTemplateType, canaryStepIndex int) *field.Path
func GetServiceWithTypeFieldPath ¶
func GetServiceWithTypeFieldPath(serviceType ServiceType) *field.Path
func ValidateAmbassadorMapping ¶ added in v1.0.0
func ValidateAmbassadorMapping(obj unstructured.Unstructured) field.ErrorList
func ValidateAnalysisTemplateWithType ¶
func ValidateAnalysisTemplateWithType(rollout *v1alpha1.Rollout, template *v1alpha1.AnalysisTemplate, clusterTemplate *v1alpha1.ClusterAnalysisTemplate, templateType AnalysisTemplateType, fldPath *field.Path) field.ErrorList
func ValidateAnalysisTemplatesWithType ¶ added in v1.0.0
func ValidateAnalysisTemplatesWithType(rollout *v1alpha1.Rollout, templates AnalysisTemplatesWithType) field.ErrorList
func ValidateIngress ¶
func ValidateRolloutReferencedResources ¶
func ValidateRolloutReferencedResources(rollout *v1alpha1.Rollout, referencedResources ReferencedResources) field.ErrorList
func ValidateRolloutSpec ¶
ValidateRolloutSpec checks for a valid spec otherwise returns a list of errors.
func ValidateRolloutStrategy ¶
func ValidateRolloutVirtualServicesConfig ¶ added in v1.1.0
ValidateRolloutVirtualServicesConfig checks either VirtualService or VirtualServices configured It returns an error if both VirtualService and VirtualServices are configured. Also, returns an error if both are not configured.
func ValidateService ¶
func ValidateService(svc ServiceWithType, rollout *v1alpha1.Rollout) field.ErrorList
func ValidateVirtualService ¶
func ValidateVirtualService(rollout *v1alpha1.Rollout, obj unstructured.Unstructured) field.ErrorList
Types ¶
type AnalysisTemplateType ¶
type AnalysisTemplateType string
RolloutConditionType defines the conditions of Rollout
const ( PrePromotionAnalysis AnalysisTemplateType = "PrePromotionAnalysis" PostPromotionAnalysis AnalysisTemplateType = "PostPromotionAnalysis" InlineAnalysis AnalysisTemplateType = "InlineAnalysis" BackgroundAnalysis AnalysisTemplateType = "BackgroundAnalysis" )
type AnalysisTemplatesWithType ¶ added in v1.0.0
type AnalysisTemplatesWithType struct { AnalysisTemplates []*v1alpha1.AnalysisTemplate ClusterAnalysisTemplates []*v1alpha1.ClusterAnalysisTemplate TemplateType AnalysisTemplateType // CanaryStepIndex only used for InlineAnalysis CanaryStepIndex int Args []v1alpha1.AnalysisRunArgument }
type ReferencedResources ¶
type ReferencedResources struct { AnalysisTemplatesWithType []AnalysisTemplatesWithType Ingresses []v1beta1.Ingress ServiceWithType []ServiceWithType VirtualServices []unstructured.Unstructured AmbassadorMappings []unstructured.Unstructured }
type ServiceType ¶
type ServiceType string
const ( StableService ServiceType = "StableService" CanaryService ServiceType = "CanaryService" ActiveService ServiceType = "ActiveService" PreviewService ServiceType = "PreviewService" )
type ServiceWithType ¶
type ServiceWithType struct { Service *corev1.Service Type ServiceType }
Click to show internal directories.
Click to hide internal directories.