The DUCC filesystem structure is developed inside CERN to allow the efficient distribution of containers images. The structure itself is orthogonal to the filesystem implementation, but it was designed to work effiecientely with CernVM-FS.
o) Naming o) Having a common understading of the benefits
The structure is simple and straighforward.
The filesystem contains a .layer
directory.
The .layer
directory contains 256 subdirectory in the form: 00
, 01
, 02
, ..., 10
, 11
, 12
, ..., a0
, a1
, a2
, ..., f0
, f1
, ..., ff
. We will call this directories, aggregate directories
.
Each aggregate directory will contains the layers which digest begins with the name of the directory.
Eg. the layer ff886ab914c256f29a3cf0453e20428d050a4760eb834a2b778528faa3bfd526
will be in the aggregate directory ff
, while the layer d0957ffdf8a2ea8c8925903862b65a1b6850dbb019f88d45e927d3d5a3fa0c31
will be in the aggregate directory d0
.
Inside the aggregate directory, each layer will have its own directory, called exactly as the hash of the layer itself, without the information regarding the type of hashing used. We will call this directories layer directories
.
Eg. the layer sha256:ff886ab914c256f29a3cf0453e20428d050a4760eb834a2b778528faa3bfd526
will leave in the layer directory: ff886ab914c256f29a3cf0453e20428d050a4760eb834a2b778528faa3bfd526
.
Each layer directory contains two other directories: 1)
Working on a containerd implementation, considering a podman implementation.