...
1digraph G {
2 ordering=out;
3
4 fs [label="filesystem\nchangeset", shape=folder, href="https://github.com/opencontainers/image-spec/blob/master/layer.md"];
5 configuration [label="image\nconfig", shape=hexagon, href="https://github.com/opencontainers/image-spec/blob/master/config.md#properties"];
6
7 tar [shape=rect];
8 gzip [shape=rect];
9 tee [shape=rect];
10 tee2 [label=tee, shape=rect];
11 tee3 [label=tee, shape=rect];
12 sha256sum [shape=rect];
13 sha256sum2 [label=sha256sum, shape=rect];
14 sha256sum3 [label=sha256sum, shape=rect];
15 curl [shape=rect];
16 curl2 [label=curl, shape=rect];
17 curl3 [label=curl, shape=rect];
18 wc [label="wc -c", shape=rect];
19 wc2 [label="wc -c", shape=rect];
20
21 config [label="config file", shape=note, href="https://github.com/opencontainers/image-spec/blob/master/config.md"];
22 layer [shape=note, href="https://github.com/opencontainers/image-spec/blob/master/layer.md"];
23 manifest [shape=note, href="https://github.com/opencontainers/image-spec/blob/master/manifest.md"];
24
25 registry [shape=cylinder, href="https://github.com/opencontainers/distribution-spec/blob/master/spec.md"];
26
27 config_size [label="config size"];
28 layer_size [label="layer size"];
29 config_digest [label="config digest\n(image id)", href="https://github.com/opencontainers/image-spec/blob/master/config.md#imageid"];
30 layer_digest [label="layer digest"];
31
32 diffid [href="https://github.com/opencontainers/image-spec/blob/master/config.md#layer-diffid"];
33
34 configuration -> config;
35 fs -> tar;
36
37 tar -> tee;
38 tee -> sha256sum;
39 sha256sum -> diffid [style=dashed];
40 tee -> gzip;
41 gzip -> layer;
42 layer -> tee2;
43 tee2 -> sha256sum2;
44 sha256sum2 -> layer_digest [style=dashed];
45 tee2 -> wc;
46 wc -> layer_size [style=dotted];
47 layer_size -> manifest [style=dotted];
48 tee2 -> curl;
49
50 curl -> registry;
51
52 diffid -> config [style=dashed];
53 config -> tee3;
54 tee3 -> curl2;
55 curl2 -> registry;
56
57 tee3 -> wc2;
58 tee3 -> sha256sum3;
59 wc2 -> config_size [style=dotted];
60 sha256sum3 -> config_digest [style=dashed];
61
62 config_digest -> manifest [style=dashed];
63 config_size -> manifest [style=dotted];
64 layer_digest -> manifest [style=dashed];
65 manifest -> curl3;
66 curl3 -> registry;
67}
View as plain text