Skip to content

Commit cba4534

Browse files
NohaIhabckfbot
authored andcommitted
fix: use 443 for tls (#334)
(cherry picked from commit 31b1d6b)
1 parent aced6c7 commit cba4534

2 files changed

Lines changed: 32 additions & 1 deletion

File tree

src/charm.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,10 @@ def _handle_ingress(self, interfaces):
271271

272272
def _ambient_mesh_ingress(self):
273273
# ambient mesh
274-
http_listener = Listener(port=80, protocol=ProtocolType.HTTP)
274+
if self.ingress.tls_enabled:
275+
http_listener = Listener(port=443, protocol=ProtocolType.HTTP)
276+
else:
277+
http_listener = Listener(port=80, protocol=ProtocolType.HTTP)
275278

276279
config = IstioIngressRouteConfig(
277280
model=self.model.name,

tests/unit/test_operator.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import pytest
1010
import yaml
1111
from charmed_kubeflow_chisme.exceptions import GenericCharmRuntimeError
12+
from charms.istio_ingress_k8s.v0.istio_ingress_route import ProtocolType
1213
from charms.kubeflow_dashboard.v0.kubeflow_dashboard_links import (
1314
DASHBOARD_LINKS_FIELD,
1415
DashboardLink,
@@ -401,6 +402,33 @@ def test_sidecar_and_ambient_relations_added(
401402
BlockedStatus,
402403
)
403404

405+
@pytest.mark.parametrize("tls_enabled, expected_port", [(False, 80), (True, 443)])
406+
@patch("charm.KubernetesServicePatch", lambda x, y: None)
407+
@patch("charm.IstioIngressRouteRequirer")
408+
@patch("charm.ServiceMeshConsumer")
409+
def test_ambient_mesh_ingress(
410+
self,
411+
mock_mesh_consumer: MagicMock,
412+
mock_ingress_cls: MagicMock,
413+
harness: Harness,
414+
tls_enabled: bool,
415+
expected_port: int,
416+
):
417+
"""Test that _ambient_mesh_ingress uses the correct port based on TLS setting."""
418+
mock_ingress = MagicMock()
419+
mock_ingress.tls_enabled = tls_enabled
420+
mock_ingress_cls.return_value = mock_ingress
421+
422+
harness.add_relation("istio-ingress-route", "istio-ingress-k8s")
423+
harness.set_leader(True)
424+
harness.begin()
425+
426+
mock_ingress.submit_config.assert_called_once()
427+
config = mock_ingress.submit_config.call_args[0][0]
428+
assert len(config.listeners) == 1
429+
assert config.listeners[0].port == expected_port
430+
assert config.listeners[0].protocol == ProtocolType.HTTP
431+
404432

405433
def add_sidebar_relation(harness: Harness, other_app_name: str):
406434
"""Adds a sidebar relation to a harness."""

0 commit comments

Comments
 (0)