mirror of https://github.com/kubernetes/kops.git
				
				
				
			Add validation that prevents using Classic load balancers for clusters without DNS
This commit is contained in:
		
							parent
							
								
									7c7350d77c
								
							
						
					
					
						commit
						e68912e2e9
					
				|  | @ -40,6 +40,7 @@ func awsValidateCluster(c *kops.Cluster) field.ErrorList { | |||
| 			allErrs = append(allErrs, awsValidateAdditionalSecurityGroups(field.NewPath("spec", "api", "loadBalancer", "additionalSecurityGroups"), c.Spec.API.LoadBalancer.AdditionalSecurityGroups)...) | ||||
| 			allErrs = append(allErrs, awsValidateSSLPolicy(field.NewPath("spec", "api", "loadBalancer", "sslPolicy"), c.Spec.API.LoadBalancer)...) | ||||
| 			allErrs = append(allErrs, awsValidateLoadBalancerSubnets(field.NewPath("spec", "api", "loadBalancer", "subnets"), c.Spec)...) | ||||
| 			allErrs = append(allErrs, awsValidateTopologyDNS(field.NewPath("spec", "api", "loadBalancer", "type"), c)...) | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
|  | @ -273,6 +274,16 @@ func awsValidateMixedInstancesPolicy(path *field.Path, spec *kops.MixedInstances | |||
| 	return errs | ||||
| } | ||||
| 
 | ||||
| func awsValidateTopologyDNS(fieldPath *field.Path, c *kops.Cluster) field.ErrorList { | ||||
| 	allErrs := field.ErrorList{} | ||||
| 
 | ||||
| 	if c.UsesNoneDNS() && c.Spec.API != nil && c.Spec.API.LoadBalancer != nil && c.Spec.API.LoadBalancer.Class != kops.LoadBalancerClassNetwork { | ||||
| 		allErrs = append(allErrs, field.Forbidden(fieldPath, "topology.dns.type=none requires Network Load Balancer")) | ||||
| 	} | ||||
| 
 | ||||
| 	return allErrs | ||||
| } | ||||
| 
 | ||||
| func awsValidateSSLPolicy(fieldPath *field.Path, spec *kops.LoadBalancerAccessSpec) field.ErrorList { | ||||
| 	allErrs := field.ErrorList{} | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue