Directories
¶
| Path | Synopsis |
|---|---|
|
Package admin serves the server's admin SPA and its JSON API: a password-protected browser UI (under /admin/) where an operator inspects, adds and removes the SSH keys allowed to talk to the server, and browses the server's references and their file trees.
|
Package admin serves the server's admin SPA and its JSON API: a password-protected browser UI (under /admin/) where an operator inspects, adds and removes the SSH keys allowed to talk to the server, and browses the server's references and their file trees. |
|
Package allowlist is the remote server's allowed-keys lookup set: SSH wire-format public key → entry.
|
Package allowlist is the remote server's allowed-keys lookup set: SSH wire-format public key → entry. |
|
Package allowstore persists the remote server's allowed client keys in a Pebble DB under the store directory: SSH wire-format public key → JSON record {admin, comment, caps}.
|
Package allowstore persists the remote server's allowed client keys in a Pebble DB under the store directory: SSH wire-format public key → JSON record {admin, comment, caps}. |
|
Package amberignore filters ingest trees through .amberignore files with gitignore semantics: patterns compose per directory down the tree and support negation, ** globs, dir-only (trailing /) and anchored (leading /) forms; the last matching pattern wins.
|
Package amberignore filters ingest trees through .amberignore files with gitignore semantics: patterns compose per directory down the tree and support negation, ** globs, dir-only (trailing /) and anchored (leading /) forms; the last matching pattern wins. |
|
Package amberpack defines the Amber-Store pack format.
|
Package amberpack defines the Amber-Store pack format. |
|
Package cborx provides the minimal canonical-CBOR encoding the fstree needs for byte-string-keyed maps (extended attributes), which fxamacker cannot produce from a Go map[string]...
|
Package cborx provides the minimal canonical-CBOR encoding the fstree needs for byte-string-keyed maps (extended attributes), which fxamacker cannot produce from a Go map[string]... |
|
Package chunkers provides the two content-defined chunkers the fstree uses: a byte chunker (ultracdc) for file content, and an item chunker for the index/entry streams (architecture/fstree.md, "Content-defined chunking").
|
Package chunkers provides the two content-defined chunkers the fstree uses: a byte chunker (ultracdc) for file content, and an item chunker for the index/entry streams (architecture/fstree.md, "Content-defined chunking"). |
|
Package client talks to the amber-store daemon over a unix socket using HTTP/1.1.
|
Package client talks to the amber-store daemon over a unix socket using HTTP/1.1. |
|
cmd
|
|
|
amber-store
command
|
|
|
packbench
command
Command packbench reproduces the pack-assembly half of a push against a daemon's on-disk store, without any network or have/want negotiation: it resolves a ref to its root, walks every reachable object (treating the whole set as missing), bins them into byte-balanced packs exactly as remotesync does, and writes each pack to a file — timing each phase so a slow push can be attributed to walking, reading, or writing.
|
Command packbench reproduces the pack-assembly half of a push against a daemon's on-disk store, without any network or have/want negotiation: it resolves a ref to its root, walks every reachable object (treating the whole set as missing), bins them into byte-balanced packs exactly as remotesync does, and writes each pack to a file — timing each phase so a slow push can be attributed to walking, reading, or writing. |
|
Package daemon serves the amber-store CAS over HTTP.
|
Package daemon serves the amber-store CAS over HTTP. |
|
Package embedded lets a single process own an amber store directly — the packstore, refstore and remotes registry the daemon would otherwise manage — and sync with remote servers through the same signed protocol.
|
Package embedded lets a single process own an amber store directly — the packstore, refstore and remotes registry the daemon would otherwise manage — and sync with remote servers through the same signed protocol. |
|
Package fstree encodes the Amber-Store filesystem tree objects (FileNode, DirLeaf, DirNode, XattrSet, Blob) as deterministic CBOR per architecture/fstree.md, and builds files and directories bottom-up by streaming.
|
Package fstree encodes the Amber-Store filesystem tree objects (FileNode, DirLeaf, DirNode, XattrSet, Blob) as deterministic CBOR per architecture/fstree.md, and builds files and directories bottom-up by streaming. |
|
Package grant implements delegated capability grants: a short-lived, SSHSIG-signed statement by an allowlisted "delegate" key that another key (the subject) may exercise a capability subset against the remote server — the mechanism that lets a build runner push objects and read references without ever being allowlisted.
|
Package grant implements delegated capability grants: a short-lived, SSHSIG-signed statement by an allowlisted "delegate" key that another key (the subject) may exercise a capability subset against the remote server — the mechanism that lets a build runner push objects and read references without ever being allowlisted. |
|
Package httpsig signs and verifies amber-store remote-protocol HTTP messages.
|
Package httpsig signs and verifies amber-store remote-protocol HTTP messages. |
|
Package identity manages a store's own SSH identity: an ed25519 keypair generated on first use and persisted in the store directory, used by the remote server and by the daemon's remote sync when no explicit key is configured.
|
Package identity manages a store's own SSH identity: an ed25519 keypair generated on first use and persisted in the store directory, used by the remote server and by the daemon's remote sync when no explicit key is configured. |
|
Package inbox stores authenticated packs that have been received but not yet processed into the packstore.
|
Package inbox stores authenticated packs that have been received but not yet processed into the packstore. |
|
Package key implements the 32-byte Amber-Store lookup key: a content address that encodes a CAS object type, a logical payload length, and a truncated BLAKE3 hash of the payload's serialized bytes.
|
Package key implements the 32-byte Amber-Store lookup key: a content address that encodes a CAS object type, a logical payload length, and a truncated BLAKE3 hash of the payload's serialized bytes. |
|
Package keylist encodes lists of store keys as raw concatenated 32-byte keys — the request/response body format of the remote server's have/want negotiation.
|
Package keylist encodes lists of store keys as raw concatenated 32-byte keys — the request/response body format of the remote server's have/want negotiation. |
|
Package nonces is the remote server's replay cache: a set of recently seen (key fingerprint, nonce) pairs.
|
Package nonces is the remote server's replay cache: a set of recently seen (key fingerprint, nonce) pairs. |
|
Package packstore persists Amber-Store CAS objects in log-structured, append-only segment (pack) files.
|
Package packstore persists Amber-Store CAS objects in log-structured, append-only segment (pack) files. |
|
Package reference defines the named-pointer record: a global name pointing at a store key, with creator, creation time, and an optional opaque signature.
|
Package reference defines the named-pointer record: a global name pointing at a store key, with creator, creation time, and an optional opaque signature. |
|
Package refstore persists reference records in a Pebble DB: name bytes → CBOR record bytes, stored verbatim.
|
Package refstore persists reference records in a Pebble DB: name bytes → CBOR record bytes, stored verbatim. |
|
Package remoteclient is the signed HTTP client the local daemon uses to talk to a remote amber-store server: every request is signed with the daemon's SSH identity (internal/httpsig) and every response must verify against the pinned server key recorded at `remote add` — a mismatch aborts the operation.
|
Package remoteclient is the signed HTTP client the local daemon uses to talk to a remote amber-store server: every request is signed with the daemon's SSH identity (internal/httpsig) and every response must verify against the pinned server key recorded at `remote add` — a mismatch aborts the operation. |
|
Package remotes persists the daemon's registered remotes: a name → {URL, pinned server public key} map stored as JSON at <store-dir>/remotes.
|
Package remotes persists the daemon's registered remotes: a name → {URL, pinned server public key} map stored as JSON at <store-dir>/remotes. |
|
Package remotesync implements the push/pull algorithms between a local packstore and a remote amber-store server: byte-balanced batching driven by the sizes encoded in keys, a phased have/want push (parallel whole-set negotiation, then parallel upload of byte-balanced packs), and a list-then-fetch pull (the server-walked reachable key set, parallel pack fetch, then a local completeness gate).
|
Package remotesync implements the push/pull algorithms between a local packstore and a remote amber-store server: byte-balanced batching driven by the sizes encoded in keys, a phased have/want push (parallel whole-set negotiation, then parallel upload of byte-balanced packs), and a list-then-fetch pull (the server-walked reachable key set, parallel pack fetch, then a local completeness gate). |
|
Package server implements the amber-store remote server: a TCP HTTP(S) sibling of the local daemon that other amber daemons push objects and references to and pull them from.
|
Package server implements the amber-store remote server: a TCP HTTP(S) sibling of the local daemon that other amber daemons push objects and references to and pull them from. |
|
Package socketpath resolves the unix-socket path that the daemon and its CLI clients agree on.
|
Package socketpath resolves the unix-socket path that the daemon and its CLI clients agree on. |
|
Package sshsign produces SSHSIG signatures (the ssh-keygen -Y / git SSH signing format) over reference signature payloads, using either a private key file or a key held by the ssh-agent (selected by a .pub file).
|
Package sshsign produces SSHSIG signatures (the ssh-keygen -Y / git SSH signing format) over reference signature payloads, using either a private key file or a key held by the ssh-agent (selected by a .pub file). |
|
Package tarexport traverses an Amber-Store CAS from a directory key and writes a PAX-format tar of the filesystem tree.
|
Package tarexport traverses an Amber-Store CAS from a directory key and writes a PAX-format tar of the filesystem tree. |
|
Package tarextract extracts a PAX tar (as produced by tarexport) into a directory, restoring permissions, ownership (when running as root), extended attributes (best-effort), nanosecond mtimes, symlinks, fifos, and device nodes.
|
Package tarextract extracts a PAX tar (as produced by tarexport) into a directory, restoring permissions, ownership (when running as root), extended attributes (best-effort), nanosecond mtimes, symlinks, fifos, and device nodes. |
|
Package userconfig reads and writes the per-user amber-store configuration: a JSON file holding the user identity recorded in references it creates and the optional reference-signing key.
|
Package userconfig reads and writes the per-user amber-store configuration: a JSON file holding the user identity recorded in references it creates and the optional reference-signing key. |
Click to show internal directories.
Click to hide internal directories.