Skip to content

Commit a7fb232

Browse files
authored
Merge pull request #889 from rabbitmq/fix-tls-wss-ports
Fix port exposure in MQTT/STOMP and WS variants
2 parents 571c801 + 18030dc commit a7fb232

File tree

2 files changed

+51
-2
lines changed

2 files changed

+51
-2
lines changed

internal/resource/service.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ package resource
1212
import (
1313
"encoding/json"
1414
"fmt"
15+
1516
"k8s.io/utils/pointer"
1617

1718
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -246,7 +247,7 @@ func (builder *ServiceBuilder) generateServicePortsMap() map[string]corev1.Servi
246247

247248
if builder.Instance.MutualTLSEnabled() {
248249
if builder.Instance.AdditionalPluginEnabled("rabbitmq_web_stomp") {
249-
servicePortsMap["stomps"] = corev1.ServicePort{
250+
servicePortsMap["web-stomp-tls"] = corev1.ServicePort{
250251
Protocol: corev1.ProtocolTCP,
251252
Port: 15673,
252253
Name: "web-stomp-tls",
@@ -255,7 +256,7 @@ func (builder *ServiceBuilder) generateServicePortsMap() map[string]corev1.Servi
255256
}
256257
}
257258
if builder.Instance.AdditionalPluginEnabled("rabbitmq_web_mqtt") {
258-
servicePortsMap["mqtts"] = corev1.ServicePort{
259+
servicePortsMap["web-mqtt-tls"] = corev1.ServicePort{
259260
Protocol: corev1.ProtocolTCP,
260261
Port: 15676,
261262
Name: "web-mqtt-tls",

internal/resource/service_test.go

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,54 @@ var _ = Context("Services", func() {
270270
Entry("OSR", "rabbitmq_multi_dc_replication", "streams", 5551, pointer.String("rabbitmq.com/stream-tls")),
271271
)
272272
})
273+
274+
When("MQTT and Web-MQTT are enabled", func() {
275+
It("exposes ports for both protocols", func() {
276+
instance.Spec.Rabbitmq.AdditionalPlugins = []rabbitmqv1beta1.Plugin{"rabbitmq_mqtt", "rabbitmq_web_mqtt"}
277+
instance.Spec.TLS.CaSecretName = "my-ca"
278+
Expect(serviceBuilder.Update(svc)).To(Succeed())
279+
Expect(svc.Spec.Ports).To(ContainElements([]corev1.ServicePort{
280+
{
281+
Name: "web-mqtt-tls",
282+
Protocol: corev1.ProtocolTCP,
283+
AppProtocol: pointer.String("https"),
284+
Port: 15676,
285+
TargetPort: intstr.FromInt(15676),
286+
},
287+
{
288+
Name: "mqtts",
289+
Protocol: corev1.ProtocolTCP,
290+
AppProtocol: pointer.String("mqtts"),
291+
Port: 8883,
292+
TargetPort: intstr.FromInt(8883),
293+
},
294+
}))
295+
})
296+
})
297+
298+
When("STOMP and Web-STOMP are enabled", func() {
299+
It("exposes ports for both protocols", func() {
300+
instance.Spec.Rabbitmq.AdditionalPlugins = []rabbitmqv1beta1.Plugin{"rabbitmq_stomp", "rabbitmq_web_stomp"}
301+
instance.Spec.TLS.CaSecretName = "my-ca"
302+
Expect(serviceBuilder.Update(svc)).To(Succeed())
303+
Expect(svc.Spec.Ports).To(ContainElements([]corev1.ServicePort{
304+
{
305+
Name: "web-stomp-tls",
306+
Protocol: corev1.ProtocolTCP,
307+
AppProtocol: pointer.String("https"),
308+
Port: 15673,
309+
TargetPort: intstr.FromInt(15673),
310+
},
311+
{
312+
Name: "stomps",
313+
Protocol: corev1.ProtocolTCP,
314+
AppProtocol: pointer.String("stomp.github.io/stomp-tls"),
315+
Port: 61614,
316+
TargetPort: intstr.FromInt(61614),
317+
},
318+
}))
319+
})
320+
})
273321
})
274322

275323
Context("Annotations", func() {

0 commit comments

Comments
 (0)