Page MenuHomeSoftware Heritage

No OneTemporary

diff --git a/sysadmin/docs/gitlab/gitlab_infrastructure.png b/sysadmin/docs/gitlab/gitlab_infrastructure.png
new file mode 100644
index 0000000..73c3dcf
Binary files /dev/null and b/sysadmin/docs/gitlab/gitlab_infrastructure.png differ
diff --git a/sysadmin/docs/gitlab/gitlab_infrastructure.svg b/sysadmin/docs/gitlab/gitlab_infrastructure.svg
deleted file mode 100644
index e5152f2..0000000
--- a/sysadmin/docs/gitlab/gitlab_infrastructure.svg
+++ /dev/null
@@ -1,218 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: Gitlab infrastructure Pages: 1 -->
-<svg width="1100pt" height="1791pt"
- viewBox="0.00 0.00 1100.00 1791.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(144 1647)">
-<title>Gitlab infrastructure</title>
-<polygon fill="white" stroke="transparent" points="-144,144 -144,-1647 956,-1647 956,144 -144,144"/>
-<text text-anchor="middle" x="406" y="-9" font-family="Sans-Serif" font-size="15.00" fill="#2d3436">Gitlab infrastructure</text>
-<g id="clust1" class="cluster">
-<title>cluster_zone&#45;gitlab&#45;instance resource group</title>
-<path fill="#e5f5fd" stroke="#aeb6be" d="M20,-931C20,-931 268,-931 268,-931 274,-931 280,-937 280,-943 280,-943 280,-1454 280,-1454 280,-1460 274,-1466 268,-1466 268,-1466 20,-1466 20,-1466 14,-1466 8,-1460 8,-1454 8,-1454 8,-943 8,-943 8,-937 14,-931 20,-931"/>
-<text text-anchor="middle" x="123.5" y="-1452.4" font-family="Sans-Serif" font-size="12.00" fill="#2d3436">zone&#45;gitlab&#45;instance resource group</text>
-</g>
-<g id="clust2" class="cluster">
-<title>cluster_zone&#45;gitlab&#45;instance&#45;internal resource group</title>
-<path fill="#e5f5fd" stroke="#aeb6be" d="M167,-33C167,-33 792,-33 792,-33 798,-33 804,-39 804,-45 804,-45 804,-911 804,-911 804,-917 798,-923 792,-923 792,-923 167,-923 167,-923 161,-923 155,-917 155,-911 155,-911 155,-45 155,-45 155,-39 161,-33 167,-33"/>
-<text text-anchor="middle" x="295.5" y="-909.4" font-family="Sans-Serif" font-size="12.00" fill="#2d3436">zone&#45;gitlab&#45;instance&#45;internal resource group</text>
-</g>
-<g id="clust3" class="cluster">
-<title>cluster_Internal Virtual network 10.0.0.0/8</title>
-<path fill="#ebf3e7" stroke="#aeb6be" d="M175,-393C175,-393 784,-393 784,-393 790,-393 796,-399 796,-405 796,-405 796,-736 796,-736 796,-742 790,-748 784,-748 784,-748 175,-748 175,-748 169,-748 163,-742 163,-736 163,-736 163,-405 163,-405 163,-399 169,-393 175,-393"/>
-<text text-anchor="middle" x="273.5" y="-734.4" font-family="Sans-Serif" font-size="12.00" fill="#2d3436">Internal Virtual network 10.0.0.0/8</text>
-</g>
-<g id="clust4" class="cluster">
-<title>cluster_swh&#45;resource Resource Group</title>
-<path fill="#e5f5fd" stroke="#aeb6be" d="M322,-1103C322,-1103 637,-1103 637,-1103 643,-1103 649,-1109 649,-1115 649,-1115 649,-1483 649,-1483 649,-1489 643,-1495 637,-1495 637,-1495 322,-1495 322,-1495 316,-1495 310,-1489 310,-1483 310,-1483 310,-1115 310,-1115 310,-1109 316,-1103 322,-1103"/>
-<text text-anchor="middle" x="407" y="-1481.4" font-family="Sans-Serif" font-size="12.00" fill="#2d3436">swh&#45;resource Resource Group</text>
-</g>
-<g id="clust5" class="cluster">
-<title>cluster_swh&#45;net/default Virtual Network (192.168.200.x/24)</title>
-<path fill="#ebf3e7" stroke="#aeb6be" d="M330,-1111C330,-1111 629,-1111 629,-1111 635,-1111 641,-1117 641,-1123 641,-1123 641,-1454 641,-1454 641,-1460 635,-1466 629,-1466 629,-1466 330,-1466 330,-1466 324,-1466 318,-1460 318,-1454 318,-1454 318,-1123 318,-1123 318,-1117 324,-1111 330,-1111"/>
-<text text-anchor="middle" x="479.5" y="-1452.4" font-family="Sans-Serif" font-size="12.00" fill="#2d3436">swh&#45;net/default Virtual Network (192.168.200.x/24)</text>
-</g>
-<!-- cec6880253f64b24aee6e8edca7bd72d -->
-<g id="node1" class="node">
-<title>cec6880253f64b24aee6e8edca7bd72d</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/compute/kubernetes-services.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="16" y="-1418.5"/>
-<text text-anchor="middle" x="66.5" y="-1303.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">zone&#45;gitlab&#45;instance kubernetes</text>
-</g>
-<!-- 5c5a20f1c56c4b4c92630138a8d393f0 -->
-<g id="node2" class="node">
-<title>5c5a20f1c56c4b4c92630138a8d393f0</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/network/private-endpoints.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="171" y="-1418.5"/>
-<text text-anchor="middle" x="221.5" y="-1303.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">Kubernetes API endpoint</text>
-</g>
-<!-- cec6880253f64b24aee6e8edca7bd72d&#45;&gt;5c5a20f1c56c4b4c92630138a8d393f0 -->
-<g id="edge1" class="edge">
-<title>cec6880253f64b24aee6e8edca7bd72d&#45;&gt;5c5a20f1c56c4b4c92630138a8d393f0</title>
-<path fill="none" stroke="#7b8894" d="M117.25,-1413.67C134.47,-1413.67 153.69,-1413.67 170.9,-1413.67"/>
-</g>
-<!-- dc36d24e6c314b43bee9208de655348a -->
-<g id="node6" class="node">
-<title>dc36d24e6c314b43bee9208de655348a</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/compute/container-instances.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="429" y="-875.5"/>
-<text text-anchor="middle" x="479.5" y="-760.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">Node Pool</text>
-</g>
-<!-- cec6880253f64b24aee6e8edca7bd72d&#45;&gt;dc36d24e6c314b43bee9208de655348a -->
-<g id="edge3" class="edge">
-<title>cec6880253f64b24aee6e8edca7bd72d&#45;&gt;dc36d24e6c314b43bee9208de655348a</title>
-<path fill="none" stroke="#7b8894" d="M117.05,-1390.83C139.95,-1390.83 162,-1390.83 162,-1390.83 162,-1390.83 162,-825 162,-825 162,-825 418.84,-825 418.84,-825"/>
-<polygon fill="#7b8894" stroke="#7b8894" points="418.84,-828.5 428.84,-825 418.84,-821.5 418.84,-828.5"/>
-</g>
-<!-- 31cfb1ad24ea4fac88d8c125d5986dbd -->
-<g id="node7" class="node">
-<title>31cfb1ad24ea4fac88d8c125d5986dbd</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/network/load-balancers.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="429" y="-353.5"/>
-<text text-anchor="middle" x="479.5" y="-238.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">kubernetes LB</text>
-</g>
-<!-- cec6880253f64b24aee6e8edca7bd72d&#45;&gt;31cfb1ad24ea4fac88d8c125d5986dbd -->
-<g id="edge8" class="edge">
-<title>cec6880253f64b24aee6e8edca7bd72d&#45;&gt;31cfb1ad24ea4fac88d8c125d5986dbd</title>
-<path fill="none" stroke="#7b8894" d="M117.22,-1322.33C122.51,-1322.33 126,-1322.33 126,-1322.33 126,-1322.33 126,-303 126,-303 126,-303 331.11,-303 428.85,-303"/>
-</g>
-<!-- 76d7acb44d0b42f88ffba77a307b6105 -->
-<g id="node11" class="node">
-<title>76d7acb44d0b42f88ffba77a307b6105</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/network/load-balancers.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="429" y="-620.5"/>
-<text text-anchor="middle" x="479.5" y="-505.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">kubernetes&#45;internal LB</text>
-</g>
-<!-- cec6880253f64b24aee6e8edca7bd72d&#45;&gt;76d7acb44d0b42f88ffba77a307b6105 -->
-<g id="edge12" class="edge">
-<title>cec6880253f64b24aee6e8edca7bd72d&#45;&gt;76d7acb44d0b42f88ffba77a307b6105</title>
-<path fill="none" stroke="#7b8894" d="M117.33,-1345.17C131.94,-1345.17 144,-1345.17 144,-1345.17 144,-1345.17 144,-560 144,-560 144,-560 335.18,-560 428.91,-560"/>
-</g>
-<!-- 55e3a375b170469191ddac3a6fd10102 -->
-<g id="node13" class="node">
-<title>55e3a375b170469191ddac3a6fd10102</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/network/network-interfaces.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="171" y="-700.5"/>
-<text text-anchor="middle" x="221.5" y="-585.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">Kube API Interface</text>
-</g>
-<!-- cec6880253f64b24aee6e8edca7bd72d&#45;&gt;55e3a375b170469191ddac3a6fd10102 -->
-<g id="edge11" class="edge">
-<title>cec6880253f64b24aee6e8edca7bd72d&#45;&gt;55e3a375b170469191ddac3a6fd10102</title>
-<path fill="none" stroke="#7b8894" d="M117.07,-1368C136,-1368 153,-1368 153,-1368 153,-1368 153,-650 153,-650 153,-650 160.73,-650 171,-650"/>
-</g>
-<!-- 15b9ce5e2e3d4c29b75dab807aace82f -->
-<g id="node16" class="node">
-<title>15b9ce5e2e3d4c29b75dab807aace82f</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/network/network-interfaces.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="429" y="-1418.5"/>
-<text text-anchor="middle" x="479.5" y="-1303.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">Kubernetes API VLAN1300</text>
-</g>
-<!-- 5c5a20f1c56c4b4c92630138a8d393f0&#45;&gt;15b9ce5e2e3d4c29b75dab807aace82f -->
-<g id="edge16" class="edge">
-<title>5c5a20f1c56c4b4c92630138a8d393f0&#45;&gt;15b9ce5e2e3d4c29b75dab807aace82f</title>
-<path fill="none" stroke="#7b8894" d="M272.16,-1368C317.51,-1368 383.64,-1368 428.95,-1368"/>
-</g>
-<!-- 83a5e7ac831240ee918e07b535ab88b1 -->
-<g id="node3" class="node">
-<title>83a5e7ac831240ee918e07b535ab88b1</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/network/private-link-services.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="16" y="-1238.5"/>
-<text text-anchor="middle" x="66.5" y="-1123.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">Internal LoadBalancer Link Service</text>
-</g>
-<!-- c952b8baf6f244fd81cfb54e4222889c -->
-<g id="node4" class="node">
-<title>c952b8baf6f244fd81cfb54e4222889c</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/network/private-endpoints.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="171" y="-1238.5"/>
-<text text-anchor="middle" x="221.5" y="-1123.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">Internal LoadBalancer endpoint</text>
-</g>
-<!-- 83a5e7ac831240ee918e07b535ab88b1&#45;&gt;c952b8baf6f244fd81cfb54e4222889c -->
-<g id="edge2" class="edge">
-<title>83a5e7ac831240ee918e07b535ab88b1&#45;&gt;c952b8baf6f244fd81cfb54e4222889c</title>
-<path fill="none" stroke="#7b8894" d="M117.25,-1210.83C134.47,-1210.83 153.69,-1210.83 170.9,-1210.83"/>
-</g>
-<!-- e7de425ac57f4be0aa109b31abfd29ef -->
-<g id="node14" class="node">
-<title>e7de425ac57f4be0aa109b31abfd29ef</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/network/network-interfaces.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="171" y="-520.5"/>
-<text text-anchor="middle" x="221.5" y="-405.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">Private Link Service Interface</text>
-</g>
-<!-- 83a5e7ac831240ee918e07b535ab88b1&#45;&gt;e7de425ac57f4be0aa109b31abfd29ef -->
-<g id="edge14" class="edge">
-<title>83a5e7ac831240ee918e07b535ab88b1&#45;&gt;e7de425ac57f4be0aa109b31abfd29ef</title>
-<path fill="none" stroke="#7b8894" d="M117,-1165.17C127.27,-1165.17 135,-1165.17 135,-1165.17 135,-1165.17 135,-470 135,-470 135,-470 152,-470 170.93,-470"/>
-</g>
-<!-- 125a3bf4cb2d42509244ee33b252198d -->
-<g id="node15" class="node">
-<title>125a3bf4cb2d42509244ee33b252198d</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/network/network-interfaces.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="429" y="-1238.5"/>
-<text text-anchor="middle" x="479.5" y="-1123.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">LB VLAN1300</text>
-</g>
-<!-- c952b8baf6f244fd81cfb54e4222889c&#45;&gt;125a3bf4cb2d42509244ee33b252198d -->
-<g id="edge15" class="edge">
-<title>c952b8baf6f244fd81cfb54e4222889c&#45;&gt;125a3bf4cb2d42509244ee33b252198d</title>
-<path fill="none" stroke="#7b8894" d="M272.16,-1188C317.51,-1188 383.64,-1188 428.95,-1188"/>
-</g>
-<!-- da65523fbab44570841b38b5c9f1553d -->
-<g id="node5" class="node">
-<title>da65523fbab44570841b38b5c9f1553d</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/storage/storage-accounts.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="16" y="-1058.5"/>
-<text text-anchor="middle" x="66.5" y="-943.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">Storage Account</text>
-</g>
-<!-- b2443a5b8bc6434eaaa2df7fd64ea873 -->
-<g id="node10" class="node">
-<title>b2443a5b8bc6434eaaa2df7fd64ea873</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/compute/vm.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="687" y="-520.5"/>
-<text text-anchor="middle" x="737.5" y="-405.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">Nodes[1&#45;5]</text>
-</g>
-<!-- dc36d24e6c314b43bee9208de655348a&#45;&gt;b2443a5b8bc6434eaaa2df7fd64ea873 -->
-<g id="edge6" class="edge">
-<title>dc36d24e6c314b43bee9208de655348a&#45;&gt;b2443a5b8bc6434eaaa2df7fd64ea873</title>
-<path fill="none" stroke="#7b8894" d="M530.31,-825C566.59,-825 609,-825 609,-825 609,-825 609,-526.17 609,-526.17 609,-526.17 676.71,-526.17 676.71,-526.17"/>
-<polygon fill="#7b8894" stroke="#7b8894" points="676.71,-529.67 686.71,-526.17 676.71,-522.67 676.71,-529.67"/>
-</g>
-<!-- 216d730631634c069d27c6deb310727e -->
-<g id="node8" class="node">
-<title>216d730631634c069d27c6deb310727e</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/network/public-ip-addresses.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="687" y="-160.5"/>
-<text text-anchor="middle" x="737.5" y="-45.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">Outbound public Ip</text>
-</g>
-<!-- 31cfb1ad24ea4fac88d8c125d5986dbd&#45;&gt;216d730631634c069d27c6deb310727e -->
-<g id="edge4" class="edge">
-<title>31cfb1ad24ea4fac88d8c125d5986dbd&#45;&gt;216d730631634c069d27c6deb310727e</title>
-<path fill="none" stroke="#7b8894" d="M480,-234.41C480,-178.94 480,-110 480,-110 480,-110 611.94,-110 686.93,-110"/>
-</g>
-<!-- 05198819fafa429286063a7e9d7fa752 -->
-<g id="node9" class="node">
-<title>05198819fafa429286063a7e9d7fa752</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/network/public-ip-addresses.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="687" y="-340.5"/>
-<text text-anchor="middle" x="737.5" y="-225.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">Inbound public Ip</text>
-</g>
-<!-- 31cfb1ad24ea4fac88d8c125d5986dbd&#45;&gt;05198819fafa429286063a7e9d7fa752 -->
-<g id="edge5" class="edge">
-<title>31cfb1ad24ea4fac88d8c125d5986dbd&#45;&gt;05198819fafa429286063a7e9d7fa752</title>
-<path fill="none" stroke="#7b8894" d="M530.16,-296.5C575.51,-296.5 641.64,-296.5 686.95,-296.5"/>
-</g>
-<!-- 31cfb1ad24ea4fac88d8c125d5986dbd&#45;&gt;b2443a5b8bc6434eaaa2df7fd64ea873 -->
-<g id="edge9" class="edge">
-<title>31cfb1ad24ea4fac88d8c125d5986dbd&#45;&gt;b2443a5b8bc6434eaaa2df7fd64ea873</title>
-<path fill="none" stroke="#7b8894" d="M530.26,-365C605.54,-365 738,-365 738,-365 738,-365 738,-381.51 738,-401.43"/>
-</g>
-<!-- 76d7acb44d0b42f88ffba77a307b6105&#45;&gt;b2443a5b8bc6434eaaa2df7fd64ea873 -->
-<g id="edge7" class="edge">
-<title>76d7acb44d0b42f88ffba77a307b6105&#45;&gt;b2443a5b8bc6434eaaa2df7fd64ea873</title>
-<path fill="none" stroke="#7b8894" d="M530.16,-513.83C530.16,-513.83 676.95,-513.83 676.95,-513.83"/>
-<polygon fill="#7b8894" stroke="#7b8894" points="676.95,-517.33 686.95,-513.83 676.95,-510.33 676.95,-517.33"/>
-</g>
-<!-- 9649959be39f43b8854814712bc751de -->
-<g id="node12" class="node">
-<title>9649959be39f43b8854814712bc751de</title>
-<image xlink:href="/home/vsellier/src/swh/swh-environment/.venv/lib/python3.9/site-packages/resources/azure/network/reserved-ip-addresses-classic.png" width="101px" height="101px" preserveAspectRatio="xMinYMin meet" x="687" y="-700.5"/>
-<text text-anchor="middle" x="737.5" y="-585.1" font-family="Sans-Serif" font-size="13.00" fill="#2d3436">Internal Kube API IP</text>
-</g>
-<!-- 76d7acb44d0b42f88ffba77a307b6105&#45;&gt;9649959be39f43b8854814712bc751de -->
-<g id="edge10" class="edge">
-<title>76d7acb44d0b42f88ffba77a307b6105&#45;&gt;9649959be39f43b8854814712bc751de</title>
-<path fill="none" stroke="#7b8894" d="M530.16,-610C575.51,-610 641.64,-610 686.95,-610"/>
-</g>
-<!-- e7de425ac57f4be0aa109b31abfd29ef&#45;&gt;76d7acb44d0b42f88ffba77a307b6105 -->
-<g id="edge13" class="edge">
-<title>e7de425ac57f4be0aa109b31abfd29ef&#45;&gt;76d7acb44d0b42f88ffba77a307b6105</title>
-<path fill="none" stroke="#7b8894" d="M272.16,-520C317.51,-520 383.64,-520 428.95,-520"/>
-</g>
-</g>
-</svg>
diff --git a/sysadmin/docs/gitlab/infra.py b/sysadmin/docs/gitlab/infra.py
index df76d65..9fbad8e 100644
--- a/sysadmin/docs/gitlab/infra.py
+++ b/sysadmin/docs/gitlab/infra.py
@@ -1,78 +1,79 @@
# diagram.py
from diagrams import Cluster, Diagram
from diagrams.azure.compute import ContainerInstances, KubernetesServices, VM
from diagrams.azure.network import (
LoadBalancers,
NetworkInterfaces,
PrivateEndpoints,
PrivateLinkServices,
PublicIpAddresses,
ReservedIpAddressesClassic,
ServiceEndpointPolicies,
VirtualNetworkClassic,
)
from diagrams.azure.general import Resourcegroups
from diagrams.azure.storage import StorageAccounts
from diagrams.azure.network import PrivateEndpoints
from diagrams.azure.network import PrivateLinkServices
-with Diagram("Gitlab infrastructure", show=False, outformat="svg"):
+with Diagram("Gitlab infrastructure", show=False):
rg = Cluster("zone-gitlab-instance resource group")
rg_internal = Cluster("zone-gitlab-instance-internal resource group")
internalLBEndpoint = None
apiEndpoint = None
with rg:
aks = KubernetesServices("zone-gitlab-instance kubernetes")
storageAccount = StorageAccounts("Storage Account")
lbLinkService = PrivateLinkServices("Internal LoadBalancer Link Service")
internalLBEndpoint = PrivateEndpoints("Internal LoadBalancer endpoint")
apiEndpoint = PrivateEndpoints("Kubernetes API endpoint")
aks - apiEndpoint
lbLinkService - internalLBEndpoint
with rg_internal:
np = ContainerInstances("Node Pool")
inboundPublicIp = PublicIpAddresses("Inbound public Ip")
outboundPublicIp = PublicIpAddresses("Outbound public Ip")
publicLB = LoadBalancers("kubernetes LB")
aks >> np
publicLB - outboundPublicIp
publicLB - inboundPublicIp
with Cluster("Internal Virtual network 10.0.0.0/8"):
internalIp = ReservedIpAddressesClassic("Internal Kube API IP")
internalLB = LoadBalancers("kubernetes-internal LB")
kubeApiInterface = NetworkInterfaces("Kube API Interface")
VMs = VM("Nodes[1-5]")
np >> VMs
internalLB >> VMs
aks - publicLB
publicLB - VMs
internalLB - internalIp
# internalLB << internalIp
aks - kubeApiInterface
aks - internalLB
+
privateLinkServiceLBInterface = NetworkInterfaces("Private Link Service Interface")
privateLinkServiceLBInterface - internalLB
lbLinkService - privateLinkServiceLBInterface
with Cluster("swh-resource Resource Group"):
with Cluster("swh-net/default Virtual Network (192.168.200.x/24)"):
internalLBInterface = NetworkInterfaces("LB VLAN1300")
apiInternalInterface = NetworkInterfaces("Kubernetes API VLAN1300")
internalLBEndpoint - internalLBInterface
apiEndpoint - apiInternalInterface

File Metadata

Mime Type
image/svg+xml
Expires
Sun, Apr 21, 3:22 AM (2 d)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3100733

Event Timeline