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 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" // 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." // DuplicatedServicesMessage the message to indicate that the rollout uses the same service for the active and preview 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" // InvalidIstioRoutesMessage indicates that rollout does not have a route specified for the istio Traffic Routing InvalidIstioRoutesMessage = "Istio virtual service must have at least 1 route specified" // 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" )
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 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 }
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.