Downloads

Changes

  • A registry exists only through its charter. Every cartridge registry, fabric registry and app release registry is named by an anchor, any URL, and serves at <anchor>/charter.json a charter signed by MachineFabric, with its signature at <anchor>/charter.json.sig. The charter states everything about the registry: its slug, which names its folders on disk; its kind; its environment; where its manifests are; and, for a cartridge registry, the fabric its caps resolve against. capdag reads every address and folder name from the verified charter, and derives none from the shape of a URL. A registry is refused when:
    • it has no charter, or its charter does not verify against the MachineFabric roots the build carries;
    • its charter names another anchor or another kind;
    • its charter is for another environment than the build’s;
    • its charter has expired;
    • another registry already holds its slug.
  • The cartridge registry is at version 4, schema revision 8.0. A registry is named by its anchor, so a manifest’s registryUrl, every cartridge.json‘s registry_url and the registry a build carries are the anchor, where version 3 used the manifest’s URL. An installed registry’s folder holds its charter beside its cartridges. Discovery verifies that charter offline, and refuses a folder whose name is not the charter’s slug, or a cartridge whose registry_url is not the charter’s anchor. A host reads only the registry at its own version.
  • capdag checks the release registry’s charter before it updates itself.

Download CapDAG