...
1digraph {
2 compound=true;
3 rankdir="LR";
4 ordering = out;
5
6 subgraph cluster_tarball {
7 label = "image.tar";
8
9 subgraph cluster_manifest {
10 label = "manifest.json";
11
12 mconfig [label="Config", shape="rect"];
13 layers [label="Layers", shape="rect"];
14 sources [label="LayerSources", shape="rect"];
15 tags [label="RepoTags", shape="rect"];
16 }
17
18 config [shape="note"];
19
20 mconfig -> config [label="image id"];
21
22 layers -> l1 [lhead=cluster_layer1, label="layer digest"];
23 layers -> l2 [lhead=cluster_layer2, label="layer digest"];
24
25 config -> l1 [label="diffid"];
26 config -> l2 [label="diffid"];
27
28 sources -> l1 [label="diffid"];
29 sources -> l2 [label="diffid"];
30
31 subgraph cluster_layer1 {
32 label = "layer.tar.gz";
33 margin = 20.0;
34 l1 [label="layer.tar", shape="folder"];
35 }
36
37 subgraph cluster_layer2 {
38 label = "layer.tar.gz";
39 margin = 20.0;
40 l2 [label="layer.tar", shape="folder"];
41 }
42 }
43}
View as plain text