diff --git a/envs/diagram-viewer.html b/envs/diagram-viewer.html
new file mode 100644
index 0000000..9d6c015
--- /dev/null
+++ b/envs/diagram-viewer.html
@@ -0,0 +1,1199 @@
+
+
+
+
+
+
+
+ 🦔 Hedgehog Network Diagrams
+
+
+
+
+
+
+
+
+
diff --git a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf-cisco.drawio b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf-cisco.drawio
new file mode 100644
index 0000000..8dd2c9d
--- /dev/null
+++ b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf-cisco.drawio
@@ -0,0 +1,515 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf-hedgehog.drawio b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf-hedgehog.drawio
new file mode 100644
index 0000000..057501d
--- /dev/null
+++ b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf-hedgehog.drawio
@@ -0,0 +1,515 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.cisco.drawio.svg b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.cisco.drawio.svg
new file mode 100644
index 0000000..6960f56
--- /dev/null
+++ b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.cisco.drawio.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.default.drawio.svg b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.default.drawio.svg
new file mode 100644
index 0000000..9656952
--- /dev/null
+++ b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.default.drawio.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.dot b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.dot
index e8bbb8a..78966ca 100644
--- a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.dot
+++ b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.dot
@@ -96,14 +96,14 @@ server-leaf", fillcolor="#dae8fc", style="rounded,filled", color="#6c8ebf"];
"default" -> "other" [style=invis, weight=100];
edge [style=solid, weight=1];
+ "ds3000-01" -> "ds3000-02" [color="blue", style="dashed", headlabel="E1/32/1", taillabel="E1/32/1", labeldistance=2, labelangle=0];
"ds3000-01" -> "ds3000-02" [color="blue", style="dashed", headlabel="E1/32/2", taillabel="E1/32/2", labeldistance=2, labelangle=0];
"ds3000-01" -> "ds3000-02" [color="blue", style="dashed", headlabel="E1/32/3", taillabel="E1/32/3", labeldistance=2, labelangle=0];
"ds3000-01" -> "ds3000-02" [color="blue", style="dashed", headlabel="E1/32/4", taillabel="E1/32/4", labeldistance=2, labelangle=0];
- "ds3000-01" -> "ds3000-02" [color="blue", style="dashed", headlabel="E1/32/1", taillabel="E1/32/1", labeldistance=2, labelangle=0];
"ds3000-01" -> "server-1" [color="blue", style="dashed", headlabel="enp2s1", taillabel="E1/1/2", labeldistance=2, labelangle=0];
"ds3000-02" -> "server-1" [color="blue", style="dashed", headlabel="enp2s2", taillabel="E1/1/2", labeldistance=2, labelangle=0];
- "ds3000-01" -> "server-2" [color="blue", style="dashed", headlabel="enp2s1", taillabel="E1/1/3", labeldistance=2, labelangle=0];
"ds3000-02" -> "server-2" [color="blue", style="dashed", headlabel="enp2s2", taillabel="E1/1/3", labeldistance=2, labelangle=0];
+ "ds3000-01" -> "server-2" [color="blue", style="dashed", headlabel="enp2s1", taillabel="E1/1/3", labeldistance=2, labelangle=0];
"ds3000-01" -> "server-3" [color="green", style="solid", headlabel="enp2s1", taillabel="E1/1/4", labeldistance=2, labelangle=0];
"ds3000-01" -> "server-3" [color="green", style="solid", headlabel="enp2s2", taillabel="E1/2/2", labeldistance=2, labelangle=0];
"ds3000-02" -> "server-4" [color="gray", style="solid", headlabel="enp2s1", taillabel="E1/1/4", labeldistance=2, labelangle=0];
@@ -114,18 +114,18 @@ server-leaf", fillcolor="#dae8fc", style="rounded,filled", color="#6c8ebf"];
"ds3000-03" -> "server-7" [color="gray", style="solid", headlabel="enp2s1", taillabel="E1/1/1", labeldistance=2, labelangle=0];
"ds3000-03" -> "server-8" [color="gray", style="solid", headlabel="enp2s1", taillabel="E1/1/2", labeldistance=2, labelangle=0];
"sse-c4632-01" -> "server-9" [color="gray", style="solid", headlabel="enp2s1", taillabel="E1/1/2", labeldistance=2, labelangle=0];
- "sse-c4632-01" -> "default" [color="goldenrod", style="solid", headlabel="", taillabel="E1/1/1", labeldistance=2, labelangle=0];
- "sse-c4632-01" -> "other" [color="goldenrod", style="solid", headlabel="", taillabel="E1/1/1", labeldistance=2, labelangle=0];
"ds3000-01" -> "default" [color="goldenrod", style="solid", headlabel="", taillabel="E1/1/1", labeldistance=2, labelangle=0];
"ds3000-02" -> "default" [color="goldenrod", style="solid", headlabel="", taillabel="E1/1/1", labeldistance=2, labelangle=0];
"ds3000-03" -> "default" [color="goldenrod", style="solid", headlabel="", taillabel="E1/1/4", labeldistance=2, labelangle=0];
"ds3000-03" -> "other" [color="goldenrod", style="solid", headlabel="", taillabel="E1/1/4", labeldistance=2, labelangle=0];
- "ds4000-01" -> "ds3000-01" [color="red", style="solid", headlabel="E1/28,E1/29", taillabel="E1/1,E1/2", labeldistance=2, labelangle=0, penwidth=3];
- "ds4000-01" -> "ds3000-02" [color="red", style="solid", headlabel="E1/28,E1/29", taillabel="E1/3,E1/4", labeldistance=2, labelangle=0, penwidth=3];
- "ds4000-01" -> "ds3000-03" [color="red", style="solid", headlabel="E1/28,E1/29", taillabel="E1/5,E1/6", labeldistance=2, labelangle=0, penwidth=3];
- "ds4000-01" -> "sse-c4632-01" [color="red", style="solid", headlabel="E1/28,E1/29", taillabel="E1/7,E1/8", labeldistance=2, labelangle=0, penwidth=3];
- "ds4000-02" -> "ds3000-02" [color="red", style="solid", headlabel="E1/30,E1/31", taillabel="E1/3,E1/4", labeldistance=2, labelangle=0, penwidth=3];
+ "sse-c4632-01" -> "default" [color="goldenrod", style="solid", headlabel="", taillabel="E1/1/1", labeldistance=2, labelangle=0];
+ "sse-c4632-01" -> "other" [color="goldenrod", style="solid", headlabel="", taillabel="E1/1/1", labeldistance=2, labelangle=0];
"ds4000-02" -> "ds3000-03" [color="red", style="solid", headlabel="E1/30,E1/31", taillabel="E1/5,E1/6", labeldistance=2, labelangle=0, penwidth=3];
- "ds4000-02" -> "sse-c4632-01" [color="red", style="solid", headlabel="E1/30,E1/31", taillabel="E1/7,E1/8", labeldistance=2, labelangle=0, penwidth=3];
+ "ds4000-02" -> "sse-c4632-01" [color="red", style="solid", headlabel="E1/31,E1/30", taillabel="E1/8,E1/7", labeldistance=2, labelangle=0, penwidth=3];
"ds4000-02" -> "ds3000-01" [color="red", style="solid", headlabel="E1/30,E1/31", taillabel="E1/1,E1/2", labeldistance=2, labelangle=0, penwidth=3];
+ "ds4000-02" -> "ds3000-02" [color="red", style="solid", headlabel="E1/30,E1/31", taillabel="E1/3,E1/4", labeldistance=2, labelangle=0, penwidth=3];
+ "ds4000-01" -> "ds3000-01" [color="red", style="solid", headlabel="E1/28,E1/29", taillabel="E1/1,E1/2", labeldistance=2, labelangle=0, penwidth=3];
+ "ds4000-01" -> "ds3000-02" [color="red", style="solid", headlabel="E1/29,E1/28", taillabel="E1/4,E1/3", labeldistance=2, labelangle=0, penwidth=3];
+ "ds4000-01" -> "ds3000-03" [color="red", style="solid", headlabel="E1/28,E1/29", taillabel="E1/5,E1/6", labeldistance=2, labelangle=0, penwidth=3];
+ "ds4000-01" -> "sse-c4632-01" [color="red", style="solid", headlabel="E1/29,E1/28", taillabel="E1/8,E1/7", labeldistance=2, labelangle=0, penwidth=3];
}
diff --git a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.dot.svg b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.dot.svg
new file mode 100644
index 0000000..e7fa481
--- /dev/null
+++ b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.dot.svg
@@ -0,0 +1,381 @@
+
+
+
+
+
diff --git a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.drawio b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.drawio
index 59f587c..34ca549 100644
--- a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.drawio
+++ b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.drawio
@@ -162,104 +162,98 @@
-
+
-
-
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
@@ -267,29 +261,29 @@
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
@@ -300,14 +294,14 @@
-
+
-
-
+
+
-
-
+
+
@@ -327,189 +321,195 @@
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
+
+
+
-
-
+
+
-
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.drawio.svg b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.drawio.svg
new file mode 100644
index 0000000..58fc41b
--- /dev/null
+++ b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.drawio.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.hedgehog.drawio.svg b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.hedgehog.drawio.svg
new file mode 100644
index 0000000..771ca0a
--- /dev/null
+++ b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.hedgehog.drawio.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.mermaid b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.mermaid
index 26f2344..af67a52 100644
--- a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.mermaid
+++ b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.mermaid
@@ -62,44 +62,44 @@ end
%% Connections
%% Ds4000_01 -> Leaves
-Ds4000_01 ---|"E1/29↔E1/2
E1/28↔E1/1"| Ds3000_01
-Ds4000_01 ---|"E1/28↔E1/7
E1/29↔E1/8"| Sse_C4632_01
Ds4000_01 ---|"E1/28↔E1/3
E1/29↔E1/4"| Ds3000_02
+Ds4000_01 ---|"E1/28↔E1/7
E1/29↔E1/8"| Sse_C4632_01
+Ds4000_01 ---|"E1/29↔E1/2
E1/28↔E1/1"| Ds3000_01
Ds4000_01 ---|"E1/28↔E1/5
E1/29↔E1/6"| Ds3000_03
%% Ds4000_02 -> Leaves
-Ds4000_02 ---|"E1/30↔E1/1
E1/31↔E1/2"| Ds3000_01
-Ds4000_02 ---|"E1/31↔E1/8
E1/30↔E1/7"| Sse_C4632_01
-Ds4000_02 ---|"E1/31↔E1/4
E1/30↔E1/3"| Ds3000_02
Ds4000_02 ---|"E1/30↔E1/5
E1/31↔E1/6"| Ds3000_03
+Ds4000_02 ---|"E1/30↔E1/3
E1/31↔E1/4"| Ds3000_02
+Ds4000_02 ---|"E1/30↔E1/1
E1/31↔E1/2"| Ds3000_01
+Ds4000_02 ---|"E1/30↔E1/7
E1/31↔E1/8"| Sse_C4632_01
%% Leaves -> Servers
-Ds3000_01 ---|"enp2s1↔E1/1/3"| Server_2
Ds3000_01 ---|"enp2s1↔E1/1/4
enp2s2↔E1/2/2"| Server_3
+Ds3000_01 ---|"enp2s1↔E1/1/3"| Server_2
Ds3000_01 ---|"enp2s1↔E1/1/2"| Server_1
Ds3000_02 ---|"enp2s2↔E1/1/2"| Server_1
Ds3000_02 ---|"enp2s2↔E1/1/3"| Server_2
Ds3000_02 ---|"enp2s1↔E1/1/4"| Server_4
-Ds3000_03 ---|"enp2s1↔E1/1/2"| Server_8
Ds3000_03 ---|"enp2s1↔E1/1/3"| Server_5
-Ds3000_03 ---|"enp2s1↔E1/1/1"| Server_7
Ds3000_03 ---|"enp2s1↔E1/11/2"| Server_6
+Ds3000_03 ---|"enp2s1↔E1/1/1"| Server_7
+Ds3000_03 ---|"enp2s1↔E1/1/2"| Server_8
-Sse_C4632_01 ---|"enp2s2↔E1/1/3"| Server_5
Sse_C4632_01 ---|"enp2s1↔E1/1/2"| Server_9
+Sse_C4632_01 ---|"enp2s2↔E1/1/3"| Server_5
Sse_C4632_01 ---|"enp2s2↔E1/10/4"| Server_6
%% Mesh connections
%% External connections
+Sse_C4632_01 ---|"↔E1/1/1"| Default
Ds3000_01 ---|"↔E1/1/1"| Default
-Ds3000_02 ---|"↔E1/1/1"| Default
Ds3000_03 ---|"↔E1/1/4"| Default
-Sse_C4632_01 ---|"↔E1/1/1"| Default
-Sse_C4632_01 ---|"↔E1/1/1"| Other
+Ds3000_02 ---|"↔E1/1/1"| Default
Ds3000_03 ---|"↔E1/1/4"| Other
+Sse_C4632_01 ---|"↔E1/1/1"| Other
subgraph Legend["Network Connection Types"]
direction LR
@@ -117,16 +117,16 @@ class Ds4000_01,Ds4000_02 spine
class Ds3000_01,Ds3000_02,Ds3000_03,Sse_C4632_01 leaf
class Server_3,Server_1,Server_2,Server_4,Server_7,Server_8,Server_5,Server_6,Server_9 server
class Default,Other external
-class Mclag_1 mclag
class Eslag_1 eslag
+class Mclag_1 mclag
class L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,P1,P2,L13,L14 hidden
class Legend legendBox
linkStyle default stroke:#666,stroke-width:2px
linkStyle 0,1,2,3,4,5,6,7 stroke:#CC3333,stroke-width:4px
-linkStyle 8,10,11,12 stroke:#99CCFF,stroke-width:4px,stroke-dasharray:5 5
-linkStyle 9 stroke:#66CC66,stroke-width:4px
-linkStyle 15,17,18,20 stroke:#CC9900,stroke-width:4px,stroke-dasharray:5 5
-linkStyle 13,14,16,19 stroke:#999999,stroke-width:2px
+linkStyle 9,10,11,12 stroke:#99CCFF,stroke-width:4px,stroke-dasharray:5 5
+linkStyle 8 stroke:#66CC66,stroke-width:4px
+linkStyle 14,15,19,20 stroke:#CC9900,stroke-width:4px,stroke-dasharray:5 5
+linkStyle 13,16,17,18 stroke:#999999,stroke-width:2px
linkStyle 21,22,23,24,25,26 stroke:#D79B00,stroke-width:2px
linkStyle 27 stroke:#B85450,stroke-width:2px
linkStyle 28 stroke:#6C8EBF,stroke-width:2px,stroke-dasharray:5 5
diff --git a/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.mermaid.svg b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.mermaid.svg
new file mode 100644
index 0000000..2aaae1a
--- /dev/null
+++ b/envs/env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.mermaid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/envs/justfile b/envs/justfile
index b2d3438..7ded40a 100644
--- a/envs/justfile
+++ b/envs/justfile
@@ -9,16 +9,25 @@ update-diagrams:
mkdir -p env-ci-1.l/diagrams/spine-leaf
hhfab init --dev -f -w env-ci-1.l/wiring.yaml
hhfab diagram --format drawio --style default --output env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.drawio
+ hhfab diagram --format drawio --style cisco --output env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf-cisco.drawio
+ hhfab diagram --format drawio --style hedgehog --output env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf-hedgehog.drawio
hhfab diagram --format dot --output env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.dot
hhfab diagram --format mermaid --output env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.mermaid
- if command -v dot >/dev/null; then dot -Tpng env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.dot -o env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.dot.png; fi
- if command -v drawio >/dev/null; then drawio --export --format png --output env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.drawio.png env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.drawio; fi
- if command -v mmdc >/dev/null; then mmdc -i env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.mermaid -o env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf-mermaid.png; fi
+ if command -v dot >/dev/null; then dot -Tsvg -Gbgcolor=transparent env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.dot -o env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.dot.svg; fi
+ if command -v drawio >/dev/null; then drawio --export --format svg --output env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.default.drawio.svg env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.drawio; fi
+ if command -v drawio >/dev/null; then drawio --export --format svg --output env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.cisco.drawio.svg env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf-cisco.drawio; fi
+ if command -v drawio >/dev/null; then drawio --export --format svg --output env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.hedgehog.drawio.svg env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf-hedgehog.drawio; fi
+ if command -v mmdc >/dev/null; then mmdc -i env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.mermaid -o env-ci-1.l/diagrams/spine-leaf/env-ci-1-spine-leaf.mermaid.svg -t default -b transparent; fi
@echo ""
@echo "All diagrams updated for env-ci-1.l"
- @echo "Updated files in env-ci-1.l/diagrams/spine-leaf/:"
- @echo "- Source files: env-ci-1-spine-leaf.{drawio,dot,mermaid}"
- @echo "- PNG files: env-ci-1-spine-leaf.{dot.png,drawio.png,*-mermaid.png}"
+
+ @just create-html
+
+create-html: _check-go
+ @go run ${FABRICATOR_PATH:-../../fabricator}/hack/generate_viewer.go --dirs "env-ci-1.l/diagrams" --output-dir . --output-file diagram-viewer.html
+
+_check-go:
+ @command -v go >/dev/null 2>&1 || (echo "Go not installed. Install from https://golang.org" && exit 1)
default: update-diagrams