← Back
Home › Systems › CI/CD and developer tooling

container-build

container image builder

BuildKit, Kaniko

SystemTechniques · 7Primitives · 30 container-build DAG workflow executiondistributed · medium: Run a graph of dependent tasks by releasing each one when its inputs are done, longest chain first, and skip any task whose input hashes are unchanged.›Reproducible buildssecurity · medium: Bit-identical outputs: fixed timestamps, ordering, paths and toolchainsIncremental computationsystems · medium: Dependency graph of derived values recomputed only when inputs change (reactive cells, spreadsheets)Layered image buildsystems · medium: Build container images as cached, content-addressed layers from a build graphLazy image pullingsystems · medium: Start containers before full download by fetching image chunks on demandDurable job queuedistributed · medium: Persisted tasks that workers lease for a visibility timeout, ack on success and retry with backoff; at-least-once execution that survives worker and queue crashes.›Hermetic executionsystems · medium: Run actions with only declared inputs in a sandbox and fixed environmentContent-addressed storagestorage · low: Store each blob under the hash of its bytes: immutable, deduplicated by construction, self-verifying on every read, and composable into Merkle trees.›Tar archive formatstorage · low: Ustar/pax tar headers and streaming archivesOverlay filesystemhardware-os · low: Union mounts (overlayfs) stacking read-only layers under a writable layerOci image layoutsystems · low: OCI manifests, image index, layer tarballs and config, addressed by digestCgroups and namespaceshardware-os · low: Linux namespaces limit what a process can see; cgroup v2 limits and accounts what it may use. Containers, sandboxes and job schedulers are built from the two.›Cryptographic hashes (SHA-2, BLAKE3)security · low: Collision-resistant fingerprints of data; SHA-256 for interoperability, BLAKE3 for speed, HMAC/HKDF for keyed uses.›Deflatecompression · low: DEFLATE/gzip: LZ77 + Huffman, the format behind HTTP gzip, zip and PNGZstandard (zstd)compression · low: LZ77 plus Huffman and FSE entropy coding, with levels from LZ4-like speed to xz-like ratio, all decoding at about 1-2 GB/s.›Merkle treedata-structures · low: Hash tree for verifying and diffing large datasets with logarithmic proofsTopological sortgraphs · low: Order the vertices of a DAG so every edge points forward; the core of build systems, schedulers and dependency resolution, with cycle detection for free.›Exponential backoff with jittersystems · low: Retry after delays that grow geometrically and are randomized, so failed clients spread out instead of hammering a recovering service in synchronized waves.›Deterministic serializationfinance · low: Canonical byte encodings (RLP, SSZ, canonical CBOR) so every node hashes identical bytesHash consingdata-structures · low: Intern structurally equal immutable terms so equality is pointer comparison and sharing is maximalSwiss tabledata-structures · low: Open-addressing hash table that filters 8-16 slots at once with 1-byte hash tags and SIMD, giving fast lookups at 87.5 % load.›Seekable compressed streamcompression · low: Independently compressed blocks plus an index for random access (BGZF, seekable zstd, eStargz)Fuse userspace filesystemhardware-os · low: FUSE protocol: kernel forwards VFS requests to a userspace daemon; caching and splice+ 14 more primitives

Similar systems

Share the most building blocks with this one.