...

Text file src/github.com/google/go-containerregistry/images/ociimage.gv

Documentation: github.com/google/go-containerregistry/images

     1digraph ociimage {
     2	rankdir=LR;
     3	node [shape=box];
     4	edge [splines=polyline];
     5    lrank [style=invisible][color=white];
     6
     7    "manifest A"[label=<<table border="0">
     8        <tr><td align="center">image manifest (platform A)</td></tr>
     9        <tr><td align="center"></td></tr>
    10        <tr><td align="left">- schema version</td></tr>
    11        <tr><td align="left">- media type</td></tr>
    12        <tr><td align="left">- config : descriptor</td></tr>
    13        <tr><td align="left">- layers : array of descriptors</td></tr>
    14        <tr><td align="left">- (annotations)</td></tr>
    15    </table>>];
    16
    17    "image index"[label=<<table border="0">
    18        <tr><td align="center">image index</td></tr>
    19        <tr><td></td></tr>
    20        <tr><td align="left">- schema version</td></tr>
    21        <tr><td align="left">- media type</td></tr>
    22        <tr><td align="left">- manifests : array of descriptors</td></tr>
    23        <tr><td align="left">- (annotations)</td></tr>
    24    </table>>];
    25
    26    // references
    27    edge [color=red][style=dashed];
    28    client [style=invisible][color=white];
    29	client -> "image index"[label="image reference"];
    30	client -> "manifest A"[label="image reference"];
    31
    32    // descriptors
    33    edge [color=brown][style=solid];
    34	"image index" -> "manifest A";
    35	"image index" -> "image manifest (platform B)";
    36	"configuration"[label=<<table border="0">
    37        <tr><td align="center">configuration</td></tr>
    38        <tr><td></td></tr>
    39        <tr><td align="left">- rootfs/diff_ids : array of layer ids</td></tr>
    40        <tr><td align="left">- container config</td></tr>
    41        <tr><td align="left">- history</td></tr>
    42    </table>>];
    43	"manifest A" -> "configuration";
    44	"layer 0"[label=<<table border="0">
    45        <tr><td align="center">layer</td></tr>
    46        <tr><td></td></tr>
    47        <tr><td align="left">file system additions, overwrites, and deletions</td></tr>
    48    </table>>];
    49	"layer 1"[label=layer];
    50	"layer 2"[label=layer];
    51	"manifest A" -> "layer 0"[label=0];
    52	"manifest A" -> "layer 1"[label=1];
    53	"manifest A" -> "layer 2"[label=2];
    54    
    55    // ids
    56    edge [color=blue][style=dotted];
    57	"client" -> "configuration"[label="image id"];
    58	"configuration" -> "layer 0"[label=0];
    59	"configuration" -> "layer 1"[label=1];
    60	"configuration" -> "layer 2"[label=2];
    61   
    62    // key
    63    subgraph cluster {
    64    k1 [label="Key:"][peripheries="0"];
    65    node [style=invisible][color=white];
    66    k2;
    67    k3;
    68    k4;
    69    node [style=solid][color=black];
    70    k1 -> k2[color=red][style=dashed][label=<<table border="0">
    71        <tr><td align="center">image reference</td></tr>
    72        <tr><td></td></tr>
    73        <tr><td align="left">- hostname</td></tr>
    74        <tr><td align="left">- path</td></tr>
    75        <tr><td align="left">- (tag)</td></tr>
    76        <tr><td align="left">- (SHA-256 digest of compressed content)</td></tr>
    77    </table>>];
    78    k2 -> k3[color=brown][style=solid][label=<<table border="0">
    79        <tr><td align="center">descriptor</td></tr>
    80        <tr><td></td></tr>
    81        <tr><td align="left">targets content with the following properties:</td></tr>
    82        <tr><td align="left">- media type</td></tr>
    83        <tr><td align="left">- SHA-256 digest of compressed content</td></tr>
    84        <tr><td align="left">- size</td></tr>
    85        <tr><td align="left">- (urls)</td></tr>
    86        <tr><td align="left">- (annotations)</td></tr>
    87    </table>>];
    88        k3 -> k4[color=blue][style=dotted][label=<<table border="0">
    89        <tr><td align="center">id</td></tr>
    90        <tr><td></td></tr>
    91        <tr><td align="left">- SHA-256 digest of uncompressed content</td></tr>
    92    </table>>];
    93    }
    94
    95	{ rank=same; lrank -> "layer 2" -> "layer 1" -> "layer 0" [style=invis] }
    96	{ rank=same; "manifest A", "image manifest (platform B)" } 
    97}

View as plain text