Glossary, the mesh-controller/foundation vocabulary, ADR 0076, Phase 3 closed #43
@@ -50,6 +50,18 @@ which means the pivot has already happened — and the pivot needs somewhere to
|
||||
|
||||
**Gitea also provides `artifact-store`, and a mesh may choose it.** Two providers of one provision
|
||||
is a thing the mesh understands: it refuses, names both, and choosing is assigning the one you want.
|
||||
|
||||
**And it does not claim `the-artifact-store`.** That claim is node-scoped, so a module holding it
|
||||
cannot share a machine with another that does — and a machine running gitea for git and packages
|
||||
*alongside* a registry serving artifacts is an ordinary arrangement, not a conflict. They are
|
||||
different ports doing different jobs.
|
||||
|
||||
The exclusivity that matters is mesh-wide and is already expressed: `provides` at mesh scope means
|
||||
two providers are two answers, and the resolver refuses until one is assigned. Forbidding
|
||||
co-residence adds nothing to that and forbids something reasonable. **Whether `registry` should
|
||||
still hold that claim is left open here** — it may be protecting something about the port or the
|
||||
data directory that is not written down, and removing a claim is not a thing to do from the outside
|
||||
of a manifest.
|
||||
A mesh that assigns gitea gets authentication and TLS for its artifacts — which is to say, **issues
|
||||
042 and 048 are answered by choosing a provider that already solved them**, rather than by
|
||||
reimplementing accounts and certificates in a registry that has none.
|
||||
@@ -112,5 +124,6 @@ here**: it is named, so the next person does not discover it.
|
||||
|---|---|
|
||||
| Genesis needs no database | The installer raises a mesh of one on a machine with nothing, and the artifact store it installs has no store of its own. |
|
||||
| Two providers are a choice, not a conflict | A mesh holding both is asked to resolve `artifact-store` and refuses, naming both, until one is assigned. |
|
||||
| Providers may share a machine | A node is assigned both gitea and a registry, and both run — only one of them answers `artifact-store`. |
|
||||
| The two stores are not interchangeable | A module depending on `package-registry` is not satisfied by `artifact-store`, and the refusal says why. |
|
||||
| A migration is verified before it is finished | The old provider cannot be unassigned while any machine's declaration still names it. |
|
||||
|
||||
Reference in New Issue
Block a user