ADR 0075 — an artifact store is a provision, and a package registry is another
Two questions circling turned out to be one asked twice: should gitea be the mesh's registry, and where does the SDK come from. The framing that dissolves both is that artifact-store is already a provision and the registry already provides it — so this was never about replacing a component. It is a second provider of an existing provision, which this mesh has a mechanism for and uses for certificate authorities already. So: two provisions, because they are two jobs. artifact-store is content addressed, pinned by digest, no versions and no ranges — what the mesh delivers to machines. package-registry is an ecosystem's own, addressed by name and version — what code resolves when compiled. Conflating them is how a mesh that pins everything ends up rebuilding one commit into two different things. The small registry stays the provider genesis installs, not because it is better but because of what it is: a directory and one container, installable where there is no database and no control plane. Gitea needs both, and the pivot needs somewhere to publish before either exists. Gitea also provides artifact-store, so a mesh may choose it — and choosing it answers issues 042 and 048 by adopting something that already has accounts and TLS, rather than reimplementing them in a registry that has neither. Moving between providers is a designed act with a verification step that is easy to skip and is the only thing between it and a mesh that cannot restart its own control plane. And the bootstrap still has no package registry when the first build needs one. Named rather than solved, so the next person does not discover it. Claude-Session: https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx
This commit is contained in:
@@ -107,6 +107,7 @@ python3 00-META/checks/index.py fail if stale
|
||||
- **0072** — [Two graphs, and a build chain that orders itself](0072-two-graphs-and-the-build-chain.md)
|
||||
- **0073** — [The installer carries a builder, and the registry stays where it is](0073-the-installer-carries-a-builder.md)
|
||||
- **0074** — [The mesh defines a module protocol; an SDK is an implementation of it](0074-the-wire-is-specified-not-the-types.md)
|
||||
- **0075** — [An artifact store is a provision; a package registry is a different one](0075-two-stores-and-which-provides-what.md) *(proposed)*
|
||||
|
||||
### What runs on them, and how it gets there
|
||||
|
||||
|
||||
Reference in New Issue
Block a user