From 3b302282752666ba67bfdb31dc503e4613b4155a Mon Sep 17 00:00:00 2001 From: Tanya Date: Tue, 21 May 2024 15:58:39 +0300 Subject: [PATCH] More fixed expected results. Small fix in printing TCP connections in dot format. Signed-off-by: Tanya --- nca/FWRules/DotGraph.py | 3 +- .../livesim_test_all_dot.dot | 6 +- .../livesim_test_all_txt.txt | 4 +- ...vity_test_methods_basic_1_query_output.txt | 2 +- ...ity_test_methods_basic_1_query_output.yaml | 25 ++++--- ...vity_test_methods_basic_2_query_output.txt | 4 +- ...ity_test_methods_basic_2_query_output.yaml | 24 +++---- ...vity_test_methods_paths_1_query_output.txt | 2 +- ...ity_test_methods_paths_1_query_output.yaml | 27 +++---- ...ty_test_operation_allow_1_query_output.txt | 2 +- ...y_test_operation_allow_1_query_output.yaml | 6 +- ...ity_test_operation_deny_1_query_output.txt | 4 +- ...ty_test_operation_deny_1_query_output.yaml | 38 +++++----- .../istio-test1-scheme_query1_output.txt | 4 +- .../istio-test1-scheme_query1_output.yaml | 6 +- .../istio-test1-scheme_query2_output.txt | 6 +- .../istio-test1-scheme_query2_output.yaml | 9 +-- ...scheme_query_connectivity_map_4_output.csv | 4 +- ...-scheme_query_connectivity_map_4_output.md | 4 +- ...cheme_query_connectivity_map_4_output.yaml | 8 +-- ...boutique_multi_layer_from_live_cluster.txt | 28 ++++---- ...est-connectivity-map-missing-resources.dot | 70 +++++++++---------- ...-and-k8s-ingress-test-connectivity-map.dot | 70 +++++++++---------- ...est-connectivity-map-missing-resources.dot | 38 +++++----- ...ex-istio-ingress-test-connectivity-map.dot | 38 +++++----- ...nectivity-bookinfo-demo-by-deployments.dot | 10 +-- .../connectivity-bookinfo-demo-by-pods.dot | 10 +-- ...tivity_map_of_onlineboutique_resources.txt | 20 +++--- ...boutique_resources_with_istio_gateways.txt | 24 +++---- ...ly_istio_ingress_test_connectivity_map.txt | 4 +- .../istio_egress_test_connectivity_map.txt | 4 +- .../istio_ingress_test_connectivity_map.txt | 6 +- ...es_connectivity_map_with_baseline_rule.txt | 18 ++--- ...synth_res_connectivity_map_wo_fw_rules.txt | 30 ++++---- ...ars-and-gateways-test-connectivity-map.txt | 6 +- 35 files changed, 271 insertions(+), 293 deletions(-) diff --git a/nca/FWRules/DotGraph.py b/nca/FWRules/DotGraph.py index 1d983cb3..0323ea4a 100644 --- a/nca/FWRules/DotGraph.py +++ b/nca/FWRules/DotGraph.py @@ -232,9 +232,8 @@ def _set_labels_dict(self): # for each label, the short will look like "tcp" if there is a port, or "TCP" if there is no port for label in self.labels: splitted_label = label.replace('{', '').replace('}', '').split(',') - label_type = self.get_val_by_key_from_list(splitted_label, 'protocols') + label_type = self.get_val_by_key_from_list(splitted_label, 'protocols') or 'TCP' label_port = self.get_val_by_key_from_list(splitted_label, 'dst_ports') - assert label == 'All' or label_type # a 'dst_ports' can be too long (like 'port0,port1-port2' ) we trim it to the first port: if len(label_port) > 6: label_port = label_port.split(',')[0].split('-')[0] diff --git a/tests/expected_cmdline_output_files/livesim_test_all_dot.dot b/tests/expected_cmdline_output_files/livesim_test_all_dot.dot index 5223c5e3..e5812eb2 100644 --- a/tests/expected_cmdline_output_files/livesim_test_all_dot.dot +++ b/tests/expected_cmdline_output_files/livesim_test_all_dot.dot @@ -4,7 +4,7 @@ digraph { fontsize=30 fontcolor=maroon subgraph cluster_map_explanation { - dict_box [label=<
Connectivity legend
All All
tcp5678 {protocols:TCP,dst_ports:5678,...
tcp80 {protocols:TCP,dst_ports:80,ho...
> shape=box] + dict_box [label=<
Connectivity legend
All All
tcp5678 {dst_ports:5678,paths:/foo(/*)?}
tcp80 {dst_ports:80,hosts:httpbin.ex...
> shape=box] "0.0.0.0/0" [label=<
0.0.0.0/0
> shape=box fontcolor=red2 tooltip="IP Block"] subgraph cluster_default_namespace{ label="default" @@ -42,8 +42,8 @@ subgraph cluster_kube_system_namespace{ "0.0.0.0/0" -> "ingress-controller-ns/ingress-controller-livesim(Pod)"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "0.0.0.0/0" -> "istio-system/istio-ingressgateway-livesim(Pod)"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "default/deployment-B(Deployment)" -> "default/deployment-A(Deployment)"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=normal] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "default/foo-app(Pod)"[label="tcp5678" labeltooltip="{protocols:TCP,dst_ports:5678,paths:/foo(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "default/httpbin(Deployment)"[label="tcp80" labeltooltip="{protocols:TCP,dst_ports:80,hosts:httpbin.example.com,paths:(/status(/*)?)|(/delay(/*)?)}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "default/foo-app(Pod)"[label="tcp5678" labeltooltip="{dst_ports:5678,paths:/foo(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "default/httpbin(Deployment)"[label="tcp80" labeltooltip="{dst_ports:80,hosts:httpbin.example.com,paths:(/status(/*)?)|(/delay(/*)?)}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "kube-system/kube-dns-livesim(Pod)" -> "0.0.0.0/0"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=normal] "kube-system/kube-dns-livesim(Pod)" -> "default/foo-app(Pod)"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "kube-system/kube-dns-livesim(Pod)" -> "default/httpbin(Deployment)"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] diff --git a/tests/expected_cmdline_output_files/livesim_test_all_txt.txt b/tests/expected_cmdline_output_files/livesim_test_all_txt.txt index 10663c51..0e714c6e 100644 --- a/tests/expected_cmdline_output_files/livesim_test_all_txt.txt +++ b/tests/expected_cmdline_output_files/livesim_test_all_txt.txt @@ -3,8 +3,8 @@ src: 0.0.0.0/0 dst_ns: [default] dst_pods: [!has(dep)] conn: All connections src: 0.0.0.0/0 dst_ns: [ingress-controller-ns,istio-system,kube-system] dst_pods: [*] conn: All connections src_ns: [default] src_pods: [dep=A] dst_ns: [default] dst_pods: [dep=B] conn: All connections src_ns: [default] src_pods: [dep=B] dst_ns: [default] dst_pods: [dep=A] conn: All connections -src_ns: [ingress-controller-ns] src_pods: [*] dst_ns: [default] dst_pods: [foo-app] conn: {protocols:TCP,dst_ports:5678,paths:/foo(/*)?} -src_ns: [istio-system] src_pods: [*] dst_ns: [default] dst_pods: [httpbin] conn: {protocols:TCP,dst_ports:80,hosts:httpbin.example.com,paths:(/status(/*)?)|(/delay(/*)?)} +src_ns: [ingress-controller-ns] src_pods: [*] dst_ns: [default] dst_pods: [foo-app] conn: {dst_ports:5678,paths:/foo(/*)?} +src_ns: [istio-system] src_pods: [*] dst_ns: [default] dst_pods: [httpbin] conn: {dst_ports:80,hosts:httpbin.example.com,paths:(/status(/*)?)|(/delay(/*)?)} src_ns: [kube-system] src_pods: [*] dst: 0.0.0.0/0 conn: All connections src_ns: [kube-system] src_pods: [*] dst_ns: [default] dst_pods: [!has(dep)] conn: All connections src_ns: [kube-system] src_pods: [*] dst_ns: [ingress-controller-ns,istio-system,kube-system] dst_pods: [*] conn: All connections diff --git a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_1_query_output.txt b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_1_query_output.txt index d5cd0cce..5f9b270e 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_1_query_output.txt +++ b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_1_query_output.txt @@ -1,6 +1,6 @@ For connections of type TCP, final fw rules for query: connectivity-istio-test-methods-basic-1, config: istio-test-methods-basic-1: src_ns: [default] src_pods: [*] dst: 0.0.0.0/0 conn: All connections -src_ns: [default] src_pods: [app=productpage] dst_ns: [default] dst_pods: [app=details] conn: {protocols:TCP,dst_ports:80,methods:GET} +src_ns: [default] src_pods: [app=productpage] dst_ns: [default] dst_pods: [app=details] conn: {dst_ports:80,methods:GET} src_ns: [default] src_pods: [app=productpage] dst_ns: [default] dst_pods: [app=reviews] conn: All connections For connections of type non-TCP, final fw rules for query: connectivity-istio-test-methods-basic-1, config: istio-test-methods-basic-1: diff --git a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_1_query_output.yaml b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_1_query_output.yaml index 1a08b2eb..3d03b0ec 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_1_query_output.yaml +++ b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_1_query_output.yaml @@ -4,19 +4,6 @@ numerical_result: 0 explanation: - TCP_rules: - - src_ns: - - default - src_pods: - - app=productpage - dst_ns: - - default - dst_pods: - - app=details - connection: - - protocols: TCP - dst_ports: - - 80 - methods: GET - src_ns: - default src_pods: @@ -35,6 +22,18 @@ - app=reviews connection: - All connections + - src_ns: + - default + src_pods: + - app=productpage + dst_ns: + - default + dst_pods: + - app=details + connection: + - dst_ports: + - 80 + methods: GET non-TCP_rules: - src_ip_block: - 0.0.0.0/0 diff --git a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_2_query_output.txt b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_2_query_output.txt index 89a233b1..5fe9a2a5 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_2_query_output.txt +++ b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_2_query_output.txt @@ -1,7 +1,7 @@ For connections of type TCP, final fw rules for query: connectivity-istio-test-methods-basic-2, config: istio-test-methods-basic-2: src_ns: [default] src_pods: [*] dst: 0.0.0.0/0 conn: All connections -src_ns: [default] src_pods: [app=productpage] dst_ns: [default] dst_pods: [app=details] conn: {protocols:TCP,methods:all but GET} -src_ns: [default] src_pods: [app=productpage] dst_ns: [default] dst_pods: [app=reviews] conn: {protocols:TCP,methods:PUT} +src_ns: [default] src_pods: [app=productpage] dst_ns: [default] dst_pods: [app=details] conn: {methods:all but GET} +src_ns: [default] src_pods: [app=productpage] dst_ns: [default] dst_pods: [app=reviews] conn: {methods:PUT} For connections of type non-TCP, final fw rules for query: connectivity-istio-test-methods-basic-2, config: istio-test-methods-basic-2: src: 0.0.0.0/0 dst_ns: [default] dst_pods: [*] conn: All connections diff --git a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_2_query_output.yaml b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_2_query_output.yaml index 5e95901d..ff4bd693 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_2_query_output.yaml +++ b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_basic_2_query_output.yaml @@ -7,14 +7,11 @@ - src_ns: - default src_pods: - - app=productpage - dst_ns: - - default - dst_pods: - - app=details + - '*' + dst_ip_block: + - 0.0.0.0/0 connection: - - protocols: TCP - methods: all but GET + - All connections - src_ns: - default src_pods: @@ -24,16 +21,17 @@ dst_pods: - app=reviews connection: - - protocols: TCP - methods: PUT + - methods: PUT - src_ns: - default src_pods: - - '*' - dst_ip_block: - - 0.0.0.0/0 + - app=productpage + dst_ns: + - default + dst_pods: + - app=details connection: - - All connections + - methods: all but GET non-TCP_rules: - src_ip_block: - 0.0.0.0/0 diff --git a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_paths_1_query_output.txt b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_paths_1_query_output.txt index 4a5c212e..3cd82724 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_paths_1_query_output.txt +++ b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_paths_1_query_output.txt @@ -1,6 +1,6 @@ For connections of type TCP, final fw rules for query: connectivity-istio-test-methods-paths-1, config: istio-test-methods-paths-1: src_ns: [default] src_pods: [*] dst: 0.0.0.0/0 conn: All connections -src_ns: [default] src_pods: [app=productpage] dst_ns: [default] dst_pods: [app=details] conn: {protocols:TCP,dst_ports:80,methods:GET,hosts:allowed-host.com,paths:all but /bad/path1, /bad/path3},{protocols:TCP,dst_ports:80,methods:GET,hosts:all but allowed-host.com, disallowed-host.com,paths:/good_path1, /good_path2, /some/path2},{protocols:TCP,dst_ports:80,methods:PUT,hosts:all but disallowed-host.com,paths:/good_path1, /good_path2, /some/path2},{protocols:TCP,dst_ports:80,methods:all but GET, PUT,hosts:allowed-host.com,paths:all but /bad/path1, /bad/path3, /some/path2},{protocols:TCP,dst_ports:90,methods:GET, PUT,hosts:all but disallowed-host.com,paths:/good_path1, /good_path2, /some/path2},{protocols:TCP,dst_ports:100,methods:all but PUT,hosts:allowed-host.com,paths:all but /bad/path1, /bad/path3, /some/path2},{protocols:TCP,dst_ports:100,methods:all but PUT,hosts:all but allowed-host.com,paths:/some/path3},{protocols:TCP,dst_ports:100,methods:PUT,paths:/some/path3},{protocols:TCP,dst_ports:1-79,81-89,91-99,101-65535,methods:all but PUT,hosts:allowed-host.com,paths:all but /bad/path1, /bad/path3, /some/path2} +src_ns: [default] src_pods: [app=productpage] dst_ns: [default] dst_pods: [app=details] conn: {dst_ports:80,methods:GET,hosts:allowed-host.com,paths:all but /bad/path1, /bad/path3},{dst_ports:80,methods:GET,hosts:all but allowed-host.com, disallowed-host.com,paths:/good_path1, /good_path2, /some/path2},{dst_ports:80,methods:PUT,hosts:all but disallowed-host.com,paths:/good_path1, /good_path2, /some/path2},{dst_ports:80,methods:all but GET, PUT,hosts:allowed-host.com,paths:all but /bad/path1, /bad/path3, /some/path2},{dst_ports:90,methods:GET, PUT,hosts:all but disallowed-host.com,paths:/good_path1, /good_path2, /some/path2},{dst_ports:100,methods:all but PUT,hosts:allowed-host.com,paths:all but /bad/path1, /bad/path3, /some/path2},{dst_ports:100,methods:all but PUT,hosts:all but allowed-host.com,paths:/some/path3},{dst_ports:100,methods:PUT,paths:/some/path3},{dst_ports:1-79,81-89,91-99,101-65535,methods:all but PUT,hosts:allowed-host.com,paths:all but /bad/path1, /bad/path3, /some/path2} For connections of type non-TCP, final fw rules for query: connectivity-istio-test-methods-paths-1, config: istio-test-methods-paths-1: src: 0.0.0.0/0 dst_ns: [default] dst_pods: [*] conn: All connections diff --git a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_paths_1_query_output.yaml b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_paths_1_query_output.yaml index 41f96cef..cc2f1344 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_paths_1_query_output.yaml +++ b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_methods_paths_1_query_output.yaml @@ -21,55 +21,46 @@ dst_pods: - app=details connection: - - protocols: TCP - dst_ports: + - dst_ports: - 80 methods: GET hosts: allowed-host.com paths: all but /bad/path1, /bad/path3 - - protocols: TCP - dst_ports: + - dst_ports: - 80 methods: GET hosts: all but allowed-host.com, disallowed-host.com paths: /good_path1, /good_path2, /some/path2 - - protocols: TCP - dst_ports: + - dst_ports: - 80 methods: PUT hosts: all but disallowed-host.com paths: /good_path1, /good_path2, /some/path2 - - protocols: TCP - dst_ports: + - dst_ports: - 80 methods: all but GET, PUT hosts: allowed-host.com paths: all but /bad/path1, /bad/path3, /some/path2 - - protocols: TCP - dst_ports: + - dst_ports: - 90 methods: GET, PUT hosts: all but disallowed-host.com paths: /good_path1, /good_path2, /some/path2 - - protocols: TCP - dst_ports: + - dst_ports: - 100 methods: all but PUT hosts: allowed-host.com paths: all but /bad/path1, /bad/path3, /some/path2 - - protocols: TCP - dst_ports: + - dst_ports: - 100 methods: all but PUT hosts: all but allowed-host.com paths: /some/path3 - - protocols: TCP - dst_ports: + - dst_ports: - 100 methods: PUT paths: /some/path3 - - protocols: TCP - dst_ports: + - dst_ports: - 1-79 - 81-89 - 91-99 diff --git a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_allow_1_query_output.txt b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_allow_1_query_output.txt index d0b54ec3..636c0bb6 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_allow_1_query_output.txt +++ b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_allow_1_query_output.txt @@ -1,6 +1,6 @@ For connections of type TCP, final fw rules for query: connectivity-istio-test-operation-allow-1, config: istio-test-operation-allow-1: src_ns: [default] src_pods: [*] dst: 0.0.0.0/0 conn: All connections -src_ns: [default] src_pods: [app=productpage] dst_ns: [default] dst_pods: [app=details] conn: {protocols:TCP,methods:GET,paths:/info*},{protocols:TCP,methods:POST,paths:/data} +src_ns: [default] src_pods: [app=productpage] dst_ns: [default] dst_pods: [app=details] conn: {methods:GET,paths:/info*},{methods:POST,paths:/data} For connections of type non-TCP, final fw rules for query: connectivity-istio-test-operation-allow-1, config: istio-test-operation-allow-1: src: 0.0.0.0/0 dst_ns: [default] dst_pods: [*] conn: All connections diff --git a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_allow_1_query_output.yaml b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_allow_1_query_output.yaml index 56c44d82..c7b924a3 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_allow_1_query_output.yaml +++ b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_allow_1_query_output.yaml @@ -21,11 +21,9 @@ dst_pods: - app=details connection: - - protocols: TCP - methods: GET + - methods: GET paths: /info* - - protocols: TCP - methods: POST + - methods: POST paths: /data non-TCP_rules: - src_ip_block: diff --git a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_deny_1_query_output.txt b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_deny_1_query_output.txt index c628daca..d79f5161 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_deny_1_query_output.txt +++ b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_deny_1_query_output.txt @@ -1,8 +1,8 @@ For connections of type TCP, final fw rules for query: connectivity-istio-test-operation-deny-1, config: istio-test-operation-deny-1: -src: 0.0.0.0/0 dst_ns: [default] dst_pods: [*] conn: {protocols:TCP,methods:all but GET} +src: 0.0.0.0/0 dst_ns: [default] dst_pods: [*] conn: {methods:all but GET} src: 0.0.0.0/0 dst_ns: [default] dst_pods: [app!=details] conn: All connections src_ns: [default] src_pods: [*] dst: 0.0.0.0/0 conn: All connections -src_ns: [default] src_pods: [*] dst_ns: [default] dst_pods: [*] conn: {protocols:TCP,methods:all but GET} +src_ns: [default] src_pods: [*] dst_ns: [default] dst_pods: [*] conn: {methods:all but GET} src_ns: [default] src_pods: [*] dst_ns: [default] dst_pods: [app!=details] conn: All connections src_ns: [default] src_pods: [app=details] dst_ns: [default] dst_pods: [*] conn: All connections diff --git a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_deny_1_query_output.yaml b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_deny_1_query_output.yaml index efd77f3f..f3969236 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_deny_1_query_output.yaml +++ b/tests/fw_rules_tests/policies/expected_output/istio-bookinfo-connectivity_test_operation_deny_1_query_output.yaml @@ -4,26 +4,6 @@ numerical_result: 0 explanation: - TCP_rules: - - src_ip_block: - - 0.0.0.0/0 - dst_ns: - - default - dst_pods: - - '*' - connection: - - protocols: TCP - methods: all but GET - - src_ns: - - default - src_pods: - - '*' - dst_ns: - - default - dst_pods: - - '*' - connection: - - protocols: TCP - methods: all but GET - src_ip_block: - 0.0.0.0/0 dst_ns: @@ -60,6 +40,24 @@ - '*' connection: - All connections + - src_ip_block: + - 0.0.0.0/0 + dst_ns: + - default + dst_pods: + - '*' + connection: + - methods: all but GET + - src_ns: + - default + src_pods: + - '*' + dst_ns: + - default + dst_pods: + - '*' + connection: + - methods: all but GET non-TCP_rules: - src_ip_block: - 0.0.0.0/0 diff --git a/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query1_output.txt b/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query1_output.txt index 76f409cb..53c48ff2 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query1_output.txt +++ b/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query1_output.txt @@ -1,11 +1,11 @@ For connections of type TCP, final fw rules for query: istio-policy1, config: istio-policy1: src: 0.0.0.0/0 dst_ns: [default] dst_pods: [app=special_skydive] conn: All connections src: 0.0.0.0/0 dst_ns: [kube-system,vendor-system] dst_pods: [*] conn: All connections -src: 1.2.3.0/24 dst_ns: [default] dst_pods: [*] conn: {protocols:TCP,dst_ports:26257} +src: 1.2.3.0/24 dst_ns: [default] dst_pods: [*] conn: {dst_ports:26257} src_ns: [default,kube-system,vendor-system] src_pods: [*] dst: 0.0.0.0/0 conn: All connections src_ns: [default,kube-system,vendor-system] src_pods: [*] dst_ns: [default] dst_pods: [app=special_skydive] conn: All connections src_ns: [default,kube-system,vendor-system] src_pods: [*] dst_ns: [kube-system,vendor-system] dst_pods: [*] conn: All connections -src_ns: [default,vendor-system] src_pods: [*] dst_ns: [default] dst_pods: [*] conn: {protocols:TCP,dst_ports:26257} +src_ns: [default,vendor-system] src_pods: [*] dst_ns: [default] dst_pods: [*] conn: {dst_ports:26257} For connections of type non-TCP, final fw rules for query: istio-policy1, config: istio-policy1: src: 0.0.0.0/0 dst_ns: [default,kube-system,vendor-system] dst_pods: [*] conn: All connections diff --git a/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query1_output.yaml b/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query1_output.yaml index 0d9aef2e..fb533b56 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query1_output.yaml +++ b/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query1_output.yaml @@ -11,8 +11,7 @@ dst_pods: - '*' connection: - - protocols: TCP - dst_ports: + - dst_ports: - 26257 - src_ns: - default @@ -24,8 +23,7 @@ dst_pods: - '*' connection: - - protocols: TCP - dst_ports: + - dst_ports: - 26257 - src_ip_block: - 0.0.0.0/0 diff --git a/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query2_output.txt b/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query2_output.txt index b3b99f0a..4330f880 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query2_output.txt +++ b/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query2_output.txt @@ -1,8 +1,8 @@ For connections of type TCP, final fw rules for query: istio-policy2, config: istio-policy2: -src: 1.2.3.0/24,2.2.2.2/32 dst_ns: [default] dst_pods: [app=skydive] conn: {protocols:TCP,dst_ports:30,50} +src: 1.2.3.0/24,2.2.2.2/32 dst_ns: [default] dst_pods: [app=skydive] conn: {dst_ports:30,50} src_ns: [default,kube-system,vendor-system] src_pods: [*] dst: 0.0.0.0/0 conn: All connections -src_ns: [default,kube-system] src_pods: [*] dst_ns: [default] dst_pods: [app=skydive] conn: {protocols:TCP,dst_ports:30,50} -src_ns: [default] src_pods: [app=special_skydive] dst_ns: [default] dst_pods: [*] conn: {protocols:TCP,dst_ports:30,50} +src_ns: [default,kube-system] src_pods: [*] dst_ns: [default] dst_pods: [app=skydive] conn: {dst_ports:30,50} +src_ns: [default] src_pods: [app=special_skydive] dst_ns: [default] dst_pods: [*] conn: {dst_ports:30,50} For connections of type non-TCP, final fw rules for query: istio-policy2, config: istio-policy2: src: 0.0.0.0/0 dst_ns: [default,kube-system,vendor-system] dst_pods: [*] conn: All connections diff --git a/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query2_output.yaml b/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query2_output.yaml index 697a639e..28af3258 100644 --- a/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query2_output.yaml +++ b/tests/fw_rules_tests/policies/expected_output/istio-test1-scheme_query2_output.yaml @@ -12,8 +12,7 @@ dst_pods: - app=skydive connection: - - protocols: TCP - dst_ports: + - dst_ports: - 30 - 50 - src_ns: @@ -26,8 +25,7 @@ dst_pods: - app=skydive connection: - - protocols: TCP - dst_ports: + - dst_ports: - 30 - 50 - src_ns: @@ -39,8 +37,7 @@ dst_pods: - '*' connection: - - protocols: TCP - dst_ports: + - dst_ports: - 30 - 50 - src_ns: diff --git a/tests/fw_rules_tests/policies/expected_output/test4-scheme_query_connectivity_map_4_output.csv b/tests/fw_rules_tests/policies/expected_output/test4-scheme_query_connectivity_map_4_output.csv index 54731a95..713eb033 100644 --- a/tests/fw_rules_tests/policies/expected_output/test4-scheme_query_connectivity_map_4_output.csv +++ b/tests/fw_rules_tests/policies/expected_output/test4-scheme_query_connectivity_map_4_output.csv @@ -3,9 +3,9 @@ "","","0.0.0.0/0","[default,ibm-system-new,kube-system-new-dummy-to-ignore]","[*]","All connections", "","[default,ibm-system-new,kube-system-new,kube-system-new-dummy-to-ignore]","[*]","","0.0.0.0/0","All connections", "","[default,ibm-system-new,kube-system-new,kube-system-new-dummy-to-ignore]","[*]","[default,ibm-system-new,kube-system-new-dummy-to-ignore]","[*]","All connections", -"","[default]","[*]","[kube-system-new]","[*]","{protocols:TCP,dst_ports:85-90}", -"","[ibm-system-new]","[*]","[kube-system-new]","[*]","{protocols:TCP,dst_ports:80-90}", "","[kube-system-new-dummy-to-ignore]","[*]","[kube-system-new]","[*]","{protocols:TCP,dst_ports:80-88}", +"","[ibm-system-new]","[*]","[kube-system-new]","[*]","{protocols:TCP,dst_ports:80-90}", +"","[default]","[*]","[kube-system-new]","[*]","{protocols:TCP,dst_ports:85-90}", "query","src_ns","src_pods","dst_ns","dst_pods","connection", "connectivity_map_4, config: np3","","","","","", diff --git a/tests/fw_rules_tests/policies/expected_output/test4-scheme_query_connectivity_map_4_output.md b/tests/fw_rules_tests/policies/expected_output/test4-scheme_query_connectivity_map_4_output.md index 3a831eb0..86bb521c 100644 --- a/tests/fw_rules_tests/policies/expected_output/test4-scheme_query_connectivity_map_4_output.md +++ b/tests/fw_rules_tests/policies/expected_output/test4-scheme_query_connectivity_map_4_output.md @@ -4,9 +4,9 @@ |||0.0.0.0/0|[default,ibm-system-new,kube-system-new-dummy-to-ignore]|[*]|All connections| ||[default,ibm-system-new,kube-system-new,kube-system-new-dummy-to-ignore]|[*]||0.0.0.0/0|All connections| ||[default,ibm-system-new,kube-system-new,kube-system-new-dummy-to-ignore]|[*]|[default,ibm-system-new,kube-system-new-dummy-to-ignore]|[*]|All connections| -||[default]|[*]|[kube-system-new]|[*]|{protocols:TCP,dst_ports:85-90}| -||[ibm-system-new]|[*]|[kube-system-new]|[*]|{protocols:TCP,dst_ports:80-90}| ||[kube-system-new-dummy-to-ignore]|[*]|[kube-system-new]|[*]|{protocols:TCP,dst_ports:80-88}| +||[ibm-system-new]|[*]|[kube-system-new]|[*]|{protocols:TCP,dst_ports:80-90}| +||[default]|[*]|[kube-system-new]|[*]|{protocols:TCP,dst_ports:85-90}| |query|src_ns|src_pods|dst_ns|dst_pods|connection| |---|---|---|---|---|---| diff --git a/tests/fw_rules_tests/policies/expected_output/test4-scheme_query_connectivity_map_4_output.yaml b/tests/fw_rules_tests/policies/expected_output/test4-scheme_query_connectivity_map_4_output.yaml index a36e52ad..7e774d8a 100644 --- a/tests/fw_rules_tests/policies/expected_output/test4-scheme_query_connectivity_map_4_output.yaml +++ b/tests/fw_rules_tests/policies/expected_output/test4-scheme_query_connectivity_map_4_output.yaml @@ -41,7 +41,7 @@ connection: - All connections - src_ns: - - default + - kube-system-new-dummy-to-ignore src_pods: - '*' dst_ns: @@ -51,7 +51,7 @@ connection: - protocols: TCP dst_ports: - - 85-90 + - 80-88 - src_ns: - ibm-system-new src_pods: @@ -65,7 +65,7 @@ dst_ports: - 80-90 - src_ns: - - kube-system-new-dummy-to-ignore + - default src_pods: - '*' dst_ns: @@ -75,7 +75,7 @@ connection: - protocols: TCP dst_ports: - - 80-88 + - 85-90 - query: connectivity_map_4 configs: - np3 diff --git a/tests/istio_testcases/example_policies/online_boutique_multi_layer_from_live_cluster_test/connectivity_map_onlineboutique_multi_layer_from_live_cluster.txt b/tests/istio_testcases/example_policies/online_boutique_multi_layer_from_live_cluster_test/connectivity_map_onlineboutique_multi_layer_from_live_cluster.txt index 9ff81c2e..fb3c870f 100644 --- a/tests/istio_testcases/example_policies/online_boutique_multi_layer_from_live_cluster_test/connectivity_map_onlineboutique_multi_layer_from_live_cluster.txt +++ b/tests/istio_testcases/example_policies/online_boutique_multi_layer_from_live_cluster_test/connectivity_map_onlineboutique_multi_layer_from_live_cluster.txt @@ -3,26 +3,26 @@ src: 0.0.0.0/0 dst_ns: [default,kube-system,local-path-storage,projectcontour] d src: 0.0.0.0/0 dst_ns: [istio-system] dst_pods: [app!=istio-egressgateway] conn: All connections src_ns: [default,kube-system,local-path-storage,onlineboutique,projectcontour] src_pods: [*] dst: 0.0.0.0/0 conn: All connections src_ns: [default,kube-system,local-path-storage,onlineboutique,projectcontour] src_pods: [*] dst: connected-with-mesh.example.com conn: All connections -src_ns: [default,kube-system,local-path-storage,onlineboutique,projectcontour] src_pods: [*] dst_ns: [istio-system] dst_pods: [*] conn: {protocols:TCP,dst_ports:8443,hosts:httpbin.example.com} +src_ns: [default,kube-system,local-path-storage,onlineboutique,projectcontour] src_pods: [*] dst_ns: [istio-system] dst_pods: [*] conn: {dst_ports:8443,hosts:httpbin.example.com} src_ns: [default,kube-system,local-path-storage,onlineboutique,projectcontour] src_pods: [*] dst_ns: [istio-system] dst_pods: [app!=istio-egressgateway] conn: All connections src_ns: [default,kube-system,local-path-storage,projectcontour] src_pods: [*] dst_ns: [default,kube-system,local-path-storage,projectcontour] dst_pods: [*] conn: All connections -src_ns: [istio-system] src_pods: [istio-egressgateway] dst: httpbin.example.com conn: {protocols:TCP,dst_ports:80,hosts:httpbin.example.com} -src_ns: [istio-system] src_pods: [istio-ingressgateway] dst_ns: [onlineboutique] dst_pods: [frontend] conn: {protocols:TCP,dst_ports:8080,methods:GET, POST,hosts:ob.alwaysupalwayson.com} +src_ns: [istio-system] src_pods: [istio-egressgateway] dst: httpbin.example.com conn: {dst_ports:80,hosts:httpbin.example.com} +src_ns: [istio-system] src_pods: [istio-ingressgateway] dst_ns: [onlineboutique] dst_pods: [frontend] conn: {dst_ports:8080,methods:GET, POST,hosts:ob.alwaysupalwayson.com} src_ns: [istio-system] src_pods: [istiod] dst: 0.0.0.0/0 conn: All connections src_ns: [istio-system] src_pods: [istiod] dst: connected-with-mesh.example.com conn: All connections src_ns: [istio-system] src_pods: [istiod] dst_ns: [default,kube-system,local-path-storage,projectcontour] dst_pods: [*] conn: All connections -src_ns: [istio-system] src_pods: [istiod] dst_ns: [istio-system] dst_pods: [*] conn: {protocols:TCP,dst_ports:8443,hosts:httpbin.example.com} +src_ns: [istio-system] src_pods: [istiod] dst_ns: [istio-system] dst_pods: [*] conn: {dst_ports:8443,hosts:httpbin.example.com} src_ns: [istio-system] src_pods: [istiod] dst_ns: [istio-system] dst_pods: [app!=istio-egressgateway] conn: All connections -src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [cartservice] conn: {protocols:TCP,dst_ports:7070,methods:POST,paths:/hipstershop.CartService/AddItem, /hipstershop.CartService/GetCart, /hipstershop.CartService/EmptyCart} -src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [currencyservice] conn: {protocols:TCP,dst_ports:7000,methods:POST,paths:/hipstershop.CurrencyService/Convert, /hipstershop.CurrencyService/GetSupportedCurrencies} -src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [shippingservice] conn: {protocols:TCP,dst_ports:50051,methods:POST,paths:/hipstershop.ShippingService/GetQuote, /hipstershop.ShippingService/ShipOrder} -src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend,recommendationservice)] dst_ns: [onlineboutique] dst_pods: [productcatalogservice] conn: {protocols:TCP,dst_ports:3550,methods:POST,paths:/hipstershop.ProductCatalogService/GetProduct, /hipstershop.ProductCatalogService/ListProducts} -src_ns: [onlineboutique] src_pods: [checkoutservice] dst_ns: [onlineboutique] dst_pods: [emailservice] conn: {protocols:TCP,dst_ports:8080,methods:POST,paths:/hipstershop.EmailService/SendOrderConfirmation} -src_ns: [onlineboutique] src_pods: [checkoutservice] dst_ns: [onlineboutique] dst_pods: [paymentservice] conn: {protocols:TCP,dst_ports:50051,methods:POST,paths:/hipstershop.PaymentService/Charge} -src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [adservice] conn: {protocols:TCP,dst_ports:9555,methods:POST,paths:/hipstershop.AdService/GetAds} -src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [checkoutservice] conn: {protocols:TCP,dst_ports:5050,methods:POST,paths:/hipstershop.CheckoutService/PlaceOrder} -src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [recommendationservice] conn: {protocols:TCP,dst_ports:8080,methods:POST,paths:/hipstershop.RecommendationService/ListRecommendations} -src_ns: [onlineboutique] src_pods: [loadgenerator] dst_ns: [onlineboutique] dst_pods: [frontend] conn: {protocols:TCP,dst_ports:8080,methods:GET, POST} +src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [cartservice] conn: {dst_ports:7070,methods:POST,paths:/hipstershop.CartService/AddItem, /hipstershop.CartService/GetCart, /hipstershop.CartService/EmptyCart} +src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [currencyservice] conn: {dst_ports:7000,methods:POST,paths:/hipstershop.CurrencyService/Convert, /hipstershop.CurrencyService/GetSupportedCurrencies} +src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [shippingservice] conn: {dst_ports:50051,methods:POST,paths:/hipstershop.ShippingService/GetQuote, /hipstershop.ShippingService/ShipOrder} +src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend,recommendationservice)] dst_ns: [onlineboutique] dst_pods: [productcatalogservice] conn: {dst_ports:3550,methods:POST,paths:/hipstershop.ProductCatalogService/GetProduct, /hipstershop.ProductCatalogService/ListProducts} +src_ns: [onlineboutique] src_pods: [checkoutservice] dst_ns: [onlineboutique] dst_pods: [emailservice] conn: {dst_ports:8080,methods:POST,paths:/hipstershop.EmailService/SendOrderConfirmation} +src_ns: [onlineboutique] src_pods: [checkoutservice] dst_ns: [onlineboutique] dst_pods: [paymentservice] conn: {dst_ports:50051,methods:POST,paths:/hipstershop.PaymentService/Charge} +src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [adservice] conn: {dst_ports:9555,methods:POST,paths:/hipstershop.AdService/GetAds} +src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [checkoutservice] conn: {dst_ports:5050,methods:POST,paths:/hipstershop.CheckoutService/PlaceOrder} +src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [recommendationservice] conn: {dst_ports:8080,methods:POST,paths:/hipstershop.RecommendationService/ListRecommendations} +src_ns: [onlineboutique] src_pods: [loadgenerator] dst_ns: [onlineboutique] dst_pods: [frontend] conn: {dst_ports:8080,methods:GET, POST} For connections of type non-TCP, final fw rules for query: connectivity-map-of-onlineboutique, config: onlineboutique-resources: src: 0.0.0.0/0 dst_ns: [default,istio-system,kube-system,local-path-storage,projectcontour] dst_pods: [*] conn: All connections diff --git a/tests/istio_testcases/expected_output/complex-istio-and-k8s-ingress-test-connectivity-map-missing-resources.dot b/tests/istio_testcases/expected_output/complex-istio-and-k8s-ingress-test-connectivity-map-missing-resources.dot index 66074b23..f58ddb8f 100644 --- a/tests/istio_testcases/expected_output/complex-istio-and-k8s-ingress-test-connectivity-map-missing-resources.dot +++ b/tests/istio_testcases/expected_output/complex-istio-and-k8s-ingress-test-connectivity-map-missing-resources.dot @@ -4,7 +4,7 @@ digraph { fontsize=30 fontcolor=maroon subgraph cluster_map_explanation { - dict_box [label=<
Connectivity legend
All All
tcp3000a {protocols:TCP,dst_ports:3000,...
tcp3000b {protocols:TCP,dst_ports:3000,...
tcp3000c {protocols:TCP,dst_ports:3000,...
tcp3000d {protocols:TCP,dst_ports:3000,...
tcp3200a {protocols:TCP,dst_ports:3200,...
tcp3200b {protocols:TCP,dst_ports:3200,...
tcp3456a {protocols:TCP,dst_ports:3456,...
tcp3456b {protocols:TCP,dst_ports:3456,...
tcp3500a {protocols:TCP,dst_ports:3500,...
tcp3500b {protocols:TCP,dst_ports:3500,...
tcp4000a {protocols:TCP,dst_ports:4000,...
tcp4000b {protocols:TCP,dst_ports:4000,...
tcp9950a {protocols:TCP,dst_ports:9950,...
tcp9950b {protocols:TCP,dst_ports:9950,...
tcp9950c {protocols:TCP,dst_ports:9950,...
tcp9950d {protocols:TCP,dst_ports:9950,...
tcp9950e {protocols:TCP,dst_ports:9950,...
tcp9950f {protocols:TCP,dst_ports:9950,...
> shape=box] + dict_box [label=<
Connectivity legend
All All
tcp3000a {dst_ports:3000,hosts:aaaa.y.z}
tcp3000b {dst_ports:3000,hosts:iiii.y.z}
tcp3000c {dst_ports:3000,hosts:ooo.y.z,...
tcp3000d {dst_ports:3000,hosts:ooo.y.z,...
tcp3200a {dst_ports:3200,hosts:dddd.y.z}
tcp3200b {dst_ports:3200,hosts:ooo.y.z,...
tcp3456a {dst_ports:3456,hosts:bbbb.y.z}
tcp3456b {dst_ports:3456,hosts:ooo.y.z,...
tcp3500a {dst_ports:3500,hosts:ffff.y.z}
tcp3500b {dst_ports:3500,hosts:ooo.y.z,...
tcp4000a {dst_ports:4000,hosts:gggg.y.z}
tcp4000b {dst_ports:4000,hosts:ooo.y.z,...
tcp9950a {dst_ports:9950,hosts:cccc.y.z}
tcp9950b {dst_ports:9950,hosts:hhhh.y.z}
tcp9950c {dst_ports:9950,hosts:jjjj.y.z}
tcp9950d {dst_ports:9950,hosts:ooo.y.z,...
tcp9950e {dst_ports:9950,hosts:ooo.y.z,...
tcp9950f {dst_ports:9950,hosts:ooo.y.z,...
> shape=box] "0.0.0.0/0" [label=<
0.0.0.0/0
> shape=box fontcolor=red2 tooltip="IP Block"] "biclique_All0" [shape=box fontcolor=red color=red width=0.3 height=0.1 label=biclq fontsize=10 margin=0 xlabel="All" tooltip="Traffic allowed from any source workload of the BICLIQUE to any of its destination workloads: All"] @@ -64,40 +64,40 @@ subgraph cluster_istio_system_namespace{ "example/deploy-hhhh(Deployment)" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "example/deploy-iiii(Deployment)" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "example/deploy-jjjj(Deployment)" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000a" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:aaaa.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000c" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:ooo.y.z,paths:/aaaa(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456a" labeltooltip="{protocols:TCP,dst_ports:3456,hosts:bbbb.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456b" labeltooltip="{protocols:TCP,dst_ports:3456,hosts:ooo.y.z,paths:/bbbb(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-cccc(Deployment)"[label="tcp9950a" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:cccc.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-cccc(Deployment)"[label="tcp9950d" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/cccc(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-dddd(Deployment)"[label="tcp3200a" labeltooltip="{protocols:TCP,dst_ports:3200,hosts:dddd.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-dddd(Deployment)"[label="tcp3200b" labeltooltip="{protocols:TCP,dst_ports:3200,hosts:ooo.y.z,paths:/dddd(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-ffff(Deployment)"[label="tcp3500a" labeltooltip="{protocols:TCP,dst_ports:3500,hosts:ffff.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-ffff(Deployment)"[label="tcp3500b" labeltooltip="{protocols:TCP,dst_ports:3500,hosts:ooo.y.z,paths:/ffff(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-gggg(Deployment)"[label="tcp4000a" labeltooltip="{protocols:TCP,dst_ports:4000,hosts:gggg.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-gggg(Deployment)"[label="tcp4000b" labeltooltip="{protocols:TCP,dst_ports:4000,hosts:ooo.y.z,paths:/gggg(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-iiii(Deployment)"[label="tcp3000b" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:iiii.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-iiii(Deployment)"[label="tcp3000d" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:ooo.y.z,paths:/iiii(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950c" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:jjjj.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950f" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/jjjj(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000a" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:aaaa.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000c" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:ooo.y.z,paths:/aaaa(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456a" labeltooltip="{protocols:TCP,dst_ports:3456,hosts:bbbb.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456b" labeltooltip="{protocols:TCP,dst_ports:3456,hosts:ooo.y.z,paths:/bbbb(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-cccc(Deployment)"[label="tcp9950a" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:cccc.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-cccc(Deployment)"[label="tcp9950d" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/cccc(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-dddd(Deployment)"[label="tcp3200a" labeltooltip="{protocols:TCP,dst_ports:3200,hosts:dddd.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-dddd(Deployment)"[label="tcp3200b" labeltooltip="{protocols:TCP,dst_ports:3200,hosts:ooo.y.z,paths:/dddd(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-ffff(Deployment)"[label="tcp3500a" labeltooltip="{protocols:TCP,dst_ports:3500,hosts:ffff.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-ffff(Deployment)"[label="tcp3500b" labeltooltip="{protocols:TCP,dst_ports:3500,hosts:ooo.y.z,paths:/ffff(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-gggg(Deployment)"[label="tcp4000a" labeltooltip="{protocols:TCP,dst_ports:4000,hosts:gggg.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-gggg(Deployment)"[label="tcp4000b" labeltooltip="{protocols:TCP,dst_ports:4000,hosts:ooo.y.z,paths:/gggg(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950b" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:hhhh.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950e" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/hhhh(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-iiii(Deployment)"[label="tcp3000b" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:iiii.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-iiii(Deployment)"[label="tcp3000d" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:ooo.y.z,paths:/iiii(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950c" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:jjjj.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950f" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/jjjj(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000a" labeltooltip="{dst_ports:3000,hosts:aaaa.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000c" labeltooltip="{dst_ports:3000,hosts:ooo.y.z,paths:/aaaa(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456a" labeltooltip="{dst_ports:3456,hosts:bbbb.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456b" labeltooltip="{dst_ports:3456,hosts:ooo.y.z,paths:/bbbb(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-cccc(Deployment)"[label="tcp9950a" labeltooltip="{dst_ports:9950,hosts:cccc.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-cccc(Deployment)"[label="tcp9950d" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/cccc(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-dddd(Deployment)"[label="tcp3200a" labeltooltip="{dst_ports:3200,hosts:dddd.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-dddd(Deployment)"[label="tcp3200b" labeltooltip="{dst_ports:3200,hosts:ooo.y.z,paths:/dddd(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-ffff(Deployment)"[label="tcp3500a" labeltooltip="{dst_ports:3500,hosts:ffff.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-ffff(Deployment)"[label="tcp3500b" labeltooltip="{dst_ports:3500,hosts:ooo.y.z,paths:/ffff(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-gggg(Deployment)"[label="tcp4000a" labeltooltip="{dst_ports:4000,hosts:gggg.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-gggg(Deployment)"[label="tcp4000b" labeltooltip="{dst_ports:4000,hosts:ooo.y.z,paths:/gggg(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-iiii(Deployment)"[label="tcp3000b" labeltooltip="{dst_ports:3000,hosts:iiii.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-iiii(Deployment)"[label="tcp3000d" labeltooltip="{dst_ports:3000,hosts:ooo.y.z,paths:/iiii(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950c" labeltooltip="{dst_ports:9950,hosts:jjjj.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "ingress-controller-ns/ingress-controller-livesim(Pod)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950f" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/jjjj(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000a" labeltooltip="{dst_ports:3000,hosts:aaaa.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000c" labeltooltip="{dst_ports:3000,hosts:ooo.y.z,paths:/aaaa(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456a" labeltooltip="{dst_ports:3456,hosts:bbbb.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456b" labeltooltip="{dst_ports:3456,hosts:ooo.y.z,paths:/bbbb(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-cccc(Deployment)"[label="tcp9950a" labeltooltip="{dst_ports:9950,hosts:cccc.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-cccc(Deployment)"[label="tcp9950d" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/cccc(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-dddd(Deployment)"[label="tcp3200a" labeltooltip="{dst_ports:3200,hosts:dddd.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-dddd(Deployment)"[label="tcp3200b" labeltooltip="{dst_ports:3200,hosts:ooo.y.z,paths:/dddd(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-ffff(Deployment)"[label="tcp3500a" labeltooltip="{dst_ports:3500,hosts:ffff.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-ffff(Deployment)"[label="tcp3500b" labeltooltip="{dst_ports:3500,hosts:ooo.y.z,paths:/ffff(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-gggg(Deployment)"[label="tcp4000a" labeltooltip="{dst_ports:4000,hosts:gggg.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-gggg(Deployment)"[label="tcp4000b" labeltooltip="{dst_ports:4000,hosts:ooo.y.z,paths:/gggg(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950b" labeltooltip="{dst_ports:9950,hosts:hhhh.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950e" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/hhhh(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-iiii(Deployment)"[label="tcp3000b" labeltooltip="{dst_ports:3000,hosts:iiii.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-iiii(Deployment)"[label="tcp3000d" labeltooltip="{dst_ports:3000,hosts:ooo.y.z,paths:/iiii(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950c" labeltooltip="{dst_ports:9950,hosts:jjjj.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950f" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/jjjj(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] color=white labelloc = "b" fontsize=15 diff --git a/tests/istio_testcases/expected_output/complex-istio-and-k8s-ingress-test-connectivity-map.dot b/tests/istio_testcases/expected_output/complex-istio-and-k8s-ingress-test-connectivity-map.dot index 661be857..85f1fad9 100644 --- a/tests/istio_testcases/expected_output/complex-istio-and-k8s-ingress-test-connectivity-map.dot +++ b/tests/istio_testcases/expected_output/complex-istio-and-k8s-ingress-test-connectivity-map.dot @@ -4,7 +4,7 @@ digraph { fontsize=30 fontcolor=maroon subgraph cluster_map_explanation { - dict_box [label=<
Connectivity legend
All All
tcp3000a {protocols:TCP,dst_ports:3000,...
tcp3000b {protocols:TCP,dst_ports:3000,...
tcp3000c {protocols:TCP,dst_ports:3000,...
tcp3000d {protocols:TCP,dst_ports:3000,...
tcp3200a {protocols:TCP,dst_ports:3200,...
tcp3200b {protocols:TCP,dst_ports:3200,...
tcp3456a {protocols:TCP,dst_ports:3456,...
tcp3456b {protocols:TCP,dst_ports:3456,...
tcp3500a {protocols:TCP,dst_ports:3500,...
tcp3500b {protocols:TCP,dst_ports:3500,...
tcp4000a {protocols:TCP,dst_ports:4000,...
tcp4000b {protocols:TCP,dst_ports:4000,...
tcp9950a {protocols:TCP,dst_ports:9950,...
tcp9950b {protocols:TCP,dst_ports:9950,...
tcp9950c {protocols:TCP,dst_ports:9950,...
tcp9950d {protocols:TCP,dst_ports:9950,...
tcp9950e {protocols:TCP,dst_ports:9950,...
tcp9950f {protocols:TCP,dst_ports:9950,...
> shape=box] + dict_box [label=<
Connectivity legend
All All
tcp3000a {dst_ports:3000,hosts:aaaa.y.z}
tcp3000b {dst_ports:3000,hosts:iiii.y.z}
tcp3000c {dst_ports:3000,hosts:ooo.y.z,...
tcp3000d {dst_ports:3000,hosts:ooo.y.z,...
tcp3200a {dst_ports:3200,hosts:dddd.y.z}
tcp3200b {dst_ports:3200,hosts:ooo.y.z,...
tcp3456a {dst_ports:3456,hosts:bbbb.y.z}
tcp3456b {dst_ports:3456,hosts:ooo.y.z,...
tcp3500a {dst_ports:3500,hosts:ffff.y.z}
tcp3500b {dst_ports:3500,hosts:ooo.y.z,...
tcp4000a {dst_ports:4000,hosts:gggg.y.z}
tcp4000b {dst_ports:4000,hosts:ooo.y.z,...
tcp9950a {dst_ports:9950,hosts:cccc.y.z}
tcp9950b {dst_ports:9950,hosts:hhhh.y.z}
tcp9950c {dst_ports:9950,hosts:jjjj.y.z}
tcp9950d {dst_ports:9950,hosts:ooo.y.z,...
tcp9950e {dst_ports:9950,hosts:ooo.y.z,...
tcp9950f {dst_ports:9950,hosts:ooo.y.z,...
> shape=box] "0.0.0.0/0" [label=<
0.0.0.0/0
> shape=box fontcolor=red2 tooltip="IP Block"] "biclique_All0" [shape=box fontcolor=red color=red width=0.3 height=0.1 label=biclq fontsize=10 margin=0 xlabel="All" tooltip="Traffic allowed from any source workload of the BICLIQUE to any of its destination workloads: All"] @@ -51,41 +51,41 @@ All"] "example/deploy-gggg(Deployment)" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "example/deploy-hhhh(Deployment)" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "example/deploy-iiii(Deployment)" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000a" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:aaaa.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000c" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:ooo.y.z,paths:/aaaa(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456a" labeltooltip="{protocols:TCP,dst_ports:3456,hosts:bbbb.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456b" labeltooltip="{protocols:TCP,dst_ports:3456,hosts:ooo.y.z,paths:/bbbb(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-cccc(Deployment)"[label="tcp9950a" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:cccc.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-cccc(Deployment)"[label="tcp9950d" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/cccc(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-dddd(Deployment)"[label="tcp3200a" labeltooltip="{protocols:TCP,dst_ports:3200,hosts:dddd.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-dddd(Deployment)"[label="tcp3200b" labeltooltip="{protocols:TCP,dst_ports:3200,hosts:ooo.y.z,paths:/dddd(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-ffff(Deployment)"[label="tcp3500a" labeltooltip="{protocols:TCP,dst_ports:3500,hosts:ffff.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-ffff(Deployment)"[label="tcp3500b" labeltooltip="{protocols:TCP,dst_ports:3500,hosts:ooo.y.z,paths:/ffff(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-gggg(Deployment)"[label="tcp4000a" labeltooltip="{protocols:TCP,dst_ports:4000,hosts:gggg.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-gggg(Deployment)"[label="tcp4000b" labeltooltip="{protocols:TCP,dst_ports:4000,hosts:ooo.y.z,paths:/gggg(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-iiii(Deployment)"[label="tcp3000b" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:iiii.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-iiii(Deployment)"[label="tcp3000d" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:ooo.y.z,paths:/iiii(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950c" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:jjjj.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950f" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/jjjj(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000a" labeltooltip="{dst_ports:3000,hosts:aaaa.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000c" labeltooltip="{dst_ports:3000,hosts:ooo.y.z,paths:/aaaa(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456a" labeltooltip="{dst_ports:3456,hosts:bbbb.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456b" labeltooltip="{dst_ports:3456,hosts:ooo.y.z,paths:/bbbb(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-cccc(Deployment)"[label="tcp9950a" labeltooltip="{dst_ports:9950,hosts:cccc.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-cccc(Deployment)"[label="tcp9950d" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/cccc(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-dddd(Deployment)"[label="tcp3200a" labeltooltip="{dst_ports:3200,hosts:dddd.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-dddd(Deployment)"[label="tcp3200b" labeltooltip="{dst_ports:3200,hosts:ooo.y.z,paths:/dddd(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-ffff(Deployment)"[label="tcp3500a" labeltooltip="{dst_ports:3500,hosts:ffff.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-ffff(Deployment)"[label="tcp3500b" labeltooltip="{dst_ports:3500,hosts:ooo.y.z,paths:/ffff(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-gggg(Deployment)"[label="tcp4000a" labeltooltip="{dst_ports:4000,hosts:gggg.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-gggg(Deployment)"[label="tcp4000b" labeltooltip="{dst_ports:4000,hosts:ooo.y.z,paths:/gggg(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-iiii(Deployment)"[label="tcp3000b" labeltooltip="{dst_ports:3000,hosts:iiii.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-iiii(Deployment)"[label="tcp3000d" labeltooltip="{dst_ports:3000,hosts:ooo.y.z,paths:/iiii(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950c" labeltooltip="{dst_ports:9950,hosts:jjjj.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/deploy-ingress-nginx(Deployment)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950f" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/jjjj(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "example/deploy-jjjj(Deployment)" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000a" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:aaaa.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000c" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:ooo.y.z,paths:/aaaa(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456a" labeltooltip="{protocols:TCP,dst_ports:3456,hosts:bbbb.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456b" labeltooltip="{protocols:TCP,dst_ports:3456,hosts:ooo.y.z,paths:/bbbb(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-cccc(Deployment)"[label="tcp9950a" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:cccc.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-cccc(Deployment)"[label="tcp9950d" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/cccc(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-dddd(Deployment)"[label="tcp3200a" labeltooltip="{protocols:TCP,dst_ports:3200,hosts:dddd.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-dddd(Deployment)"[label="tcp3200b" labeltooltip="{protocols:TCP,dst_ports:3200,hosts:ooo.y.z,paths:/dddd(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-ffff(Deployment)"[label="tcp3500a" labeltooltip="{protocols:TCP,dst_ports:3500,hosts:ffff.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-ffff(Deployment)"[label="tcp3500b" labeltooltip="{protocols:TCP,dst_ports:3500,hosts:ooo.y.z,paths:/ffff(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-gggg(Deployment)"[label="tcp4000a" labeltooltip="{protocols:TCP,dst_ports:4000,hosts:gggg.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-gggg(Deployment)"[label="tcp4000b" labeltooltip="{protocols:TCP,dst_ports:4000,hosts:ooo.y.z,paths:/gggg(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950b" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:hhhh.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950e" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/hhhh(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-iiii(Deployment)"[label="tcp3000b" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:iiii.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-iiii(Deployment)"[label="tcp3000d" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:ooo.y.z,paths:/iiii(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950c" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:jjjj.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950f" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/jjjj(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000a" labeltooltip="{dst_ports:3000,hosts:aaaa.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000c" labeltooltip="{dst_ports:3000,hosts:ooo.y.z,paths:/aaaa(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456a" labeltooltip="{dst_ports:3456,hosts:bbbb.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456b" labeltooltip="{dst_ports:3456,hosts:ooo.y.z,paths:/bbbb(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-cccc(Deployment)"[label="tcp9950a" labeltooltip="{dst_ports:9950,hosts:cccc.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-cccc(Deployment)"[label="tcp9950d" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/cccc(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-dddd(Deployment)"[label="tcp3200a" labeltooltip="{dst_ports:3200,hosts:dddd.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-dddd(Deployment)"[label="tcp3200b" labeltooltip="{dst_ports:3200,hosts:ooo.y.z,paths:/dddd(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-ffff(Deployment)"[label="tcp3500a" labeltooltip="{dst_ports:3500,hosts:ffff.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-ffff(Deployment)"[label="tcp3500b" labeltooltip="{dst_ports:3500,hosts:ooo.y.z,paths:/ffff(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-gggg(Deployment)"[label="tcp4000a" labeltooltip="{dst_ports:4000,hosts:gggg.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-gggg(Deployment)"[label="tcp4000b" labeltooltip="{dst_ports:4000,hosts:ooo.y.z,paths:/gggg(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950b" labeltooltip="{dst_ports:9950,hosts:hhhh.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950e" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/hhhh(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-iiii(Deployment)"[label="tcp3000b" labeltooltip="{dst_ports:3000,hosts:iiii.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-iiii(Deployment)"[label="tcp3000d" labeltooltip="{dst_ports:3000,hosts:ooo.y.z,paths:/iiii(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950c" labeltooltip="{dst_ports:9950,hosts:jjjj.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950f" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/jjjj(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] color=white labelloc = "b" fontsize=15 diff --git a/tests/istio_testcases/expected_output/complex-istio-ingress-test-connectivity-map-missing-resources.dot b/tests/istio_testcases/expected_output/complex-istio-ingress-test-connectivity-map-missing-resources.dot index e981426f..7780b7cf 100644 --- a/tests/istio_testcases/expected_output/complex-istio-ingress-test-connectivity-map-missing-resources.dot +++ b/tests/istio_testcases/expected_output/complex-istio-ingress-test-connectivity-map-missing-resources.dot @@ -4,7 +4,7 @@ digraph { fontsize=30 fontcolor=maroon subgraph cluster_map_explanation { - dict_box [label=<
Connectivity legend
All All
tcp3000a {protocols:TCP,dst_ports:3000,...
tcp3000b {protocols:TCP,dst_ports:3000,...
tcp3000c {protocols:TCP,dst_ports:3000,...
tcp3000d {protocols:TCP,dst_ports:3000,...
tcp3200a {protocols:TCP,dst_ports:3200,...
tcp3200b {protocols:TCP,dst_ports:3200,...
tcp3456a {protocols:TCP,dst_ports:3456,...
tcp3456b {protocols:TCP,dst_ports:3456,...
tcp3500a {protocols:TCP,dst_ports:3500,...
tcp3500b {protocols:TCP,dst_ports:3500,...
tcp4000a {protocols:TCP,dst_ports:4000,...
tcp4000b {protocols:TCP,dst_ports:4000,...
tcp9950a {protocols:TCP,dst_ports:9950,...
tcp9950b {protocols:TCP,dst_ports:9950,...
tcp9950c {protocols:TCP,dst_ports:9950,...
tcp9950d {protocols:TCP,dst_ports:9950,...
tcp9950e {protocols:TCP,dst_ports:9950,...
tcp9950f {protocols:TCP,dst_ports:9950,...
> shape=box] + dict_box [label=<
Connectivity legend
All All
tcp3000a {dst_ports:3000,hosts:aaaa.y.z}
tcp3000b {dst_ports:3000,hosts:iiii.y.z}
tcp3000c {dst_ports:3000,hosts:ooo.y.z,...
tcp3000d {dst_ports:3000,hosts:ooo.y.z,...
tcp3200a {dst_ports:3200,hosts:dddd.y.z}
tcp3200b {dst_ports:3200,hosts:ooo.y.z,...
tcp3456a {dst_ports:3456,hosts:bbbb.y.z}
tcp3456b {dst_ports:3456,hosts:ooo.y.z,...
tcp3500a {dst_ports:3500,hosts:ffff.y.z}
tcp3500b {dst_ports:3500,hosts:ooo.y.z,...
tcp4000a {dst_ports:4000,hosts:gggg.y.z}
tcp4000b {dst_ports:4000,hosts:ooo.y.z,...
tcp9950a {dst_ports:9950,hosts:cccc.y.z}
tcp9950b {dst_ports:9950,hosts:hhhh.y.z}
tcp9950c {dst_ports:9950,hosts:jjjj.y.z}
tcp9950d {dst_ports:9950,hosts:ooo.y.z,...
tcp9950e {dst_ports:9950,hosts:ooo.y.z,...
tcp9950f {dst_ports:9950,hosts:ooo.y.z,...
> shape=box] "0.0.0.0/0" [label=<
0.0.0.0/0
> shape=box fontcolor=red2 tooltip="IP Block"] subgraph cluster_example_namespace{ label="example" @@ -53,24 +53,24 @@ subgraph cluster_istio_system_namespace{ "example/deploy-hhhh(Deployment)" -> "istio-system/istio-ingressgateway-livesim(Pod)"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "example/deploy-iiii(Deployment)" -> "istio-system/istio-ingressgateway-livesim(Pod)"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "example/deploy-jjjj(Deployment)" -> "istio-system/istio-ingressgateway-livesim(Pod)"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000a" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:aaaa.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000c" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:ooo.y.z,paths:/aaaa(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456a" labeltooltip="{protocols:TCP,dst_ports:3456,hosts:bbbb.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456b" labeltooltip="{protocols:TCP,dst_ports:3456,hosts:ooo.y.z,paths:/bbbb(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-cccc(Deployment)"[label="tcp9950a" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:cccc.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-cccc(Deployment)"[label="tcp9950d" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/cccc(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-dddd(Deployment)"[label="tcp3200a" labeltooltip="{protocols:TCP,dst_ports:3200,hosts:dddd.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-dddd(Deployment)"[label="tcp3200b" labeltooltip="{protocols:TCP,dst_ports:3200,hosts:ooo.y.z,paths:/dddd(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-ffff(Deployment)"[label="tcp3500a" labeltooltip="{protocols:TCP,dst_ports:3500,hosts:ffff.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-ffff(Deployment)"[label="tcp3500b" labeltooltip="{protocols:TCP,dst_ports:3500,hosts:ooo.y.z,paths:/ffff(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-gggg(Deployment)"[label="tcp4000a" labeltooltip="{protocols:TCP,dst_ports:4000,hosts:gggg.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-gggg(Deployment)"[label="tcp4000b" labeltooltip="{protocols:TCP,dst_ports:4000,hosts:ooo.y.z,paths:/gggg(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950b" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:hhhh.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950e" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/hhhh(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-iiii(Deployment)"[label="tcp3000b" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:iiii.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-iiii(Deployment)"[label="tcp3000d" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:ooo.y.z,paths:/iiii(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950c" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:jjjj.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950f" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/jjjj(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000a" labeltooltip="{dst_ports:3000,hosts:aaaa.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000c" labeltooltip="{dst_ports:3000,hosts:ooo.y.z,paths:/aaaa(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456a" labeltooltip="{dst_ports:3456,hosts:bbbb.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456b" labeltooltip="{dst_ports:3456,hosts:ooo.y.z,paths:/bbbb(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-cccc(Deployment)"[label="tcp9950a" labeltooltip="{dst_ports:9950,hosts:cccc.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-cccc(Deployment)"[label="tcp9950d" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/cccc(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-dddd(Deployment)"[label="tcp3200a" labeltooltip="{dst_ports:3200,hosts:dddd.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-dddd(Deployment)"[label="tcp3200b" labeltooltip="{dst_ports:3200,hosts:ooo.y.z,paths:/dddd(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-ffff(Deployment)"[label="tcp3500a" labeltooltip="{dst_ports:3500,hosts:ffff.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-ffff(Deployment)"[label="tcp3500b" labeltooltip="{dst_ports:3500,hosts:ooo.y.z,paths:/ffff(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-gggg(Deployment)"[label="tcp4000a" labeltooltip="{dst_ports:4000,hosts:gggg.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-gggg(Deployment)"[label="tcp4000b" labeltooltip="{dst_ports:4000,hosts:ooo.y.z,paths:/gggg(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950b" labeltooltip="{dst_ports:9950,hosts:hhhh.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950e" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/hhhh(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-iiii(Deployment)"[label="tcp3000b" labeltooltip="{dst_ports:3000,hosts:iiii.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-iiii(Deployment)"[label="tcp3000d" labeltooltip="{dst_ports:3000,hosts:ooo.y.z,paths:/iiii(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950c" labeltooltip="{dst_ports:9950,hosts:jjjj.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-livesim(Pod)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950f" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/jjjj(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] color=white labelloc = "b" fontsize=15 diff --git a/tests/istio_testcases/expected_output/complex-istio-ingress-test-connectivity-map.dot b/tests/istio_testcases/expected_output/complex-istio-ingress-test-connectivity-map.dot index 6412b4bd..f31bcfab 100644 --- a/tests/istio_testcases/expected_output/complex-istio-ingress-test-connectivity-map.dot +++ b/tests/istio_testcases/expected_output/complex-istio-ingress-test-connectivity-map.dot @@ -4,7 +4,7 @@ digraph { fontsize=30 fontcolor=maroon subgraph cluster_map_explanation { - dict_box [label=<
Connectivity legend
All All
tcp3000a {protocols:TCP,dst_ports:3000,...
tcp3000b {protocols:TCP,dst_ports:3000,...
tcp3000c {protocols:TCP,dst_ports:3000,...
tcp3000d {protocols:TCP,dst_ports:3000,...
tcp3200a {protocols:TCP,dst_ports:3200,...
tcp3200b {protocols:TCP,dst_ports:3200,...
tcp3456a {protocols:TCP,dst_ports:3456,...
tcp3456b {protocols:TCP,dst_ports:3456,...
tcp3500a {protocols:TCP,dst_ports:3500,...
tcp3500b {protocols:TCP,dst_ports:3500,...
tcp4000a {protocols:TCP,dst_ports:4000,...
tcp4000b {protocols:TCP,dst_ports:4000,...
tcp9950a {protocols:TCP,dst_ports:9950,...
tcp9950b {protocols:TCP,dst_ports:9950,...
tcp9950c {protocols:TCP,dst_ports:9950,...
tcp9950d {protocols:TCP,dst_ports:9950,...
tcp9950e {protocols:TCP,dst_ports:9950,...
tcp9950f {protocols:TCP,dst_ports:9950,...
> shape=box] + dict_box [label=<
Connectivity legend
All All
tcp3000a {dst_ports:3000,hosts:aaaa.y.z}
tcp3000b {dst_ports:3000,hosts:iiii.y.z}
tcp3000c {dst_ports:3000,hosts:ooo.y.z,...
tcp3000d {dst_ports:3000,hosts:ooo.y.z,...
tcp3200a {dst_ports:3200,hosts:dddd.y.z}
tcp3200b {dst_ports:3200,hosts:ooo.y.z,...
tcp3456a {dst_ports:3456,hosts:bbbb.y.z}
tcp3456b {dst_ports:3456,hosts:ooo.y.z,...
tcp3500a {dst_ports:3500,hosts:ffff.y.z}
tcp3500b {dst_ports:3500,hosts:ooo.y.z,...
tcp4000a {dst_ports:4000,hosts:gggg.y.z}
tcp4000b {dst_ports:4000,hosts:ooo.y.z,...
tcp9950a {dst_ports:9950,hosts:cccc.y.z}
tcp9950b {dst_ports:9950,hosts:hhhh.y.z}
tcp9950c {dst_ports:9950,hosts:jjjj.y.z}
tcp9950d {dst_ports:9950,hosts:ooo.y.z,...
tcp9950e {dst_ports:9950,hosts:ooo.y.z,...
tcp9950f {dst_ports:9950,hosts:ooo.y.z,...
> shape=box] "0.0.0.0/0" [label=<
0.0.0.0/0
> shape=box fontcolor=red2 tooltip="IP Block"] subgraph cluster_example_namespace{ label="example" @@ -48,24 +48,24 @@ All"] "example/deploy-hhhh(Deployment)" -> "example/istio-ingressgateway(Deployment)"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "example/deploy-iiii(Deployment)" -> "example/istio-ingressgateway(Deployment)"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "example/deploy-jjjj(Deployment)" -> "example/istio-ingressgateway(Deployment)"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000a" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:aaaa.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000c" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:ooo.y.z,paths:/aaaa(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456a" labeltooltip="{protocols:TCP,dst_ports:3456,hosts:bbbb.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456b" labeltooltip="{protocols:TCP,dst_ports:3456,hosts:ooo.y.z,paths:/bbbb(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-cccc(Deployment)"[label="tcp9950a" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:cccc.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-cccc(Deployment)"[label="tcp9950d" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/cccc(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-dddd(Deployment)"[label="tcp3200a" labeltooltip="{protocols:TCP,dst_ports:3200,hosts:dddd.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-dddd(Deployment)"[label="tcp3200b" labeltooltip="{protocols:TCP,dst_ports:3200,hosts:ooo.y.z,paths:/dddd(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-ffff(Deployment)"[label="tcp3500a" labeltooltip="{protocols:TCP,dst_ports:3500,hosts:ffff.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-ffff(Deployment)"[label="tcp3500b" labeltooltip="{protocols:TCP,dst_ports:3500,hosts:ooo.y.z,paths:/ffff(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-gggg(Deployment)"[label="tcp4000a" labeltooltip="{protocols:TCP,dst_ports:4000,hosts:gggg.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-gggg(Deployment)"[label="tcp4000b" labeltooltip="{protocols:TCP,dst_ports:4000,hosts:ooo.y.z,paths:/gggg(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950b" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:hhhh.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950e" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/hhhh(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-iiii(Deployment)"[label="tcp3000b" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:iiii.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-iiii(Deployment)"[label="tcp3000d" labeltooltip="{protocols:TCP,dst_ports:3000,hosts:ooo.y.z,paths:/iiii(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950c" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:jjjj.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "example/istio-ingressgateway(Deployment)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950f" labeltooltip="{protocols:TCP,dst_ports:9950,hosts:ooo.y.z,paths:/jjjj(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000a" labeltooltip="{dst_ports:3000,hosts:aaaa.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-aaaa(Deployment)"[label="tcp3000c" labeltooltip="{dst_ports:3000,hosts:ooo.y.z,paths:/aaaa(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456a" labeltooltip="{dst_ports:3456,hosts:bbbb.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-bbbb(Deployment)"[label="tcp3456b" labeltooltip="{dst_ports:3456,hosts:ooo.y.z,paths:/bbbb(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-cccc(Deployment)"[label="tcp9950a" labeltooltip="{dst_ports:9950,hosts:cccc.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-cccc(Deployment)"[label="tcp9950d" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/cccc(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-dddd(Deployment)"[label="tcp3200a" labeltooltip="{dst_ports:3200,hosts:dddd.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-dddd(Deployment)"[label="tcp3200b" labeltooltip="{dst_ports:3200,hosts:ooo.y.z,paths:/dddd(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-ffff(Deployment)"[label="tcp3500a" labeltooltip="{dst_ports:3500,hosts:ffff.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-ffff(Deployment)"[label="tcp3500b" labeltooltip="{dst_ports:3500,hosts:ooo.y.z,paths:/ffff(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-gggg(Deployment)"[label="tcp4000a" labeltooltip="{dst_ports:4000,hosts:gggg.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-gggg(Deployment)"[label="tcp4000b" labeltooltip="{dst_ports:4000,hosts:ooo.y.z,paths:/gggg(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950b" labeltooltip="{dst_ports:9950,hosts:hhhh.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-hhhh(Deployment)"[label="tcp9950e" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/hhhh(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-iiii(Deployment)"[label="tcp3000b" labeltooltip="{dst_ports:3000,hosts:iiii.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-iiii(Deployment)"[label="tcp3000d" labeltooltip="{dst_ports:3000,hosts:ooo.y.z,paths:/iiii(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950c" labeltooltip="{dst_ports:9950,hosts:jjjj.y.z}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "example/istio-ingressgateway(Deployment)" -> "example/deploy-jjjj(Deployment)"[label="tcp9950f" labeltooltip="{dst_ports:9950,hosts:ooo.y.z,paths:/jjjj(/*)?}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] color=white labelloc = "b" fontsize=15 diff --git a/tests/istio_testcases/expected_output/connectivity-bookinfo-demo-by-deployments.dot b/tests/istio_testcases/expected_output/connectivity-bookinfo-demo-by-deployments.dot index 328b5da0..c707cc09 100644 --- a/tests/istio_testcases/expected_output/connectivity-bookinfo-demo-by-deployments.dot +++ b/tests/istio_testcases/expected_output/connectivity-bookinfo-demo-by-deployments.dot @@ -4,7 +4,7 @@ digraph { fontsize=30 fontcolor=maroon subgraph cluster_map_explanation { - dict_box [label=<
Connectivity legend
All All
TCP {protocols:TCP,methods:GET}
> shape=box] + dict_box [label=<
Connectivity legend
All All
TCP {methods:GET}
> shape=box] "0.0.0.0/0" [label=<
0.0.0.0/0
> shape=box fontcolor=red2 tooltip="IP Block"] "biclique_All0" [shape=box fontcolor=red color=red width=0.3 height=0.1 label=biclq fontsize=10 margin=0 xlabel="All" tooltip="Traffic allowed from any source workload of the BICLIQUE to any of its destination workloads: All"] @@ -29,13 +29,13 @@ subgraph cluster_istio_system_namespace{ "biclique_All0" -> "istio-system/istio-ingressgateway(Deployment-StatefulSet)"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "default/details-v1(Deployment-StatefulSet)" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "default/productpage-v1(Deployment-StatefulSet)" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "default/productpage-v1(Deployment-StatefulSet)" -> "default/details-v1(Deployment-StatefulSet)"[label="TCP" labeltooltip="{protocols:TCP,methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "default/productpage-v1(Deployment-StatefulSet)" -> "default/reviews-v1(Deployment-StatefulSet)"[label="TCP" labeltooltip="{protocols:TCP,methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "default/productpage-v1(Deployment-StatefulSet)" -> "default/details-v1(Deployment-StatefulSet)"[label="TCP" labeltooltip="{methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "default/productpage-v1(Deployment-StatefulSet)" -> "default/reviews-v1(Deployment-StatefulSet)"[label="TCP" labeltooltip="{methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "default/ratings-v1(Deployment-StatefulSet)" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "default/reviews-v1(Deployment-StatefulSet)" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "default/reviews-v1(Deployment-StatefulSet)" -> "default/ratings-v1(Deployment-StatefulSet)"[label="TCP" labeltooltip="{protocols:TCP,methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "default/reviews-v1(Deployment-StatefulSet)" -> "default/ratings-v1(Deployment-StatefulSet)"[label="TCP" labeltooltip="{methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "istio-system/istio-ingressgateway(Deployment-StatefulSet)" -> "0.0.0.0/0"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=normal] - "istio-system/istio-ingressgateway(Deployment-StatefulSet)" -> "default/productpage-v1(Deployment-StatefulSet)"[label="TCP" labeltooltip="{protocols:TCP,methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway(Deployment-StatefulSet)" -> "default/productpage-v1(Deployment-StatefulSet)"[label="TCP" labeltooltip="{methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] color=white labelloc = "b" fontsize=15 diff --git a/tests/istio_testcases/expected_output/connectivity-bookinfo-demo-by-pods.dot b/tests/istio_testcases/expected_output/connectivity-bookinfo-demo-by-pods.dot index 089763b4..420b40f2 100644 --- a/tests/istio_testcases/expected_output/connectivity-bookinfo-demo-by-pods.dot +++ b/tests/istio_testcases/expected_output/connectivity-bookinfo-demo-by-pods.dot @@ -4,7 +4,7 @@ digraph { fontsize=30 fontcolor=maroon subgraph cluster_map_explanation { - dict_box [label=<
Connectivity legend
All All
TCP {protocols:TCP,methods:GET}
> shape=box] + dict_box [label=<
Connectivity legend
All All
TCP {methods:GET}
> shape=box] "0.0.0.0/0" [label=<
0.0.0.0/0
> shape=box fontcolor=red2 tooltip="IP Block"] "biclique_All0" [shape=box fontcolor=red color=red width=0.3 height=0.1 label=biclq fontsize=10 margin=0 xlabel="All" tooltip="Traffic allowed from any source workload of the BICLIQUE to any of its destination workloads: All"] @@ -29,13 +29,13 @@ subgraph cluster_istio_system_namespace{ "biclique_All0" -> "istio-system/istio-ingressgateway-55d9fb9f-f4mzz"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "default/details-v1-79f774bdb9-tw7sj" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "default/productpage-v1-6b746f74dc-kkzzk" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "default/productpage-v1-6b746f74dc-kkzzk" -> "default/details-v1-79f774bdb9-tw7sj"[label="TCP" labeltooltip="{protocols:TCP,methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "default/productpage-v1-6b746f74dc-kkzzk" -> "default/reviews-v1-545db77b95-2ps7q"[label="TCP" labeltooltip="{protocols:TCP,methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "default/productpage-v1-6b746f74dc-kkzzk" -> "default/details-v1-79f774bdb9-tw7sj"[label="TCP" labeltooltip="{methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "default/productpage-v1-6b746f74dc-kkzzk" -> "default/reviews-v1-545db77b95-2ps7q"[label="TCP" labeltooltip="{methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "default/ratings-v1-b6994bb9-gl27w" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "default/reviews-v1-545db77b95-2ps7q" -> "biclique_All0"[ color=red fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] - "default/reviews-v1-545db77b95-2ps7q" -> "default/ratings-v1-b6994bb9-gl27w"[label="TCP" labeltooltip="{protocols:TCP,methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "default/reviews-v1-545db77b95-2ps7q" -> "default/ratings-v1-b6994bb9-gl27w"[label="TCP" labeltooltip="{methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] "istio-system/istio-ingressgateway-55d9fb9f-f4mzz" -> "0.0.0.0/0"[label="All" labeltooltip="All" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=normal] - "istio-system/istio-ingressgateway-55d9fb9f-f4mzz" -> "default/productpage-v1-6b746f74dc-kkzzk"[label="TCP" labeltooltip="{protocols:TCP,methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] + "istio-system/istio-ingressgateway-55d9fb9f-f4mzz" -> "default/productpage-v1-6b746f74dc-kkzzk"[label="TCP" labeltooltip="{methods:GET}" color=darkorange4 fontcolor=darkgreen dir=both arrowhead=normal arrowtail=none] color=white labelloc = "b" fontsize=15 diff --git a/tests/istio_testcases/expected_output/connectivity_map_of_onlineboutique_resources.txt b/tests/istio_testcases/expected_output/connectivity_map_of_onlineboutique_resources.txt index d885e100..448d9387 100644 --- a/tests/istio_testcases/expected_output/connectivity_map_of_onlineboutique_resources.txt +++ b/tests/istio_testcases/expected_output/connectivity_map_of_onlineboutique_resources.txt @@ -1,15 +1,15 @@ For connections of type TCP, final fw rules for query: connectivity-map-of-onlineboutique, config: onlineboutique-resources: src_ns: [onlineboutique] src_pods: [*] dst: 0.0.0.0/0 conn: All connections -src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [cartservice] conn: {protocols:TCP,dst_ports:7070,methods:POST,paths:/hipstershop.CartService/AddItem, /hipstershop.CartService/GetCart, /hipstershop.CartService/EmptyCart} -src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [currencyservice] conn: {protocols:TCP,dst_ports:7000,methods:POST,paths:/hipstershop.CurrencyService/Convert, /hipstershop.CurrencyService/GetSupportedCurrencies} -src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [shippingservice] conn: {protocols:TCP,dst_ports:50051,methods:POST,paths:/hipstershop.ShippingService/GetQuote, /hipstershop.ShippingService/ShipOrder} -src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend,recommendationservice)] dst_ns: [onlineboutique] dst_pods: [productcatalogservice] conn: {protocols:TCP,dst_ports:3550,methods:POST,paths:/hipstershop.ProductCatalogService/GetProduct, /hipstershop.ProductCatalogService/ListProducts} -src_ns: [onlineboutique] src_pods: [checkoutservice] dst_ns: [onlineboutique] dst_pods: [emailservice] conn: {protocols:TCP,dst_ports:8080,methods:POST,paths:/hipstershop.EmailService/SendOrderConfirmation} -src_ns: [onlineboutique] src_pods: [checkoutservice] dst_ns: [onlineboutique] dst_pods: [paymentservice] conn: {protocols:TCP,dst_ports:50051,methods:POST,paths:/hipstershop.PaymentService/Charge} -src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [adservice] conn: {protocols:TCP,dst_ports:9555,methods:POST,paths:/hipstershop.AdService/GetAds} -src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [checkoutservice] conn: {protocols:TCP,dst_ports:5050,methods:POST,paths:/hipstershop.CheckoutService/PlaceOrder} -src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [recommendationservice] conn: {protocols:TCP,dst_ports:8080,methods:POST,paths:/hipstershop.RecommendationService/ListRecommendations} -src_ns: [onlineboutique] src_pods: [loadgenerator] dst_ns: [onlineboutique] dst_pods: [frontend] conn: {protocols:TCP,dst_ports:8080,methods:GET, POST} +src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [cartservice] conn: {dst_ports:7070,methods:POST,paths:/hipstershop.CartService/AddItem, /hipstershop.CartService/GetCart, /hipstershop.CartService/EmptyCart} +src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [currencyservice] conn: {dst_ports:7000,methods:POST,paths:/hipstershop.CurrencyService/Convert, /hipstershop.CurrencyService/GetSupportedCurrencies} +src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [shippingservice] conn: {dst_ports:50051,methods:POST,paths:/hipstershop.ShippingService/GetQuote, /hipstershop.ShippingService/ShipOrder} +src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend,recommendationservice)] dst_ns: [onlineboutique] dst_pods: [productcatalogservice] conn: {dst_ports:3550,methods:POST,paths:/hipstershop.ProductCatalogService/GetProduct, /hipstershop.ProductCatalogService/ListProducts} +src_ns: [onlineboutique] src_pods: [checkoutservice] dst_ns: [onlineboutique] dst_pods: [emailservice] conn: {dst_ports:8080,methods:POST,paths:/hipstershop.EmailService/SendOrderConfirmation} +src_ns: [onlineboutique] src_pods: [checkoutservice] dst_ns: [onlineboutique] dst_pods: [paymentservice] conn: {dst_ports:50051,methods:POST,paths:/hipstershop.PaymentService/Charge} +src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [adservice] conn: {dst_ports:9555,methods:POST,paths:/hipstershop.AdService/GetAds} +src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [checkoutservice] conn: {dst_ports:5050,methods:POST,paths:/hipstershop.CheckoutService/PlaceOrder} +src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [recommendationservice] conn: {dst_ports:8080,methods:POST,paths:/hipstershop.RecommendationService/ListRecommendations} +src_ns: [onlineboutique] src_pods: [loadgenerator] dst_ns: [onlineboutique] dst_pods: [frontend] conn: {dst_ports:8080,methods:GET, POST} For connections of type non-TCP, final fw rules for query: connectivity-map-of-onlineboutique, config: onlineboutique-resources: src_ns: [onlineboutique] src_pods: [*] dst: 0.0.0.0/0 conn: All connections diff --git a/tests/istio_testcases/expected_output/connectivity_map_of_onlineboutique_resources_with_istio_gateways.txt b/tests/istio_testcases/expected_output/connectivity_map_of_onlineboutique_resources_with_istio_gateways.txt index 54bc6d74..14d6ec1c 100644 --- a/tests/istio_testcases/expected_output/connectivity_map_of_onlineboutique_resources_with_istio_gateways.txt +++ b/tests/istio_testcases/expected_output/connectivity_map_of_onlineboutique_resources_with_istio_gateways.txt @@ -1,18 +1,18 @@ For connections of type TCP, final fw rules for query: connectivity-map-of-onlineboutique-with-istio-gateways, config: onlineboutique-resources-with-istio-gateways: -src_ns: [istio-system] src_pods: [*] dst: httpbin.example.com conn: {protocols:TCP,dst_ports:80,hosts:httpbin.example.com} +src_ns: [istio-system] src_pods: [*] dst: httpbin.example.com conn: {dst_ports:80,hosts:httpbin.example.com} src_ns: [onlineboutique] src_pods: [*] dst: 0.0.0.0/0 conn: All connections src_ns: [onlineboutique] src_pods: [*] dst: connected-with-mesh.example.com conn: All connections -src_ns: [onlineboutique] src_pods: [*] dst_ns: [istio-system] dst_pods: [*] conn: {protocols:TCP,dst_ports:443,hosts:httpbin.example.com} -src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [cartservice] conn: {protocols:TCP,dst_ports:7070,methods:POST,paths:/hipstershop.CartService/AddItem, /hipstershop.CartService/GetCart, /hipstershop.CartService/EmptyCart} -src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [currencyservice] conn: {protocols:TCP,dst_ports:7000,methods:POST,paths:/hipstershop.CurrencyService/Convert, /hipstershop.CurrencyService/GetSupportedCurrencies} -src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [shippingservice] conn: {protocols:TCP,dst_ports:50051,methods:POST,paths:/hipstershop.ShippingService/GetQuote, /hipstershop.ShippingService/ShipOrder} -src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend,recommendationservice)] dst_ns: [onlineboutique] dst_pods: [productcatalogservice] conn: {protocols:TCP,dst_ports:3550,methods:POST,paths:/hipstershop.ProductCatalogService/GetProduct, /hipstershop.ProductCatalogService/ListProducts} -src_ns: [onlineboutique] src_pods: [checkoutservice] dst_ns: [onlineboutique] dst_pods: [emailservice] conn: {protocols:TCP,dst_ports:8080,methods:POST,paths:/hipstershop.EmailService/SendOrderConfirmation} -src_ns: [onlineboutique] src_pods: [checkoutservice] dst_ns: [onlineboutique] dst_pods: [paymentservice] conn: {protocols:TCP,dst_ports:50051,methods:POST,paths:/hipstershop.PaymentService/Charge} -src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [adservice] conn: {protocols:TCP,dst_ports:9555,methods:POST,paths:/hipstershop.AdService/GetAds} -src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [checkoutservice] conn: {protocols:TCP,dst_ports:5050,methods:POST,paths:/hipstershop.CheckoutService/PlaceOrder} -src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [recommendationservice] conn: {protocols:TCP,dst_ports:8080,methods:POST,paths:/hipstershop.RecommendationService/ListRecommendations} -src_ns: [onlineboutique] src_pods: [loadgenerator] dst_ns: [onlineboutique] dst_pods: [frontend] conn: {protocols:TCP,dst_ports:8080,methods:GET, POST} +src_ns: [onlineboutique] src_pods: [*] dst_ns: [istio-system] dst_pods: [*] conn: {dst_ports:443,hosts:httpbin.example.com} +src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [cartservice] conn: {dst_ports:7070,methods:POST,paths:/hipstershop.CartService/AddItem, /hipstershop.CartService/GetCart, /hipstershop.CartService/EmptyCart} +src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [currencyservice] conn: {dst_ports:7000,methods:POST,paths:/hipstershop.CurrencyService/Convert, /hipstershop.CurrencyService/GetSupportedCurrencies} +src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend)] dst_ns: [onlineboutique] dst_pods: [shippingservice] conn: {dst_ports:50051,methods:POST,paths:/hipstershop.ShippingService/GetQuote, /hipstershop.ShippingService/ShipOrder} +src_ns: [onlineboutique] src_pods: [app in (checkoutservice,frontend,recommendationservice)] dst_ns: [onlineboutique] dst_pods: [productcatalogservice] conn: {dst_ports:3550,methods:POST,paths:/hipstershop.ProductCatalogService/GetProduct, /hipstershop.ProductCatalogService/ListProducts} +src_ns: [onlineboutique] src_pods: [checkoutservice] dst_ns: [onlineboutique] dst_pods: [emailservice] conn: {dst_ports:8080,methods:POST,paths:/hipstershop.EmailService/SendOrderConfirmation} +src_ns: [onlineboutique] src_pods: [checkoutservice] dst_ns: [onlineboutique] dst_pods: [paymentservice] conn: {dst_ports:50051,methods:POST,paths:/hipstershop.PaymentService/Charge} +src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [adservice] conn: {dst_ports:9555,methods:POST,paths:/hipstershop.AdService/GetAds} +src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [checkoutservice] conn: {dst_ports:5050,methods:POST,paths:/hipstershop.CheckoutService/PlaceOrder} +src_ns: [onlineboutique] src_pods: [frontend] dst_ns: [onlineboutique] dst_pods: [recommendationservice] conn: {dst_ports:8080,methods:POST,paths:/hipstershop.RecommendationService/ListRecommendations} +src_ns: [onlineboutique] src_pods: [loadgenerator] dst_ns: [onlineboutique] dst_pods: [frontend] conn: {dst_ports:8080,methods:GET, POST} For connections of type non-TCP, final fw rules for query: connectivity-map-of-onlineboutique-with-istio-gateways, config: onlineboutique-resources-with-istio-gateways: src: 0.0.0.0/0 dst_ns: [istio-system] dst_pods: [*] conn: All connections diff --git a/tests/istio_testcases/expected_output/fly_istio_ingress_test_connectivity_map.txt b/tests/istio_testcases/expected_output/fly_istio_ingress_test_connectivity_map.txt index f1db5123..ef2a666d 100644 --- a/tests/istio_testcases/expected_output/fly_istio_ingress_test_connectivity_map.txt +++ b/tests/istio_testcases/expected_output/fly_istio_ingress_test_connectivity_map.txt @@ -1,7 +1,7 @@ For connections of type TCP, final fw rules for query: connectivity, config: fly-istio-ingress-test: src: 0.0.0.0/0 dst_ns: [default] dst_pods: [*] conn: All connections -src_ns: [default] src_pods: [*] dst_ns: [default] dst_pods: [fly-api, istio-ingressgateway] conn: {protocols:TCP,dst_ports:8761,paths:/flights(/*)?} -src_ns: [default] src_pods: [*] dst_ns: [default] dst_pods: [hora-api, istio-ingressgateway] conn: {protocols:TCP,dst_ports:8762,paths:/horas(/*)?} +src_ns: [default] src_pods: [*] dst_ns: [default] dst_pods: [fly-api, istio-ingressgateway] conn: {dst_ports:8761,paths:/flights(/*)?} +src_ns: [default] src_pods: [*] dst_ns: [default] dst_pods: [hora-api, istio-ingressgateway] conn: {dst_ports:8762,paths:/horas(/*)?} src_ns: [default] src_pods: [fly-api, hora-api] dst: 0.0.0.0/0 conn: All connections src_ns: [default] src_pods: [fly-api, hora-api] dst_ns: [default] dst_pods: [*] conn: All connections diff --git a/tests/istio_testcases/expected_output/istio_egress_test_connectivity_map.txt b/tests/istio_testcases/expected_output/istio_egress_test_connectivity_map.txt index 5e025e2f..7ea97a31 100644 --- a/tests/istio_testcases/expected_output/istio_egress_test_connectivity_map.txt +++ b/tests/istio_testcases/expected_output/istio_egress_test_connectivity_map.txt @@ -3,8 +3,8 @@ src: 0.0.0.0/0 dst_ns: [default,prod,qa] dst_pods: [*] conn: All connections src_ns: [default,prod,qa] src_pods: [*] dst: 0.0.0.0/0 conn: All connections src_ns: [default,prod,qa] src_pods: [*] dst: connected_with_mesh.example.com conn: All connections src_ns: [default,prod,qa] src_pods: [*] dst_ns: [default,prod,qa] dst_pods: [*] conn: All connections -src_ns: [default,prod,qa] src_pods: [*] dst_ns: [istio-system] dst_pods: [*] conn: {protocols:TCP,dst_ports:443,hosts:httpbin.example.com} -src_ns: [istio-system] src_pods: [*] dst: httpbin.example.com conn: {protocols:TCP,dst_ports:80,hosts:httpbin.example.com} +src_ns: [default,prod,qa] src_pods: [*] dst_ns: [istio-system] dst_pods: [*] conn: {dst_ports:443,hosts:httpbin.example.com} +src_ns: [istio-system] src_pods: [*] dst: httpbin.example.com conn: {dst_ports:80,hosts:httpbin.example.com} For connections of type non-TCP, final fw rules for query: connectivity, config: istio-egress: src: 0.0.0.0/0 dst_ns: [default,istio-system,prod,qa] dst_pods: [*] conn: All connections diff --git a/tests/istio_testcases/expected_output/istio_ingress_test_connectivity_map.txt b/tests/istio_testcases/expected_output/istio_ingress_test_connectivity_map.txt index 392f8019..981d47e7 100644 --- a/tests/istio_testcases/expected_output/istio_ingress_test_connectivity_map.txt +++ b/tests/istio_testcases/expected_output/istio_ingress_test_connectivity_map.txt @@ -2,9 +2,9 @@ For connections of type TCP, final fw rules for query: connectivity, config: ist src: 0.0.0.0/0 dst_ns: [default,istio-system,prod,qa] dst_pods: [*] conn: All connections src_ns: [default,prod,qa] src_pods: [*] dst: 0.0.0.0/0 conn: All connections src_ns: [default,prod,qa] src_pods: [*] dst_ns: [default,istio-system,prod,qa] dst_pods: [*] conn: All connections -src_ns: [istio-system] src_pods: [*] dst_ns: [prod] dst_pods: [details-v1-5f449bdbb9] conn: {protocols:TCP,dst_ports:5555,hosts:mongosvr.prod.svc.cluster.local} -src_ns: [istio-system] src_pods: [*] dst_ns: [prod] dst_pods: [ratings-v1-857bb87c57] conn: {protocols:TCP,dst_ports:9080,hosts:eu.bookinfo.com, uk.bookinfo.com, productpage.default.svc.cluster.local,paths:/reviews(/*)?} -src_ns: [istio-system] src_pods: [*] dst_ns: [qa] dst_pods: [*] conn: {protocols:TCP,dst_ports:7777,hosts:eu.bookinfo.com, uk.bookinfo.com, productpage.default.svc.cluster.local} +src_ns: [istio-system] src_pods: [*] dst_ns: [prod] dst_pods: [details-v1-5f449bdbb9] conn: {dst_ports:5555,hosts:mongosvr.prod.svc.cluster.local} +src_ns: [istio-system] src_pods: [*] dst_ns: [prod] dst_pods: [ratings-v1-857bb87c57] conn: {dst_ports:9080,hosts:eu.bookinfo.com, uk.bookinfo.com, productpage.default.svc.cluster.local,paths:/reviews(/*)?} +src_ns: [istio-system] src_pods: [*] dst_ns: [qa] dst_pods: [*] conn: {dst_ports:7777,hosts:eu.bookinfo.com, uk.bookinfo.com, productpage.default.svc.cluster.local} For connections of type non-TCP, final fw rules for query: connectivity, config: istio-ingress: src: 0.0.0.0/0 dst_ns: [default,istio-system,prod,qa] dst_pods: [*] conn: All connections diff --git a/tests/istio_testcases/expected_output/new_online_boutique_synth_res_connectivity_map_with_baseline_rule.txt b/tests/istio_testcases/expected_output/new_online_boutique_synth_res_connectivity_map_with_baseline_rule.txt index 51bf629d..ab2ad8a9 100644 --- a/tests/istio_testcases/expected_output/new_online_boutique_synth_res_connectivity_map_with_baseline_rule.txt +++ b/tests/istio_testcases/expected_output/new_online_boutique_synth_res_connectivity_map_with_baseline_rule.txt @@ -2,15 +2,15 @@ For connections of type TCP, final fw rules for query: new_online_boutique_synth src: 0.0.0.0/0 dst_ns: [asm-ingress] dst_pods: [*] conn: All connections src_ns: [asm-ingress,default] src_pods: [*] dst: 0.0.0.0/0 conn: All connections src_ns: [asm-ingress,default] src_pods: [*] dst_ns: [asm-ingress] dst_pods: [*] conn: All connections -src_ns: [default] src_pods: [app in (checkoutservice,frontend)] dst_ns: [default] dst_pods: [cartservice] conn: {protocols:TCP,dst_ports:7070} -src_ns: [default] src_pods: [app in (checkoutservice,frontend)] dst_ns: [default] dst_pods: [currencyservice] conn: {protocols:TCP,dst_ports:7000} -src_ns: [default] src_pods: [app in (checkoutservice,frontend)] dst_ns: [default] dst_pods: [shippingservice] conn: {protocols:TCP,dst_ports:50051} -src_ns: [default] src_pods: [app in (checkoutservice,frontend,recommendationservice)] dst_ns: [default] dst_pods: [productcatalogservice] conn: {protocols:TCP,dst_ports:3550} -src_ns: [default] src_pods: [checkoutservice] dst_ns: [default] dst_pods: [emailservice] conn: {protocols:TCP,dst_ports:8080} -src_ns: [default] src_pods: [frontend] dst_ns: [default] dst_pods: [adservice] conn: {protocols:TCP,dst_ports:9555} -src_ns: [default] src_pods: [frontend] dst_ns: [default] dst_pods: [checkoutservice] conn: {protocols:TCP,dst_ports:5050} -src_ns: [default] src_pods: [frontend] dst_ns: [default] dst_pods: [recommendationservice] conn: {protocols:TCP,dst_ports:8080} -src_ns: [default] src_pods: [loadgenerator] dst_ns: [default] dst_pods: [frontend] conn: {protocols:TCP,dst_ports:8080} +src_ns: [default] src_pods: [app in (checkoutservice,frontend)] dst_ns: [default] dst_pods: [cartservice] conn: {dst_ports:7070} +src_ns: [default] src_pods: [app in (checkoutservice,frontend)] dst_ns: [default] dst_pods: [currencyservice] conn: {dst_ports:7000} +src_ns: [default] src_pods: [app in (checkoutservice,frontend)] dst_ns: [default] dst_pods: [shippingservice] conn: {dst_ports:50051} +src_ns: [default] src_pods: [app in (checkoutservice,frontend,recommendationservice)] dst_ns: [default] dst_pods: [productcatalogservice] conn: {dst_ports:3550} +src_ns: [default] src_pods: [checkoutservice] dst_ns: [default] dst_pods: [emailservice] conn: {dst_ports:8080} +src_ns: [default] src_pods: [frontend] dst_ns: [default] dst_pods: [adservice] conn: {dst_ports:9555} +src_ns: [default] src_pods: [frontend] dst_ns: [default] dst_pods: [checkoutservice] conn: {dst_ports:5050} +src_ns: [default] src_pods: [frontend] dst_ns: [default] dst_pods: [recommendationservice] conn: {dst_ports:8080} +src_ns: [default] src_pods: [loadgenerator] dst_ns: [default] dst_pods: [frontend] conn: {dst_ports:8080} For connections of type non-TCP, final fw rules for query: new_online_boutique_synth_res_connectivity_map_with_baseline_rule, config: new_online_boutique_synthesis_res_with_baseline_restrict_access_to_payment_service: src: 0.0.0.0/0 dst_ns: [asm-ingress,default] dst_pods: [*] conn: All connections diff --git a/tests/istio_testcases/expected_output/new_online_boutique_synth_res_connectivity_map_wo_fw_rules.txt b/tests/istio_testcases/expected_output/new_online_boutique_synth_res_connectivity_map_wo_fw_rules.txt index c552cbb2..47e6a5be 100644 --- a/tests/istio_testcases/expected_output/new_online_boutique_synth_res_connectivity_map_wo_fw_rules.txt +++ b/tests/istio_testcases/expected_output/new_online_boutique_synth_res_connectivity_map_wo_fw_rules.txt @@ -7,35 +7,35 @@ default/cartservice[Deployment] => 0.0.0.0-255.255.255.255 : All connections default/cartservice[Deployment] => asm-ingress/asm-ingressgateway[Deployment] : All connections default/checkoutservice[Deployment] => 0.0.0.0-255.255.255.255 : All connections default/checkoutservice[Deployment] => asm-ingress/asm-ingressgateway[Deployment] : All connections -default/checkoutservice[Deployment] => default/cartservice[Deployment] : {protocols:TCP,dst_ports:7070} -default/checkoutservice[Deployment] => default/currencyservice[Deployment] : {protocols:TCP,dst_ports:7000} -default/checkoutservice[Deployment] => default/emailservice[Deployment] : {protocols:TCP,dst_ports:8080} -default/checkoutservice[Deployment] => default/paymentservice[Deployment] : {protocols:TCP,dst_ports:50051} -default/checkoutservice[Deployment] => default/productcatalogservice[Deployment] : {protocols:TCP,dst_ports:3550} -default/checkoutservice[Deployment] => default/shippingservice[Deployment] : {protocols:TCP,dst_ports:50051} +default/checkoutservice[Deployment] => default/cartservice[Deployment] : {dst_ports:7070} +default/checkoutservice[Deployment] => default/currencyservice[Deployment] : {dst_ports:7000} +default/checkoutservice[Deployment] => default/emailservice[Deployment] : {dst_ports:8080} +default/checkoutservice[Deployment] => default/paymentservice[Deployment] : {dst_ports:50051} +default/checkoutservice[Deployment] => default/productcatalogservice[Deployment] : {dst_ports:3550} +default/checkoutservice[Deployment] => default/shippingservice[Deployment] : {dst_ports:50051} default/currencyservice[Deployment] => 0.0.0.0-255.255.255.255 : All connections default/currencyservice[Deployment] => asm-ingress/asm-ingressgateway[Deployment] : All connections default/emailservice[Deployment] => 0.0.0.0-255.255.255.255 : All connections default/emailservice[Deployment] => asm-ingress/asm-ingressgateway[Deployment] : All connections default/frontend[Deployment] => 0.0.0.0-255.255.255.255 : All connections default/frontend[Deployment] => asm-ingress/asm-ingressgateway[Deployment] : All connections -default/frontend[Deployment] => default/adservice[Deployment] : {protocols:TCP,dst_ports:9555} -default/frontend[Deployment] => default/cartservice[Deployment] : {protocols:TCP,dst_ports:7070} -default/frontend[Deployment] => default/checkoutservice[Deployment] : {protocols:TCP,dst_ports:5050} -default/frontend[Deployment] => default/currencyservice[Deployment] : {protocols:TCP,dst_ports:7000} -default/frontend[Deployment] => default/productcatalogservice[Deployment] : {protocols:TCP,dst_ports:3550} -default/frontend[Deployment] => default/recommendationservice[Deployment] : {protocols:TCP,dst_ports:8080} -default/frontend[Deployment] => default/shippingservice[Deployment] : {protocols:TCP,dst_ports:50051} +default/frontend[Deployment] => default/adservice[Deployment] : {dst_ports:9555} +default/frontend[Deployment] => default/cartservice[Deployment] : {dst_ports:7070} +default/frontend[Deployment] => default/checkoutservice[Deployment] : {dst_ports:5050} +default/frontend[Deployment] => default/currencyservice[Deployment] : {dst_ports:7000} +default/frontend[Deployment] => default/productcatalogservice[Deployment] : {dst_ports:3550} +default/frontend[Deployment] => default/recommendationservice[Deployment] : {dst_ports:8080} +default/frontend[Deployment] => default/shippingservice[Deployment] : {dst_ports:50051} default/loadgenerator[Deployment] => 0.0.0.0-255.255.255.255 : All connections default/loadgenerator[Deployment] => asm-ingress/asm-ingressgateway[Deployment] : All connections -default/loadgenerator[Deployment] => default/frontend[Deployment] : {protocols:TCP,dst_ports:8080} +default/loadgenerator[Deployment] => default/frontend[Deployment] : {dst_ports:8080} default/paymentservice[Deployment] => 0.0.0.0-255.255.255.255 : All connections default/paymentservice[Deployment] => asm-ingress/asm-ingressgateway[Deployment] : All connections default/productcatalogservice[Deployment] => 0.0.0.0-255.255.255.255 : All connections default/productcatalogservice[Deployment] => asm-ingress/asm-ingressgateway[Deployment] : All connections default/recommendationservice[Deployment] => 0.0.0.0-255.255.255.255 : All connections default/recommendationservice[Deployment] => asm-ingress/asm-ingressgateway[Deployment] : All connections -default/recommendationservice[Deployment] => default/productcatalogservice[Deployment] : {protocols:TCP,dst_ports:3550} +default/recommendationservice[Deployment] => default/productcatalogservice[Deployment] : {dst_ports:3550} default/shippingservice[Deployment] => 0.0.0.0-255.255.255.255 : All connections default/shippingservice[Deployment] => asm-ingress/asm-ingressgateway[Deployment] : All connections diff --git a/tests/istio_testcases/expected_output/sidecars-and-gateways-test-connectivity-map.txt b/tests/istio_testcases/expected_output/sidecars-and-gateways-test-connectivity-map.txt index 31261d68..d774569b 100644 --- a/tests/istio_testcases/expected_output/sidecars-and-gateways-test-connectivity-map.txt +++ b/tests/istio_testcases/expected_output/sidecars-and-gateways-test-connectivity-map.txt @@ -3,14 +3,14 @@ src: 0.0.0.0/0 dst_ns: [asm-ingress,default] dst_pods: [*] conn: All connections src_ns: [asm-ingress,default] src_pods: [*] dst: 0.0.0.0/0 conn: All connections src_ns: [asm-ingress] src_pods: [*] dst: connected_with_mesh.example.com conn: All connections src_ns: [asm-ingress] src_pods: [*] dst_ns: [asm-ingress,default] dst_pods: [*] conn: All connections -src_ns: [asm-ingress] src_pods: [*] dst_ns: [istio-system] dst_pods: [*] conn: {protocols:TCP,dst_ports:443,hosts:httpbin.example.com} +src_ns: [asm-ingress] src_pods: [*] dst_ns: [istio-system] dst_pods: [*] conn: {dst_ports:443,hosts:httpbin.example.com} src_ns: [default] src_pods: [app not in (checkoutservice,frontend)] dst: connected_with_mesh.example.com conn: All connections -src_ns: [default] src_pods: [app not in (checkoutservice,frontend)] dst_ns: [istio-system] dst_pods: [*] conn: {protocols:TCP,dst_ports:443,hosts:httpbin.example.com} +src_ns: [default] src_pods: [app not in (checkoutservice,frontend)] dst_ns: [istio-system] dst_pods: [*] conn: {dst_ports:443,hosts:httpbin.example.com} src_ns: [default] src_pods: [checkoutservice] dst_ns: [default] dst_pods: [app not in (adservice,checkoutservice,frontend,loadgenerator,recommendationservice)] conn: All connections src_ns: [default] src_pods: [frontend] dst_ns: [default] dst_pods: [app not in (emailservice,frontend,loadgenerator,paymentservice)] conn: All connections src_ns: [default] src_pods: [loadgenerator] dst_ns: [default] dst_pods: [frontend] conn: All connections src_ns: [default] src_pods: [recommendationservice] dst_ns: [default] dst_pods: [productcatalogservice] conn: All connections -src_ns: [istio-system] src_pods: [*] dst: httpbin.example.com conn: {protocols:TCP,dst_ports:80,hosts:httpbin.example.com} +src_ns: [istio-system] src_pods: [*] dst: httpbin.example.com conn: {dst_ports:80,hosts:httpbin.example.com} For connections of type non-TCP, final fw rules for query: onlineboutique-sidecars-connectivity, config: onlineboutique-sidecars-and-gateways: src: 0.0.0.0/0 dst_ns: [asm-ingress,default,istio-system] dst_pods: [*] conn: All connections