digraph G { node [ shape=box ] #rankdir=LR; label="k8s: IPv4 Proxy in IPv6 only k8s" # subgraph cluster_internet { # label="Internet" clientv4 [ label="IPv4 Client" ] clientv6 [ label="IPv6 Client" ] # } subgraph cluster_router { label="Routing Infrastructure" routerv4 [ label="Router with NAT64/SIIT" ] routerv6 [ label="IPv6-Router" ] } subgraph cluster_ipv6 { label="kubernetes:\nIPv6 only pods" endpointv6 [ label="Application (IPv6 only)" ] haproxyv6 [ label="HAProxy (IPv6 only)" ] } clientv4->routerv4 [ label="HTTP Request to 192.0.2.1" ] routerv4->haproxyv6 [ label="NAT64 translation\nTo IPv6" ] haproxyv6->endpointv6 [ label="IPv6 forward\nDomain whitelist" ] clientv6->routerv6 [ label="HTTP Request to 2001:db8:..." ] routerv6->endpointv6 [ label="Regular forward" ] }