Skip to content

Commit aa2ee50

Browse files
committed
fix ssl
1 parent 9cdd0c9 commit aa2ee50

File tree

5 files changed

+28
-39
lines changed

5 files changed

+28
-39
lines changed

internal/provider/adc/translator/gateway.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -105,16 +105,17 @@ func (t *Translator) translateSecret(tctx *provider.TranslateContext, listener g
105105
// Dashboard doesn't allow wildcard hostname
106106
if listener.Hostname != nil && *listener.Hostname != "" {
107107
sslObj.Snis = append(sslObj.Snis, string(*listener.Hostname))
108+
} else {
109+
hosts, err := extractHost(cert)
110+
if err != nil {
111+
return nil, err
112+
}
113+
if len(hosts) == 0 {
114+
log.Warnw("no valid hostname found in certificate", zap.String("secret", secret.Namespace+"/"+secret.Name))
115+
continue
116+
}
117+
sslObj.Snis = append(sslObj.Snis, hosts...)
108118
}
109-
hosts, err := extractHost(cert)
110-
if err != nil {
111-
return nil, err
112-
}
113-
if len(hosts) == 0 {
114-
log.Warnw("no valid hostname found in certificate", zap.String("secret", secret.Namespace+"/"+secret.Name))
115-
continue
116-
}
117-
sslObj.Snis = append(sslObj.Snis, hosts...)
118119
// Note: Dashboard doesn't allow duplicate certificate across ssl objects
119120
sslObj.ID = id.GenID(string(cert))
120121
log.Debugw("generated ssl id", zap.String("ssl id", sslObj.ID), zap.String("secret", secret.Namespace+"/"+secret.Name))

test/e2e/crds/consumer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"github.com/apache/apisix-ingress-controller/test/e2e/scaffold"
2424
)
2525

26-
var _ = FDescribe("Test Consumer", func() {
26+
var _ = Describe("Test Consumer", func() {
2727
s := scaffold.NewDefaultScaffold()
2828

2929
var defaultGatewayProxy = `
@@ -236,7 +236,7 @@ spec:
236236
s.ApplyDefaultGatewayResource(defaultGatewayProxy, defaultGatewayClass, defaultGateway, defaultHTTPRoute)
237237
})
238238

239-
FIt("Create/Update/Delete", func() {
239+
It("Create/Update/Delete", func() {
240240
s.ResourceApplied("Consumer", "consumer-sample", defaultCredential, 1)
241241

242242
time.Sleep(15 * time.Minute)

test/e2e/gatewayapi/controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"github.com/apache/apisix-ingress-controller/test/e2e/scaffold"
2424
)
2525

26-
var _ = FDescribe("Check if controller cache gets synced with correct resources", func() {
26+
var _ = Describe("Check if controller cache gets synced with correct resources", func() {
2727

2828
var gatewayProxyYaml = `
2929
apiVersion: apisix.apache.org/v1alpha1

test/e2e/gatewayapi/gateway.go

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ spec:
148148
})
149149

150150
Context("Gateway SSL", func() {
151-
PIt("Check if SSL resource was created", func() {
151+
It("Check if SSL resource was created", func() {
152152
By("create GatewayProxy")
153153
gatewayProxy := fmt.Sprintf(gatewayProxyYaml, s.Deployer.GetAdminEndpoint(), s.AdminKey())
154154
err := s.CreateResourceFromString(gatewayProxy)
@@ -206,10 +206,10 @@ spec:
206206
assert.Len(GinkgoT(), tls, 1, "tls number not expect")
207207
assert.Len(GinkgoT(), tls[0].Certificates, 1, "length of certificates not expect")
208208
assert.Equal(GinkgoT(), Cert, tls[0].Certificates[0].Certificate, "tls cert not expect")
209-
assert.ElementsMatch(GinkgoT(), []string{host, "*.api6.com"}, tls[0].Snis)
209+
assert.ElementsMatch(GinkgoT(), []string{host}, tls[0].Snis)
210210
})
211211

212-
PIt("Gateway SSL with and without hostname", func() {
212+
It("Gateway SSL with and without hostname", func() {
213213
By("create GatewayProxy")
214214
gatewayProxy := fmt.Sprintf(gatewayProxyYaml, s.Deployer.GetAdminEndpoint(), s.AdminKey())
215215
err := s.CreateResourceFromString(gatewayProxy)
@@ -277,36 +277,24 @@ spec:
277277
tls, err := s.DefaultDataplaneResource().SSL().List(context.Background())
278278
assert.Nil(GinkgoT(), err, "list tls error")
279279
assert.Len(GinkgoT(), tls, 1, "tls number not expect")
280-
assert.Equal(GinkgoT(), Cert, tls[0].Cert, "tls cert not expect")
280+
assert.Len(GinkgoT(), tls[0].Certificates, 1, "length of certificates not expect")
281+
assert.Equal(GinkgoT(), Cert, tls[0].Certificates[0].Certificate, "tls cert not expect")
281282
assert.Equal(GinkgoT(), tls[0].Labels["k8s/controller-name"], "apisix.apache.org/apisix-ingress-controller")
282283

283284
By("update secret")
284285
err = s.NewKubeTlsSecret(secretName, framework.TestCert, framework.TestKey)
285286
Expect(err).NotTo(HaveOccurred(), "update secret")
286287
Eventually(func() string {
287288
tls, err := s.DefaultDataplaneResource().SSL().List(context.Background())
288-
assert.Nil(GinkgoT(), err, "list tls error")
289-
assert.Len(GinkgoT(), tls, 1, "tls number not expect")
290-
assert.Len(GinkgoT(), tls[0].Certificates, 1, "length of certificates not expect")
291-
assert.Equal(GinkgoT(), Cert, tls[0].Certificates[0].Certificate, "tls cert not expect")
292-
assert.Equal(GinkgoT(), tls[0].Labels["k8s/controller-name"], "apisix.apache.org/apisix-ingress-controller")
293-
294-
By("update secret")
295-
err = s.NewKubeTlsSecret(secretName, framework.TestCert, framework.TestKey)
296-
Expect(err).NotTo(HaveOccurred(), "update secret")
297-
Eventually(func() string {
298-
tls, err := s.DefaultDataplaneResource().SSL().List(context.Background())
299-
Expect(err).NotTo(HaveOccurred(), "list ssl from dashboard")
300-
if len(tls) < 1 {
301-
return ""
302-
}
303-
if len(tls[0].Certificates) < 1 {
304-
return ""
305-
}
306-
return tls[0].Certificates[0].Certificate
307-
}).WithTimeout(8 * time.Second).ProbeEvery(time.Second).Should(Equal(framework.TestCert))
308-
})
289+
Expect(err).NotTo(HaveOccurred(), "list ssl from dashboard")
290+
if len(tls) < 1 {
291+
return ""
292+
}
293+
if len(tls[0].Certificates) < 1 {
294+
return ""
295+
}
296+
return tls[0].Certificates[0].Certificate
297+
}).WithTimeout(8 * time.Second).ProbeEvery(time.Second).Should(Equal(framework.TestCert))
309298
})
310299
})
311-
312300
})

test/e2e/gatewayapi/httproute.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ spec:
555555
Status(200)
556556
})
557557

558-
PIt("Match Port", func() {
558+
It("Match Port", func() {
559559
By("create HTTPRoute")
560560
ResourceApplied("HTTPRoute", "httpbin", invalidBackendPort, 1)
561561

0 commit comments

Comments
 (0)