diff --git a/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram-with-network-policies.dot_json b/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram-with-network-policies.dot_json
new file mode 100644
index 0000000..95b5b3f
--- /dev/null
+++ b/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram-with-network-policies.dot_json
@@ -0,0 +1,1974 @@
+{
+ "name": "%3",
+ "directed": true,
+ "strict": false,
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "15",
+ "label": "",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "rankdir": "TB",
+ "ranksep": "0.75",
+ "splines": "ortho",
+ "_subgraph_cnt": 11,
+ "objects": [
+ {
+ "name": "cluster_Application: loadgenerator",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: loadgenerator",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: loadgenerator",
+ "_gvid": 0,
+ "nodes": [
+ 26,27
+ ],
+ "edges": [
+ 5
+ ]
+ },
+ {
+ "name": "cluster_Application: adservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: adservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: adservice",
+ "_gvid": 1,
+ "nodes": [
+ 28,29
+ ],
+ "edges": [
+ 7
+ ]
+ },
+ {
+ "name": "cluster_Application: cartservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: cartservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: cartservice",
+ "_gvid": 2,
+ "nodes": [
+ 30,31
+ ],
+ "edges": [
+ 10
+ ]
+ },
+ {
+ "name": "cluster_Application: checkoutservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: checkoutservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: checkoutservice",
+ "_gvid": 3,
+ "nodes": [
+ 32,33
+ ],
+ "edges": [
+ 16
+ ]
+ },
+ {
+ "name": "cluster_Application: currencyservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: currencyservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: currencyservice",
+ "_gvid": 4,
+ "nodes": [
+ 34,35
+ ],
+ "edges": [
+ 37
+ ]
+ },
+ {
+ "name": "cluster_Application: emailservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: emailservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: emailservice",
+ "_gvid": 5,
+ "nodes": [
+ 36,37
+ ],
+ "edges": [
+ 40
+ ]
+ },
+ {
+ "name": "cluster_Application: frontend",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: frontend",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: frontend",
+ "_gvid": 6,
+ "nodes": [
+ 38,39
+ ],
+ "edges": [
+ 43
+ ]
+ },
+ {
+ "name": "cluster_Application: paymentservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: paymentservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: paymentservice",
+ "_gvid": 7,
+ "nodes": [
+ 40,41
+ ],
+ "edges": [
+ 67
+ ]
+ },
+ {
+ "name": "cluster_Application: productcatalogservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: productcatalogservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: productcatalogservice",
+ "_gvid": 8,
+ "nodes": [
+ 42,43
+ ],
+ "edges": [
+ 70
+ ]
+ },
+ {
+ "name": "cluster_Application: recommendationservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: recommendationservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: recommendationservice",
+ "_gvid": 9,
+ "nodes": [
+ 44,45
+ ],
+ "edges": [
+ 73
+ ]
+ },
+ {
+ "name": "cluster_Application: shippingservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: shippingservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: shippingservice",
+ "_gvid": 10,
+ "nodes": [
+ 46,47
+ ],
+ "edges": [
+ 79
+ ]
+ },
+ {
+ "_gvid": 11,
+ "name": "9aa0e6af8cc34776ae38633cfcc802bb",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "adservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: adservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 12,
+ "name": "747aed9ce23643f481a184ca5dc1f37d",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "cartservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: cartservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 13,
+ "name": "c092b736abd648f897b84c830e75d038",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "redis-cart",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: redis-cart\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 14,
+ "name": "0aa1d2279c494bf8a48a8dc4e5f9b494",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "checkoutservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: checkoutservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 15,
+ "name": "e9f6edc65f584a0387a19168dec5de96",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "deny-all",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: deny-all\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 16,
+ "name": "f98e509e3910432fabb8f12db1cbaa8c",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "currencyservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: currencyservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 17,
+ "name": "d3b7dc9c0f934665942ce1931f9366e3",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "emailservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: emailservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 18,
+ "name": "2b364a9c5c754c178b301a57fd0b4758",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "frontend",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: frontend\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 19,
+ "name": "b87230727ede4114941460eb48f67795",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "paymentservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: paymentservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 20,
+ "name": "a229ea1cd9494c94b807d114b90f417c",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "productcatalogservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: productcatalogservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 21,
+ "name": "3b1bbf62dd7849bfb6fdd85573891449",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "recommendationservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: recommendationservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 22,
+ "name": "b8b46576718749cd96b344ef9c8d3e1b",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "shippingservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: shippingservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 23,
+ "name": "79768942350e4f49b0af06333c0e539f",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "redis-cart",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: redis-cart\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 24,
+ "name": "e273d2f473e94efc9178737baba518c1",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "2.3",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "frontend\n-external",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: frontend-external\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 25,
+ "name": "c188993e95c043919b508926f31cfd86",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "redis-cart",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: redis-cart\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 26,
+ "name": "4712e715db244e2c81839fa2cd33e1a2",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/netpol.png",
+ "imagescale": "true",
+ "label": "loadgenerator",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: NetworkPolicy\napiVersion: networking.k8s.io\/v1\nmetadata:\n name: loadgenerator\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 27,
+ "name": "982603c28ac74264b287cdd93233a912",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "loadgenerator",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: loadgenerator\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 28,
+ "name": "f0e4ac7da15d4cff9205efc9748e395c",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "adservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: adservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 29,
+ "name": "6263e492f2254da8ab5d748dc7aa3966",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "adservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: adservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 30,
+ "name": "9136a4c2cf7149b59d87b2bbd4c9347c",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "cartservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: cartservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 31,
+ "name": "13fc009e8b31403d8ce28996e33dce2d",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "cartservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: cartservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 32,
+ "name": "cce84ca97d224476bd214a30b69d46f6",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "checkoutservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: checkoutservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 33,
+ "name": "d636212903f74ed4b44a9c234c483fbc",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "checkoutservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: checkoutservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 34,
+ "name": "e001cf0debd447a6bb7b5c0a3e028184",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "currencyservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: currencyservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 35,
+ "name": "90ae3a61fe774a558e8ef13569bc2b8c",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "currencyservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: currencyservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 36,
+ "name": "2d780008047f402780fc033a42ce268e",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "emailservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: emailservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 37,
+ "name": "829902f74a474609ae0d87a3ed2b276a",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "emailservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: emailservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 38,
+ "name": "2593416e927f4fa2a4ed4b56bf2694b4",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "frontend",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: frontend\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 39,
+ "name": "39ea8f1bdc8d4d42b4d5bf705fdccda1",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "frontend",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: frontend\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 40,
+ "name": "ea1cf10315044a818e9afc4630eafc2c",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "paymentservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: paymentservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 41,
+ "name": "7f31aa42b5ec4b2b9602c69277bbf4ca",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "paymentservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: paymentservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 42,
+ "name": "a70c059e5d2144b5b573991e5eaf6c4d",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "productcatalogservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: productcatalogservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 43,
+ "name": "26f8033245d44c72a0ea7b0d529c0349",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "productcatalogservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: productcatalogservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 44,
+ "name": "9f0635682f8d4affb160ae99e83f653a",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "recommendationservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: recommendationservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 45,
+ "name": "aff31e221f284855abbeb7ddfa959f7d",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "recommendationservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: recommendationservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 46,
+ "name": "5a6c86ab52bb49a09e3b55984d74ad76",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "shippingservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: shippingservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 47,
+ "name": "cf5ddd2ea37f4f3ebff96120c884ab5a",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "shippingservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: shippingservice\n...",
+ "width": "1.4"
+ }
+ ],
+ "edges": [
+ {
+ "_gvid": 8,
+ "tail": 29,
+ "head": 11,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels:\n app: adservice"
+ },
+ {
+ "_gvid": 44,
+ "tail": 39,
+ "head": 11,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[0]"
+ },
+ {
+ "_gvid": 54,
+ "tail": 39,
+ "head": 29,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n9555\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: frontend\n ports:\n - port: 9555\n protocol: TCP"
+ },
+ {
+ "_gvid": 11,
+ "tail": 31,
+ "head": 12,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels:\n app: cartservice"
+ },
+ {
+ "_gvid": 45,
+ "tail": 39,
+ "head": 12,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[0]"
+ },
+ {
+ "_gvid": 56,
+ "tail": 39,
+ "head": 31,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n7070\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: frontend\n - podSelector:\n matchLabels:\n app: checkoutservice\n ports:\n - port: 7070\n protocol: TCP"
+ },
+ {
+ "_gvid": 17,
+ "tail": 33,
+ "head": 12,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[1]"
+ },
+ {
+ "_gvid": 26,
+ "tail": 33,
+ "head": 31,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n7070\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: frontend\n - podSelector:\n matchLabels:\n app: checkoutservice\n ports:\n - port: 7070\n protocol: TCP"
+ },
+ {
+ "_gvid": 2,
+ "tail": 25,
+ "head": 13,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels:\n app: redis-cart"
+ },
+ {
+ "_gvid": 12,
+ "tail": 31,
+ "head": 13,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[0]"
+ },
+ {
+ "_gvid": 15,
+ "tail": 31,
+ "head": 25,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n6379\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: cartservice\n ports:\n - port: 6379\n protocol: TCP"
+ },
+ {
+ "_gvid": 18,
+ "tail": 33,
+ "head": 14,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels:\n app: checkoutservice"
+ },
+ {
+ "_gvid": 46,
+ "tail": 39,
+ "head": 14,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[0]"
+ },
+ {
+ "_gvid": 58,
+ "tail": 39,
+ "head": 33,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n5050\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: frontend\n ports:\n - port: 5050\n protocol: TCP"
+ },
+ {
+ "_gvid": 9,
+ "tail": 29,
+ "head": 15,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels"
+ },
+ {
+ "_gvid": 13,
+ "tail": 31,
+ "head": 15,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels"
+ },
+ {
+ "_gvid": 3,
+ "tail": 25,
+ "head": 15,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels"
+ },
+ {
+ "_gvid": 19,
+ "tail": 33,
+ "head": 15,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels"
+ },
+ {
+ "_gvid": 38,
+ "tail": 35,
+ "head": 15,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels"
+ },
+ {
+ "_gvid": 41,
+ "tail": 37,
+ "head": 15,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels"
+ },
+ {
+ "_gvid": 47,
+ "tail": 39,
+ "head": 15,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels"
+ },
+ {
+ "_gvid": 4,
+ "tail": 27,
+ "head": 15,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels"
+ },
+ {
+ "_gvid": 68,
+ "tail": 41,
+ "head": 15,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels"
+ },
+ {
+ "_gvid": 71,
+ "tail": 43,
+ "head": 15,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels"
+ },
+ {
+ "_gvid": 74,
+ "tail": 45,
+ "head": 15,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels"
+ },
+ {
+ "_gvid": 80,
+ "tail": 47,
+ "head": 15,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels"
+ },
+ {
+ "_gvid": 39,
+ "tail": 35,
+ "head": 16,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels:\n app: currencyservice"
+ },
+ {
+ "_gvid": 48,
+ "tail": 39,
+ "head": 16,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[0]"
+ },
+ {
+ "_gvid": 60,
+ "tail": 39,
+ "head": 35,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n7000\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: frontend\n - podSelector:\n matchLabels:\n app: checkoutservice\n ports:\n - port: 7000\n protocol: TCP"
+ },
+ {
+ "_gvid": 20,
+ "tail": 33,
+ "head": 16,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[1]"
+ },
+ {
+ "_gvid": 28,
+ "tail": 33,
+ "head": 35,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n7000\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: frontend\n - podSelector:\n matchLabels:\n app: checkoutservice\n ports:\n - port: 7000\n protocol: TCP"
+ },
+ {
+ "_gvid": 42,
+ "tail": 37,
+ "head": 17,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels:\n app: emailservice"
+ },
+ {
+ "_gvid": 21,
+ "tail": 33,
+ "head": 17,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[0]"
+ },
+ {
+ "_gvid": 30,
+ "tail": 33,
+ "head": 37,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n8080\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: checkoutservice\n ports:\n - port: 8080\n protocol: TCP"
+ },
+ {
+ "_gvid": 49,
+ "tail": 39,
+ "head": 18,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels:\n app: frontend"
+ },
+ {
+ "_gvid": 5,
+ "tail": 27,
+ "head": 26,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels:\n app: loadgenerator"
+ },
+ {
+ "_gvid": 69,
+ "tail": 41,
+ "head": 19,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels:\n app: paymentservice"
+ },
+ {
+ "_gvid": 22,
+ "tail": 33,
+ "head": 19,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[0]"
+ },
+ {
+ "_gvid": 32,
+ "tail": 33,
+ "head": 41,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n50051\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: checkoutservice\n ports:\n - port: 50051\n protocol: TCP"
+ },
+ {
+ "_gvid": 72,
+ "tail": 43,
+ "head": 20,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels:\n app: productcatalogservice"
+ },
+ {
+ "_gvid": 50,
+ "tail": 39,
+ "head": 20,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[0]"
+ },
+ {
+ "_gvid": 62,
+ "tail": 39,
+ "head": 43,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n3550\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: frontend\n - podSelector:\n matchLabels:\n app: checkoutservice\n - podSelector:\n matchLabels:\n app: recommendationservice\n ports:\n - port: 3550\n protocol: TCP"
+ },
+ {
+ "_gvid": 23,
+ "tail": 33,
+ "head": 20,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[1]"
+ },
+ {
+ "_gvid": 34,
+ "tail": 33,
+ "head": 43,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n3550\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: frontend\n - podSelector:\n matchLabels:\n app: checkoutservice\n - podSelector:\n matchLabels:\n app: recommendationservice\n ports:\n - port: 3550\n protocol: TCP"
+ },
+ {
+ "_gvid": 75,
+ "tail": 45,
+ "head": 20,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[2]"
+ },
+ {
+ "_gvid": 78,
+ "tail": 45,
+ "head": 43,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n3550\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: frontend\n - podSelector:\n matchLabels:\n app: checkoutservice\n - podSelector:\n matchLabels:\n app: recommendationservice\n ports:\n - port: 3550\n protocol: TCP"
+ },
+ {
+ "_gvid": 76,
+ "tail": 45,
+ "head": 21,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels:\n app: recommendationservice"
+ },
+ {
+ "_gvid": 51,
+ "tail": 39,
+ "head": 21,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[0]"
+ },
+ {
+ "_gvid": 64,
+ "tail": 39,
+ "head": 45,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n8080\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: frontend\n ports:\n - port: 8080\n protocol: TCP"
+ },
+ {
+ "_gvid": 81,
+ "tail": 47,
+ "head": 22,
+ "color": "black",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "dashed",
+ "tooltip": "spec.podSelector.matchLabels:\n app: shippingservice"
+ },
+ {
+ "_gvid": 52,
+ "tail": 39,
+ "head": 22,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[0]"
+ },
+ {
+ "_gvid": 66,
+ "tail": 39,
+ "head": 47,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n50051\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: frontend\n - podSelector:\n matchLabels:\n app: checkoutservice\n ports:\n - port: 50051\n protocol: TCP"
+ },
+ {
+ "_gvid": 24,
+ "tail": 33,
+ "head": 22,
+ "color": "transparent",
+ "dir": "back",
+ "direction": "up",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "style": "invisible",
+ "tooltip": "spec.ingress[0].from[1]"
+ },
+ {
+ "_gvid": 36,
+ "tail": 33,
+ "head": 47,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "headlabel": "ingress\n50051\/TCP",
+ "tooltip": "spec.ingress:\n- from:\n - podSelector:\n matchLabels:\n app: frontend\n - podSelector:\n matchLabels:\n app: checkoutservice\n ports:\n - port: 50051\n protocol: TCP"
+ },
+ {
+ "_gvid": 7,
+ "tail": 28,
+ "head": 29,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: adservice",
+ "xlabel": "9555\/TCP"
+ },
+ {
+ "_gvid": 10,
+ "tail": 30,
+ "head": 31,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: cartservice",
+ "xlabel": "7070\/TCP"
+ },
+ {
+ "_gvid": 0,
+ "tail": 23,
+ "head": 25,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: redis-cart",
+ "xlabel": "6379\/TCP"
+ },
+ {
+ "_gvid": 16,
+ "tail": 32,
+ "head": 33,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: checkoutservice",
+ "xlabel": "5050\/TCP"
+ },
+ {
+ "_gvid": 37,
+ "tail": 34,
+ "head": 35,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: currencyservice",
+ "xlabel": "7000\/TCP"
+ },
+ {
+ "_gvid": 40,
+ "tail": 36,
+ "head": 37,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: emailservice",
+ "xlabel": "5000->8080\/TCP"
+ },
+ {
+ "_gvid": 43,
+ "tail": 38,
+ "head": 39,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: frontend",
+ "xlabel": "80->8080\/TCP"
+ },
+ {
+ "_gvid": 1,
+ "tail": 24,
+ "head": 39,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: frontend",
+ "xlabel": "80->8080\/TCP"
+ },
+ {
+ "_gvid": 67,
+ "tail": 40,
+ "head": 41,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: paymentservice",
+ "xlabel": "50051\/TCP"
+ },
+ {
+ "_gvid": 70,
+ "tail": 42,
+ "head": 43,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: productcatalogservice",
+ "xlabel": "3550\/TCP"
+ },
+ {
+ "_gvid": 73,
+ "tail": 44,
+ "head": 45,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: recommendationservice",
+ "xlabel": "8080\/TCP"
+ },
+ {
+ "_gvid": 79,
+ "tail": 46,
+ "head": 47,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: shippingservice",
+ "xlabel": "50051\/TCP"
+ },
+ {
+ "_gvid": 33,
+ "tail": 33,
+ "head": 42,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "checkoutservice\/default\/Deployment\/apps\/v1",
+ "to": "productcatalogservice\/default\/Service\/v1",
+ "tooltip": "from: checkoutservice\/default\/Deployment\/apps\/v1\nto: productcatalogservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 35,
+ "tail": 33,
+ "head": 46,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "checkoutservice\/default\/Deployment\/apps\/v1",
+ "to": "shippingservice\/default\/Service\/v1",
+ "tooltip": "from: checkoutservice\/default\/Deployment\/apps\/v1\nto: shippingservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 31,
+ "tail": 33,
+ "head": 40,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "checkoutservice\/default\/Deployment\/apps\/v1",
+ "to": "paymentservice\/default\/Service\/v1",
+ "tooltip": "from: checkoutservice\/default\/Deployment\/apps\/v1\nto: paymentservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 29,
+ "tail": 33,
+ "head": 36,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "checkoutservice\/default\/Deployment\/apps\/v1",
+ "to": "emailservice\/default\/Service\/v1",
+ "tooltip": "from: checkoutservice\/default\/Deployment\/apps\/v1\nto: emailservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 27,
+ "tail": 33,
+ "head": 34,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "checkoutservice\/default\/Deployment\/apps\/v1",
+ "to": "currencyservice\/default\/Service\/v1",
+ "tooltip": "from: checkoutservice\/default\/Deployment\/apps\/v1\nto: currencyservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 25,
+ "tail": 33,
+ "head": 30,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "checkoutservice\/default\/Deployment\/apps\/v1",
+ "to": "cartservice\/default\/Service\/v1",
+ "tooltip": "from: checkoutservice\/default\/Deployment\/apps\/v1\nto: cartservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 77,
+ "tail": 45,
+ "head": 42,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "recommendationservice\/default\/Deployment\/apps\/v1",
+ "to": "productcatalogservice\/default\/Service\/v1",
+ "tooltip": "from: recommendationservice\/default\/Deployment\/apps\/v1\nto: productcatalogservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 61,
+ "tail": 39,
+ "head": 42,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "productcatalogservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: productcatalogservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 59,
+ "tail": 39,
+ "head": 34,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "currencyservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: currencyservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 55,
+ "tail": 39,
+ "head": 30,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "cartservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: cartservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 63,
+ "tail": 39,
+ "head": 44,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "recommendationservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: recommendationservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 65,
+ "tail": 39,
+ "head": 46,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "shippingservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: shippingservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 57,
+ "tail": 39,
+ "head": 32,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "checkoutservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: checkoutservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 53,
+ "tail": 39,
+ "head": 28,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "adservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: adservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 6,
+ "tail": 27,
+ "head": 38,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "loadgenerator\/default\/Deployment\/apps\/v1",
+ "to": "frontend\/default\/Service\/v1",
+ "tooltip": "from: loadgenerator\/default\/Deployment\/apps\/v1\nto: frontend\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 14,
+ "tail": 31,
+ "head": 23,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "cartservice\/default\/Deployment\/apps\/v1",
+ "to": "redis-cart\/default\/Service\/v1",
+ "tooltip": "from: cartservice\/default\/Deployment\/apps\/v1\nto: redis-cart\/default\/Service\/v1"
+ }
+ ]
+}
diff --git a/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram-with-network-policies.png b/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram-with-network-policies.png
new file mode 100644
index 0000000..a980138
Binary files /dev/null and b/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram-with-network-policies.png differ
diff --git a/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram-with-network-policies.svg b/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram-with-network-policies.svg
new file mode 100644
index 0000000..7d55028
--- /dev/null
+++ b/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram-with-network-policies.svg
@@ -0,0 +1,1199 @@
+
+
+
+
+
diff --git a/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram.dot_json b/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram.dot_json
new file mode 100644
index 0000000..de380d1
--- /dev/null
+++ b/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram.dot_json
@@ -0,0 +1,1063 @@
+{
+ "name": "%3",
+ "directed": true,
+ "strict": false,
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "15",
+ "label": "",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "rankdir": "TB",
+ "ranksep": "0.75",
+ "splines": "ortho",
+ "_subgraph_cnt": 11,
+ "objects": [
+ {
+ "name": "cluster_Application: adservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: adservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: adservice",
+ "_gvid": 0,
+ "nodes": [
+ 14,15
+ ],
+ "edges": [
+ 2
+ ]
+ },
+ {
+ "name": "cluster_Application: cartservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: cartservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: cartservice",
+ "_gvid": 1,
+ "nodes": [
+ 16,17
+ ],
+ "edges": [
+ 3
+ ]
+ },
+ {
+ "name": "cluster_Application: checkoutservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: checkoutservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: checkoutservice",
+ "_gvid": 2,
+ "nodes": [
+ 18,19
+ ],
+ "edges": [
+ 5
+ ]
+ },
+ {
+ "name": "cluster_Application: currencyservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: currencyservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: currencyservice",
+ "_gvid": 3,
+ "nodes": [
+ 20,21
+ ],
+ "edges": [
+ 12
+ ]
+ },
+ {
+ "name": "cluster_Application: emailservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: emailservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: emailservice",
+ "_gvid": 4,
+ "nodes": [
+ 22,23
+ ],
+ "edges": [
+ 13
+ ]
+ },
+ {
+ "name": "cluster_Application: frontend",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: frontend",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: frontend",
+ "_gvid": 5,
+ "nodes": [
+ 24,25
+ ],
+ "edges": [
+ 14
+ ]
+ },
+ {
+ "name": "cluster_Application: paymentservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: paymentservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: paymentservice",
+ "_gvid": 6,
+ "nodes": [
+ 26,27
+ ],
+ "edges": [
+ 22
+ ]
+ },
+ {
+ "name": "cluster_Application: productcatalogservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: productcatalogservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: productcatalogservice",
+ "_gvid": 7,
+ "nodes": [
+ 28,29
+ ],
+ "edges": [
+ 23
+ ]
+ },
+ {
+ "name": "cluster_Application: recommendationservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: recommendationservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: recommendationservice",
+ "_gvid": 8,
+ "nodes": [
+ 30,31
+ ],
+ "edges": [
+ 24
+ ]
+ },
+ {
+ "name": "cluster_Application: shippingservice",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: shippingservice",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: shippingservice",
+ "_gvid": 9,
+ "nodes": [
+ 32,33
+ ],
+ "edges": [
+ 26
+ ]
+ },
+ {
+ "name": "cluster_Application: loadgenerator",
+ "bgcolor": "#ECE8F6",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "12",
+ "label": "Application: loadgenerator",
+ "labeljust": "l",
+ "nodesep": "0.60",
+ "pad": "2.0",
+ "pencolor": "#AEB6BE",
+ "rankdir": "LR",
+ "ranksep": "0.75",
+ "shape": "box",
+ "splines": "ortho",
+ "style": "rounded",
+ "tooltip": "Application: loadgenerator",
+ "_gvid": 10,
+ "nodes": [
+ 34
+ ]
+ },
+ {
+ "_gvid": 11,
+ "name": "bcd59abb75364347ab398c35f16eaf35",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "redis-cart",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: redis-cart\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 12,
+ "name": "32a230b52b594451ac2f6bde9a2a5e30",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "2.3",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "frontend\n-external",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: frontend-external\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 13,
+ "name": "a3a0527f01264630aefc9aae2624371b",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "redis-cart",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: redis-cart\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 14,
+ "name": "4669a428e6344181b03a5948a7831545",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "adservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: adservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 15,
+ "name": "2f19858e1a2143c983a11f85fccfe6ef",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "adservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: adservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 16,
+ "name": "aa7f5215edcf490882dbbd67d8a7ecc4",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "cartservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: cartservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 17,
+ "name": "0985640cd96848e8a6ee320b3fd10a62",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "cartservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: cartservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 18,
+ "name": "ed106eee661b477c9d6690f2f14eb30e",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "checkoutservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: checkoutservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 19,
+ "name": "60745f4cb89f404dacc65375815802dd",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "checkoutservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: checkoutservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 20,
+ "name": "bfe7294a9b544a5d9b292de0a575fc69",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "currencyservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: currencyservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 21,
+ "name": "091bd562be704cfb8387738190a48dd6",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "currencyservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: currencyservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 22,
+ "name": "bd0f56bf32cf42e8bea6aae3e2f567d4",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "emailservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: emailservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 23,
+ "name": "82473e57b59943fe85daa40ec86e3517",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "emailservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: emailservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 24,
+ "name": "a6549beb47f941588218e9b53532d39a",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "frontend",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: frontend\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 25,
+ "name": "119886b8341846528153b15f3bb4ba68",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "frontend",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: frontend\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 26,
+ "name": "f49809bcf3d14f2db0a0a2ecac0e3833",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "paymentservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: paymentservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 27,
+ "name": "ab25bfc964a34cf39c010635673df71c",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "paymentservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: paymentservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 28,
+ "name": "2ea18febce4545b5b5e45df7ceddffb4",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "productcatalogservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: productcatalogservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 29,
+ "name": "c6359c98f47248d4b5df39d3d0d4faf6",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "productcatalogservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: productcatalogservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 30,
+ "name": "4b19af77012e447b9a32cfa6de39a442",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "recommendationservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: recommendationservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 31,
+ "name": "b20ad63ce9324c108f4b3d94cfbb98b0",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "recommendationservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: recommendationservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 32,
+ "name": "919b856445a64cdfbdcf0755e42978f2",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/network\/svc.png",
+ "imagescale": "true",
+ "label": "shippingservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Service\napiVersion: v1\nmetadata:\n name: shippingservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 33,
+ "name": "07767e9554b048cc94f27fee592b9bcb",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "shippingservice",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: shippingservice\n...",
+ "width": "1.4"
+ },
+ {
+ "_gvid": 34,
+ "name": "b5b4b0b85afb4139b7d0df6c11709c36",
+ "fixedsize": "true",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "height": "1.9",
+ "image": "https://raw.githubusercontent.com/mingrammer/diagrams/refs/heads/master\/resources\/k8s\/compute\/deploy.png",
+ "imagescale": "true",
+ "label": "loadgenerator",
+ "labelloc": "b",
+ "shape": "none",
+ "style": "rounded",
+ "tooltip": "kind: Deployment\napiVersion: apps\/v1\nmetadata:\n name: loadgenerator\n...",
+ "width": "1.4"
+ }
+ ],
+ "edges": [
+ {
+ "_gvid": 2,
+ "tail": 14,
+ "head": 15,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: adservice",
+ "xlabel": "9555\/TCP"
+ },
+ {
+ "_gvid": 3,
+ "tail": 16,
+ "head": 17,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: cartservice",
+ "xlabel": "7070\/TCP"
+ },
+ {
+ "_gvid": 0,
+ "tail": 11,
+ "head": 13,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: redis-cart",
+ "xlabel": "6379\/TCP"
+ },
+ {
+ "_gvid": 5,
+ "tail": 18,
+ "head": 19,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: checkoutservice",
+ "xlabel": "5050\/TCP"
+ },
+ {
+ "_gvid": 12,
+ "tail": 20,
+ "head": 21,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: currencyservice",
+ "xlabel": "7000\/TCP"
+ },
+ {
+ "_gvid": 13,
+ "tail": 22,
+ "head": 23,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: emailservice",
+ "xlabel": "5000->8080\/TCP"
+ },
+ {
+ "_gvid": 14,
+ "tail": 24,
+ "head": 25,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: frontend",
+ "xlabel": "80->8080\/TCP"
+ },
+ {
+ "_gvid": 1,
+ "tail": 12,
+ "head": 25,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: frontend",
+ "xlabel": "80->8080\/TCP"
+ },
+ {
+ "_gvid": 22,
+ "tail": 26,
+ "head": 27,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: paymentservice",
+ "xlabel": "50051\/TCP"
+ },
+ {
+ "_gvid": 23,
+ "tail": 28,
+ "head": 29,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: productcatalogservice",
+ "xlabel": "3550\/TCP"
+ },
+ {
+ "_gvid": 24,
+ "tail": 30,
+ "head": 31,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: recommendationservice",
+ "xlabel": "8080\/TCP"
+ },
+ {
+ "_gvid": 26,
+ "tail": 32,
+ "head": 33,
+ "color": "black",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "10",
+ "style": "dashed",
+ "tooltip": "spec.selector:\n app: shippingservice",
+ "xlabel": "50051\/TCP"
+ },
+ {
+ "_gvid": 10,
+ "tail": 19,
+ "head": 28,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "checkoutservice\/default\/Deployment\/apps\/v1",
+ "to": "productcatalogservice\/default\/Service\/v1",
+ "tooltip": "from: checkoutservice\/default\/Deployment\/apps\/v1\nto: productcatalogservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 11,
+ "tail": 19,
+ "head": 32,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "checkoutservice\/default\/Deployment\/apps\/v1",
+ "to": "shippingservice\/default\/Service\/v1",
+ "tooltip": "from: checkoutservice\/default\/Deployment\/apps\/v1\nto: shippingservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 9,
+ "tail": 19,
+ "head": 26,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "checkoutservice\/default\/Deployment\/apps\/v1",
+ "to": "paymentservice\/default\/Service\/v1",
+ "tooltip": "from: checkoutservice\/default\/Deployment\/apps\/v1\nto: paymentservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 8,
+ "tail": 19,
+ "head": 22,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "checkoutservice\/default\/Deployment\/apps\/v1",
+ "to": "emailservice\/default\/Service\/v1",
+ "tooltip": "from: checkoutservice\/default\/Deployment\/apps\/v1\nto: emailservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 7,
+ "tail": 19,
+ "head": 20,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "checkoutservice\/default\/Deployment\/apps\/v1",
+ "to": "currencyservice\/default\/Service\/v1",
+ "tooltip": "from: checkoutservice\/default\/Deployment\/apps\/v1\nto: currencyservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 6,
+ "tail": 19,
+ "head": 16,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "checkoutservice\/default\/Deployment\/apps\/v1",
+ "to": "cartservice\/default\/Service\/v1",
+ "tooltip": "from: checkoutservice\/default\/Deployment\/apps\/v1\nto: cartservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 25,
+ "tail": 31,
+ "head": 28,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "recommendationservice\/default\/Deployment\/apps\/v1",
+ "to": "productcatalogservice\/default\/Service\/v1",
+ "tooltip": "from: recommendationservice\/default\/Deployment\/apps\/v1\nto: productcatalogservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 19,
+ "tail": 25,
+ "head": 28,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "productcatalogservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: productcatalogservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 18,
+ "tail": 25,
+ "head": 20,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "currencyservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: currencyservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 16,
+ "tail": 25,
+ "head": 16,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "cartservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: cartservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 20,
+ "tail": 25,
+ "head": 30,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "recommendationservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: recommendationservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 21,
+ "tail": 25,
+ "head": 32,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "shippingservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: shippingservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 17,
+ "tail": 25,
+ "head": 18,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "checkoutservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: checkoutservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 15,
+ "tail": 25,
+ "head": 14,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "frontend\/default\/Deployment\/apps\/v1",
+ "to": "adservice\/default\/Service\/v1",
+ "tooltip": "from: frontend\/default\/Deployment\/apps\/v1\nto: adservice\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 27,
+ "tail": 34,
+ "head": 24,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "loadgenerator\/default\/Deployment\/apps\/v1",
+ "to": "frontend\/default\/Service\/v1",
+ "tooltip": "from: loadgenerator\/default\/Deployment\/apps\/v1\nto: frontend\/default\/Service\/v1"
+ },
+ {
+ "_gvid": 4,
+ "tail": 17,
+ "head": 11,
+ "color": "brown",
+ "dir": "forward",
+ "fontcolor": "#2D3436",
+ "fontname": "Sans-Serif",
+ "fontsize": "13",
+ "from": "cartservice\/default\/Deployment\/apps\/v1",
+ "to": "redis-cart\/default\/Service\/v1",
+ "tooltip": "from: cartservice\/default\/Deployment\/apps\/v1\nto: redis-cart\/default\/Service\/v1"
+ }
+ ]
+}
diff --git a/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram.png b/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram.png
new file mode 100644
index 0000000..36d4f40
Binary files /dev/null and b/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram.png differ
diff --git a/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram.svg b/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram.svg
new file mode 100644
index 0000000..2a41064
--- /dev/null
+++ b/examples/online-boutique/diagrams/online-boutique-helm-chart-custom-diagram.svg
@@ -0,0 +1,581 @@
+
+
+
+
+