conlink 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/.github/workflows/push.yml +17 -0
  2. package/Dockerfile +1 -1
  3. package/README.md +51 -16
  4. package/examples/test4-multiple/modes/all/deps +1 -0
  5. package/examples/test4-multiple/{base-compose.yaml → modes/base/compose.yaml} +3 -3
  6. package/examples/test4-multiple/{node1-compose.yaml → modes/node1/compose.yaml} +0 -3
  7. package/examples/test4-multiple/{nodes2-compose.yaml → modes/nodes2/compose.yaml} +0 -5
  8. package/examples/test4-multiple/modes/web/compose.yaml +5 -0
  9. package/examples/test4-multiple/modes/web/deps +1 -0
  10. package/mdc +108 -0
  11. package/package.json +2 -1
  12. package/scripts/copy.sh +52 -0
  13. package/scripts/wait.sh +73 -0
  14. package/src/conlink/core.cljs +35 -16
  15. package/.env +0 -3
  16. package/TODO +0 -34
  17. package/examples/data.dot +0 -457
  18. package/examples/net2dot-data.dot +0 -123
  19. package/examples/net2dot.dot +0 -457
  20. package/examples/test1-data.dot +0 -82
  21. package/examples/test1.dot +0 -286
  22. package/examples/test4-multiple/all-compose.yaml +0 -5
  23. package/examples/test4-multiple/web-network.yaml +0 -2
  24. package/host-build.yaml +0 -1
  25. package/inspect.json +0 -210
  26. package/modes0/a/deps +0 -1
  27. package/modes0/b/deps +0 -1
  28. package/modes0/c/deps +0 -1
  29. package/modes0/e/deps +0 -1
  30. package/modes1/a/deps +0 -1
  31. package/modes1/b/deps +0 -1
  32. package/modes1/c/deps +0 -1
  33. package/modes1/d/deps +0 -1
  34. package/modes2/a/deps +0 -1
  35. package/modes2/b/deps +0 -1
  36. package/modes2/c/deps +0 -1
  37. package/modes2/d/de +0 -1
  38. package/modes2/d/deps +0 -1
  39. package/modes3/accel/deps +0 -1
  40. package/modes4/a/deps +0 -1
  41. package/modes4/b/deps +0 -1
  42. package/net2dot.mjs +0 -21
  43. package/notes.txt +0 -82
  44. package/old/Dockerfile.bak +0 -26
  45. package/old/add-link.sh +0 -82
  46. package/old/conlink +0 -12
  47. package/old/conlink.cljs +0 -131
  48. package/old/dot_gitignore +0 -1
  49. package/old/examples/test2-compose.yaml +0 -32
  50. package/old/examples/test2-network.yaml +0 -42
  51. package/old/graphviz.cljs +0 -14
  52. package/old/move-link.sh +0 -108
  53. package/old/net2dot.cljs +0 -114
  54. package/old/net2dot.py +0 -122
  55. package/old/notes-old.txt +0 -97
  56. package/old/package.json +0 -16
  57. package/old/schema.yaml +0 -138
  58. package/old/schema.yaml.bak +0 -76
  59. package/old/set-cover-old.cljs +0 -205
  60. package/old/set-cover-old2.cljs +0 -150
  61. package/old/test2b-compose.yaml +0 -18
  62. package/old/veth-link.sh +0 -96
  63. package/read-stream.cljs +0 -12
  64. package/resolve-deps.cljs +0 -183
  65. package/schema-ish.yaml +0 -29
  66. package/tests/invalid-schema-1.yaml +0 -6
  67. package/tests/invalid-schema-2.yaml +0 -6
  68. package/tests/invalid-schema-3.yaml +0 -17
  69. package/tests/invalid-schema-4.yaml +0 -14
  70. package/tests/invalid-schema-5.yaml +0 -12
  71. package/tests/invalid-schema-6.yaml +0 -12
  72. package/tmp/conlink/.env +0 -1
  73. package/topo1.cljs +0 -35
  74. package/topo2.cljs +0 -36
  75. package/topo3.cljs +0 -44
  76. /package/{modes3/ab → examples/test4-multiple/modes/node1}/deps +0 -0
  77. /package/{modes3/mach3 → examples/test4-multiple/modes/nodes2}/deps +0 -0
