Skip TLS section with no secret in Kubernetes ingress

This commit is contained in:
Daniel Tomcej 2019-01-08 02:22:03 -06:00 committed by Traefiker Bot
parent c29a69a60d
commit 099bbb8be7
2 changed files with 21 additions and 0 deletions

View file

@ -642,6 +642,11 @@ func getRuleForHost(host string) string {
func getTLS(ingress *extensionsv1beta1.Ingress, k8sClient Client, tlsConfigs map[string]*tls.Configuration) error {
for _, t := range ingress.Spec.TLS {
if t.SecretName == "" {
log.Debugf("Skipping TLS sub-section for ingress %s/%s: No secret name provided", ingress.Namespace, ingress.Name)
continue
}
newEntryPoints := getSliceStringValue(ingress.Annotations, annotationKubernetesFrontendEntryPoints)
configKey := ingress.Namespace + "/" + t.SecretName

View file

@ -2850,6 +2850,16 @@ func TestGetTLS(t *testing.T) {
),
)
testIngressWithoutSecret := buildIngress(
iNamespace("testing"),
iRules(
iRule(iHost("ep1.example.com")),
),
iTLSes(
iTLS("", "foo.com"),
),
)
testCases := []struct {
desc string
ingress *extensionsv1beta1.Ingress
@ -2976,6 +2986,12 @@ func TestGetTLS(t *testing.T) {
},
},
},
{
desc: "return nil when no secret is defined",
ingress: testIngressWithoutSecret,
client: clientMock{},
result: map[string]*tls.Configuration{},
},
{
desc: "pass the endpoints defined in the annotation to the certificate",
ingress: buildIngress(