@@ -1,457 +0,0 @@
1
- digraph {
2
- splines = true;
3
- compound = true;
4
- "10.0.0.1" [
5
- shape = "box";
6
- fontsize = 14;
7
- style = "filled";
8
- penwidth = 1;
9
- fillcolor = "#a5f5a5";
10
- color = "#888888";
11
- label = "remote host 10.0.0.1";
12
- ];
13
- "10.0.0.2" [
14
- shape = "box";
15
- fontsize = 14;
16
- style = "filled";
17
- penwidth = 1;
18
- fillcolor = "#a5f5a5";
19
- color = "#888888";
20
- label = "remote host 10.0.0.2";
21
- ];
22
- subgraph "cluster_host" {
23
- shape = "box";
24
- fontsize = 14;
25
- style = "filled";
26
- penwidth = 1;
27
- fillcolor = "#f5f5f5";
28
- color = "#666666";
29
- label = "host system";
30
- "out_DASH_eni0" [
31
- shape = "box";
32
- fontsize = 14;
33
- style = "filled";
34
- penwidth = 1;
35
- fillcolor = "#e8e8c8";
36
- color = "#af6b4e";
37
- label = "eni0";
38
- ];
39
- "out_DASH_eni1" [
40
- shape = "box";
41
- fontsize = 14;
42
- style = "filled";
43
- penwidth = 1;
44
- fillcolor = "#e8e8c8";
45
- color = "#af6b4e";
46
- label = "eni1";
47
- ];
48
- subgraph "cluster_conlink" {
49
- shape = "box";
50
- fontsize = 14;
51
- style = "rounded,filled";
52
- penwidth = 3;
53
- fillcolor = "#c5d1e7";
54
- color = "#7396a0";
55
- label = "conlink/network";
56
- subgraph "cluster_bridge_s1" {
57
- shape = "box";
58
- fontsize = 14;
59
- style = "filled";
60
- penwidth = 1;
61
- fillcolor = "#c8badc";
62
- color = "#6e509f";
63
- label = "s1";
64
- "out_DASH_nodeA_1_DASH_e1" [
65
- color = "#af6b4e";
66
- fillcolor = "#e8e8c8";
67
- width = 0.1;
68
- penwidth = 1;
69
- style = "filled";
70
- label = "nodeA_1-e1";
71
- shape = "box";
72
- fontsize = 10;
73
- height = 0.1;
74
- ];
75
- "geneve_DASH_1001" [
76
- color = "#af6b4e";
77
- fillcolor = "#e8e8c8";
78
- width = 0.1;
79
- penwidth = 1;
80
- style = "filled";
81
- label = "geneve-1001";
82
- shape = "box";
83
- fontsize = 10;
84
- height = 0.1;
85
- ];
86
- }
87
- subgraph "cluster_bridge_s2" {
88
- shape = "box";
89
- fontsize = 14;
90
- style = "filled";
91
- penwidth = 1;
92
- fillcolor = "#c8badc";
93
- color = "#6e509f";
94
- label = "s2";
95
- }
96
- subgraph "cluster_bridge_s3" {
97
- shape = "box";
98
- fontsize = 14;
99
- style = "filled";
100
- penwidth = 1;
101
- fillcolor = "#c8badc";
102
- color = "#6e509f";
103
- label = "s3";
104
- }
105
- subgraph "cluster_bridge_s2" {
106
- shape = "box";
107
- fontsize = 14;
108
- style = "filled";
109
- penwidth = 1;
110
- fillcolor = "#c8badc";
111
- color = "#6e509f";
112
- label = "s2";
113
- "out_DASH_nodeA_1_DASH_e2" [
114
- color = "#af6b4e";
115
- fillcolor = "#e8e8c8";
116
- width = 0.1;
117
- penwidth = 1;
118
- style = "filled";
119
- label = "nodeA_1-e2";
120
- shape = "box";
121
- fontsize = 10;
122
- height = 0.1;
123
- ];
124
- "out_DASH_nodeB_1_DASH_eth0" [
125
- color = "#af6b4e";
126
- fillcolor = "#e8e8c8";
127
- width = 0.1;
128
- penwidth = 1;
129
- style = "filled";
130
- label = "nodeB_1-eth0";
131
- shape = "box";
132
- fontsize = 10;
133
- height = 0.1;
134
- ];
135
- }
136
- subgraph "cluster_bridge_s3" {
137
- shape = "box";
138
- fontsize = 14;
139
- style = "filled";
140
- penwidth = 1;
141
- fillcolor = "#c8badc";
142
- color = "#6e509f";
143
- label = "s3";
144
- "out_DASH_nodeA_1_DASH_e3" [
145
- color = "#af6b4e";
146
- fillcolor = "#e8e8c8";
147
- width = 0.1;
148
- penwidth = 1;
149
- style = "filled";
150
- label = "nodeA_1-e3";
151
- shape = "box";
152
- fontsize = 10;
153
- height = 0.1;
154
- ];
155
- "out_DASH_nodeC_DASH_eth0" [
156
- color = "#af6b4e";
157
- fillcolor = "#e8e8c8";
158
- width = 0.1;
159
- penwidth = 1;
160
- style = "filled";
161
- label = "nodeC-eth0";
162
- shape = "box";
163
- fontsize = 10;
164
- height = 0.1;
165
- ];
166
- "geneve_DASH_1002" [
167
- color = "#af6b4e";
168
- fillcolor = "#e8e8c8";
169
- width = 0.1;
170
- penwidth = 1;
171
- style = "filled";
172
- label = "geneve-1002";
173
- shape = "box";
174
- fontsize = 10;
175
- height = 0.1;
176
- ];
177
- }
178
- }
179
- subgraph "cluster_service_nodeA" {
180
- shape = "box";
181
- fontsize = 14;
182
- style = "rounded,filled";
183
- penwidth = 2;
184
- fillcolor = "#c1d0d7";
185
- color = "#7396a6";
186
- label = "service 'nodeA'";
187
- "nodeA_COLON_e1" [
188
- color = "#af6b4e";
189
- fillcolor = "#e8e8c8";
190
- width = 0.1;
191
- penwidth = 1;
192
- style = "filled";
193
- label = "e1";
194
- shape = "box";
195
- fontsize = 10;
196
- height = 0.1;
197
- ];
198
- "nodeA_COLON_e2" [
199
- color = "#af6b4e";
200
- fillcolor = "#e8e8c8";
201
- width = 0.1;
202
- penwidth = 1;
203
- style = "filled";
204
- label = "e2";
205
- shape = "box";
206
- fontsize = 10;
207
- height = 0.1;
208
- ];
209
- "nodeA_COLON_e3" [
210
- color = "#af6b4e";
211
- fillcolor = "#e8e8c8";
212
- width = 0.1;
213
- penwidth = 1;
214
- style = "filled";
215
- label = "e3";
216
- shape = "box";
217
- fontsize = 10;
218
- height = 0.1;
219
- ];
220
- }
221
- subgraph "cluster_service_nodeB" {
222
- shape = "box";
223
- fontsize = 14;
224
- style = "rounded,filled";
225
- penwidth = 2;
226
- fillcolor = "#c1d0d7";
227
- color = "#7396a6";
228
- label = "service 'nodeB'";
229
- "nodeB_COLON_eth0" [
230
- color = "#af6b4e";
231
- fillcolor = "#e8e8c8";
232
- width = 0.1;
233
- penwidth = 1;
234
- style = "filled";
235
- label = "eth0";
236
- shape = "box";
237
- fontsize = 10;
238
- height = 0.1;
239
- ];
240
- }
241
- subgraph "cluster_service_nodeE" {
242
- shape = "box";
243
- fontsize = 14;
244
- style = "rounded,filled";
245
- penwidth = 2;
246
- fillcolor = "#c1d0d7";
247
- color = "#7396a6";
248
- label = "service 'nodeE'";
249
- "nodeE_COLON_v0" [
250
- color = "#af6b4e";
251
- fillcolor = "#e8e8c8";
252
- width = 0.1;
253
- penwidth = 1;
254
- style = "filled";
255
- label = "v0";
256
- shape = "box";
257
- fontsize = 10;
258
- height = 0.1;
259
- ];
260
- "nodeE_COLON_mv0" [
261
- color = "#af6b4e";
262
- fillcolor = "#e8e8c8";
263
- width = 0.1;
264
- penwidth = 1;
265
- style = "filled";
266
- label = "mv0";
267
- shape = "box";
268
- fontsize = 10;
269
- height = 0.1;
270
- ];
271
- }
272
- subgraph "cluster_service_nodeF" {
273
- shape = "box";
274
- fontsize = 14;
275
- style = "rounded,filled";
276
- penwidth = 2;
277
- fillcolor = "#c1d0d7";
278
- color = "#7396a6";
279
- label = "service 'nodeF'";
280
- "nodeF_COLON_mv0" [
281
- color = "#af6b4e";
282
- fillcolor = "#e8e8c8";
283
- width = 0.1;
284
- penwidth = 1;
285
- style = "filled";
286
- label = "mv0";
287
- shape = "box";
288
- fontsize = 10;
289
- height = 0.1;
290
- ];
291
- }
292
- subgraph "cluster_service_nodeG" {
293
- shape = "box";
294
- fontsize = 14;
295
- style = "rounded,filled";
296
- penwidth = 2;
297
- fillcolor = "#c1d0d7";
298
- color = "#7396a6";
299
- label = "service 'nodeG'";
300
- "nodeG_COLON_iv0" [
301
- color = "#af6b4e";
302
- fillcolor = "#e8e8c8";
303
- width = 0.1;
304
- penwidth = 1;
305
- style = "filled";
306
- label = "iv0";
307
- shape = "box";
308
- fontsize = 10;
309
- height = 0.1;
310
- ];
311
- }
312
- subgraph "cluster_service_nodeH" {
313
- shape = "box";
314
- fontsize = 14;
315
- style = "rounded,filled";
316
- penwidth = 2;
317
- fillcolor = "#c1d0d7";
318
- color = "#7396a6";
319
- label = "service 'nodeH'";
320
- "nodeH_COLON_mv0" [
321
- color = "#af6b4e";
322
- fillcolor = "#e8e8c8";
323
- width = 0.1;
324
- penwidth = 1;
325
- style = "filled";
326
- label = "mv0";
327
- shape = "box";
328
- fontsize = 10;
329
- height = 0.1;
330
- ];
331
- }
332
- subgraph "cluster_container_nodeC" {
333
- shape = "box";
334
- fontsize = 14;
335
- style = "rounded,filled";
336
- penwidth = 1;
337
- fillcolor = "#dfe8f1";
338
- color = "#7396a6";
339
- label = "container 'nodeC'";
340
- "nodeC_COLON_eth0" [
341
- color = "#af6b4e";
342
- fillcolor = "#e8e8c8";
343
- width = 0.1;
344
- penwidth = 1;
345
- style = "filled";
346
- label = "eth0";
347
- shape = "box";
348
- fontsize = 10;
349
- height = 0.1;
350
- ];
351
- }
352
- subgraph "cluster_container_nodeD" {
353
- shape = "box";
354
- fontsize = 14;
355
- style = "rounded,filled";
356
- penwidth = 1;
357
- fillcolor = "#dfe8f1";
358
- color = "#7396a6";
359
- label = "container 'nodeD'";
360
- "nodeD_COLON_dummy0" [
361
- color = "#af6b4e";
362
- fillcolor = "#e8e8c8";
363
- width = 0.1;
364
- penwidth = 1;
365
- style = "filled";
366
- label = "dummy0";
367
- shape = "box";
368
- fontsize = 10;
369
- height = 0.1;
370
- ];
371
- }
372
- }
373
- "nodeA_COLON_e1" -> "out_DASH_nodeA_1_DASH_e1" [
374
- shape = "box";
375
- fontsize = 14;
376
- style = "filled";
377
- penwidth = 1;
378
- label = "";
379
- ];
380
- "nodeA_COLON_e2" -> "out_DASH_nodeA_1_DASH_e2" [
381
- shape = "box";
382
- fontsize = 14;
383
- style = "filled";
384
- penwidth = 1;
385
- label = "";
386
- ];
387
- "nodeA_COLON_e3" -> "out_DASH_nodeA_1_DASH_e3" [
388
- shape = "box";
389
- fontsize = 14;
390
- style = "filled";
391
- penwidth = 1;
392
- label = "";
393
- ];
394
- "nodeB_COLON_eth0" -> "out_DASH_nodeB_1_DASH_eth0" [
395
- shape = "box";
396
- fontsize = 14;
397
- style = "filled";
398
- penwidth = 1;
399
- label = "";
400
- ];
401
- "nodeC_COLON_eth0" -> "out_DASH_nodeC_DASH_eth0" [
402
- shape = "box";
403
- fontsize = 14;
404
- style = "filled";
405
- penwidth = 1;
406
- label = "";
407
- ];
408
- "nodeE_COLON_v0" -> "out_DASH_eni0" [
409
- shape = "box";
410
- fontsize = 14;
411
- style = "filled";
412
- penwidth = 1;
413
- label = "vlan 5";
414
- ];
415
- "nodeE_COLON_mv0" -> "out_DASH_eni0" [
416
- shape = "box";
417
- fontsize = 14;
418
- style = "filled";
419
- penwidth = 1;
420
- label = "macvlan";
421
- ];
422
- "nodeF_COLON_mv0" -> "out_DASH_eni0" [
423
- shape = "box";
424
- fontsize = 14;
425
- style = "filled";
426
- penwidth = 1;
427
- label = "macvlan";
428
- ];
429
- "nodeG_COLON_iv0" -> "out_DASH_eni1" [
430
- shape = "box";
431
- fontsize = 14;
432
- style = "filled";
433
- penwidth = 1;
434
- label = "ipvlan";
435
- ];
436
- "nodeH_COLON_mv0" -> "out_DASH_eni1" [
437
- shape = "box";
438
- fontsize = 14;
439
- style = "filled";
440
- penwidth = 1;
441
- label = "macvlan";
442
- ];
443
- "geneve_DASH_1001" -> "10.0.0.1" [
444
- shape = "box";
445
- fontsize = 14;
446
- style = "filled";
447
- penwidth = 1;
448
- label = "";
449
- ];
450
- "geneve_DASH_1002" -> "10.0.0.2" [
451
- shape = "box";
452
- fontsize = 14;
453
- style = "filled";
454
- penwidth = 1;
455
- label = "";
456
- ];
457
- }
@@ -1,82 +0,0 @@
1
- digraph D {
2
- splines = true;
3
- compound = true;
4
- node [shape=box fontsize=12 style=filled penwidth=1];
5
-
6
- // host system
7
- subgraph cluster_host {
8
- label = "host system";
9
- style=filled fillcolor="#f5f5f5" color="#666666";
10
-
11
- // main link nodes
12
- S_r0_COLON_eth_DASH_s1 [label="eth-s1" width=0.1 height=0.1 fontsize=10 fillcolor="#ffbb9e" color="#d7db00"];
13
- S_r0_COLON_eth_DASH_s2 [label="eth-s2" width=0.1 height=0.1 fontsize=10 fillcolor="#ffbb9e" color="#d7db00"];
14
- S_r0_COLON_eth_DASH_s3 [label="eth-s3" width=0.1 height=0.1 fontsize=10 fillcolor="#ffbb9e" color="#d7db00"];
15
- S_h1_COLON_eth0 [label="eth0" width=0.1 height=0.1 fontsize=10 fillcolor="#ffbb9e" color="#d7db00"];
16
- S_h2_COLON_eth0 [label="eth0" width=0.1 height=0.1 fontsize=10 fillcolor="#ffbb9e" color="#d7db00"];
17
- S_h3_COLON_eth0 [label="eth0" width=0.1 height=0.1 fontsize=10 fillcolor="#ffbb9e" color="#d7db00"];
18
-
19
- // containers and their links/interfaces
20
- subgraph cluster_S_r0 {
21
- label = "service 'r0'";
22
- style="rounded,filled" fillcolor = "#e1d5e7" color = "#9673a6" fillcolor = "#d1c5e7" penwidth = 2;
23
- S_r0_COLON_eth_DASH_s1
24
- S_r0_COLON_eth_DASH_s2
25
- S_r0_COLON_eth_DASH_s3
26
- }
27
- subgraph cluster_S_h1 {
28
- label = "service 'h1'";
29
- style="rounded,filled" fillcolor = "#e1d5e7" color = "#9673a6" fillcolor = "#d1c5e7" penwidth = 2;
30
- S_h1_COLON_eth0
31
- }
32
- subgraph cluster_S_h2 {
33
- label = "service 'h2'";
34
- style="rounded,filled" fillcolor = "#e1d5e7" color = "#9673a6" fillcolor = "#d1c5e7" penwidth = 2;
35
- S_h2_COLON_eth0
36
- }
37
- subgraph cluster_S_h3 {
38
- label = "service 'h3'";
39
- style="rounded,filled" fillcolor = "#e1d5e7" color = "#9673a6" fillcolor = "#d1c5e7" penwidth = 2;
40
- S_h3_COLON_eth0
41
- }
42
-
43
- // bridges, tunnels, veth connections
44
- subgraph cluster_conlink {
45
- label = "conlink/network";
46
- style="rounded,filled" fillcolor = "#c1b5c7" color = "#9673a6";
47
- subgraph cluster_bridge_s1 {
48
- label = "s1";
49
- style= filled fillcolor="#dae8fc" color="#6c8ebf";
50
- bridge_s1 [shape=point style=invis];
51
- r0_1_DASH_eth_DASH_s1 [label="r0_1-eth-s1" width=0.1 height=0.1 fontsize=10 fillcolor="#ffbb9e" color="#d7db00"];
52
- S_r0_COLON_eth_DASH_s1 -> r0_1_DASH_eth_DASH_s1
53
- h1_1_DASH_eth0 [label="h1_1-eth0" width=0.1 height=0.1 fontsize=10 fillcolor="#ffbb9e" color="#d7db00"];
54
- S_h1_COLON_eth0 -> h1_1_DASH_eth0
55
- }
56
- subgraph cluster_bridge_s2 {
57
- label = "s2";
58
- style= filled fillcolor="#dae8fc" color="#6c8ebf";
59
- bridge_s2 [shape=point style=invis];
60
- r0_1_DASH_eth_DASH_s2 [label="r0_1-eth-s2" width=0.1 height=0.1 fontsize=10 fillcolor="#ffbb9e" color="#d7db00"];
61
- S_r0_COLON_eth_DASH_s2 -> r0_1_DASH_eth_DASH_s2
62
- h2_1_DASH_eth0 [label="h2_1-eth0" width=0.1 height=0.1 fontsize=10 fillcolor="#ffbb9e" color="#d7db00"];
63
- S_h2_COLON_eth0 -> h2_1_DASH_eth0
64
- }
65
- subgraph cluster_bridge_s3 {
66
- label = "s3";
67
- style= filled fillcolor="#dae8fc" color="#6c8ebf";
68
- bridge_s3 [shape=point style=invis];
69
- r0_1_DASH_eth_DASH_s3 [label="r0_1-eth-s3" width=0.1 height=0.1 fontsize=10 fillcolor="#ffbb9e" color="#d7db00"];
70
- S_r0_COLON_eth_DASH_s3 -> r0_1_DASH_eth_DASH_s3
71
- h3_1_DASH_eth0 [label="h3_1-eth0" width=0.1 height=0.1 fontsize=10 fillcolor="#ffbb9e" color="#d7db00"];
72
- S_h3_COLON_eth0 -> h3_1_DASH_eth0
73
- }
74
- }
75
-
76
- // vlan/vtap links
77
- // end of host system
78
- }
79
-
80
- // remote hosts and tunnels links
81
- }
82
-