Files
mesh-sdk/go/seatlist/bootstrap/mesh-catalog.json
T

860 lines
24 KiB
JSON

{
"format": 1,
"seat": "mesh-catalog",
"scope": "mesh",
"grain": "whole",
"domain": "Delivery",
"decision": "novox/hq ADR 0604",
"verbs": [
{
"name": "modules",
"description": "Every module the trunk holds, each with its repository, its directory there, the merge commit it was last changed at and its fingerprint (or why it has none): the catalog of the mesh, read from its holder's state. Reads only.",
"optional": true,
"input": {
"properties": {},
"type": "object"
},
"answer": {
"type": "object",
"description": "what modules answers, as its description says"
}
},
{
"name": "module",
"description": "One module whole: its repository, directory, commit and fingerprint, and its manifest as the trunk holds it. Older versions are in its repository's history. Reads only.",
"optional": true,
"input": {
"properties": {
"module": {
"description": "the module's name",
"type": "string"
}
},
"required": [
"module"
],
"type": "object"
},
"answer": {
"type": "object",
"description": "what module answers, as its description says"
}
},
{
"name": "provides",
"description": "Which modules provide a provision (a module provides its own name too) and which require it, from the module graph's provision edges. Reads only.",
"optional": true,
"input": {
"properties": {
"provision": {
"description": "the provision, such as postgres-database",
"type": "string"
}
},
"required": [
"provision"
],
"type": "object"
},
"answer": {
"type": "object",
"description": "what provides answers, as its description says"
}
},
{
"name": "dependents",
"description": "The modules whose build edges reach a module, directly or through others (a base, a mesh package it publishes, the build module that builds them): what a change of it builds again, from the module graph. Reads only.",
"optional": true,
"input": {
"properties": {
"module": {
"description": "the module's name",
"type": "string"
}
},
"required": [
"module"
],
"type": "object"
},
"answer": {
"type": "object",
"description": "what dependents answers, as its description says"
}
}
],
"description": "The catalog of the mesh: every module the trunk holds with its manifest, fingerprint and verdict, the packages published, and the seat list (ADR 0636 §1, §4).",
"family": {
"name": "mesh-catalog.events",
"max-age-days": 7
},
"events": [
{
"name": "seat-definition-changed",
"body": {
"type": "object",
"properties": {
"seat": {
"type": "string"
},
"source": {
"type": "string",
"description": "trunk"
},
"digest": {
"type": "string"
}
},
"required": [
"seat",
"source",
"digest"
]
}
},
{
"name": "seat-definition-removed",
"body": {
"type": "object",
"properties": {
"seat": {
"type": "string"
}
},
"required": [
"seat"
]
}
}
],
"states": [
{
"name": "manifests",
"template": "state",
"key-forms": [
{
"key": "<digest>",
"value": {
"type": "object",
"properties": {
"v": {
"type": "integer",
"description": "the layout version"
},
"module": {
"type": "string"
},
"manifest": {
"type": "string",
"description": "the manifest, UTF-8 JSON text"
}
},
"required": [
"module",
"manifest"
]
},
"description": "a manifest by its digest, written once"
}
],
"description": "every manifest the indexer judged",
"history": 1
},
{
"name": "modules",
"template": "state",
"key-forms": [
{
"key": "<module>",
"value": {
"type": "object",
"properties": {
"v": {
"type": "integer",
"description": "the layout version"
},
"fp": {
"type": "string",
"description": "the old-form fingerprint"
},
"none": {
"type": "string"
},
"fp2": {
"type": "string",
"description": "src2: fingerprint"
},
"none2": {
"type": "string",
"description": "why it has none"
},
"manifest": {
"type": "string",
"description": "manifest digest"
},
"inputs2": {
"type": "object",
"properties": {
"tree": {
"type": "string"
},
"bases": {
"type": "array",
"items": {
"type": "string"
}
},
"builder": {
"type": "string"
},
"contexts": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"locks": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"paths": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"packages": {
"type": "array",
"items": {
"type": "string"
}
},
"imports": {
"type": "array",
"items": {
"type": "string"
}
},
"import-form": {
"type": "string"
}
},
"required": [
"tree"
]
},
"src": {
"type": "integer",
"description": "the source revision"
},
"fp-src": {
"type": "integer"
},
"repository": {
"type": "string"
},
"commit": {
"type": "string"
},
"path": {
"type": "string"
},
"toolchains": {
"type": "object",
"additionalProperties": {
"description": "toolchain used"
}
},
"paths": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"packages": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"verdict": {
"type": "string"
},
"problems": {
"type": "array",
"items": {
"type": "string"
}
},
"unknown": {
"type": "array",
"items": {
"type": "string"
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"needs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"repository",
"commit"
],
"description": "one module as the trunk holds it"
},
"description": "a module the trunk holds"
}
],
"description": "the module catalog",
"history": 20
},
{
"name": "candidates",
"template": "state",
"key-forms": [
{
"key": "<group>",
"value": {
"type": "object",
"properties": {
"v": {
"type": "integer",
"description": "the layout version"
},
"group": {
"type": "string"
},
"base": {
"type": "integer",
"description": "the source revision it is read on"
},
"heads": {
"type": "string"
},
"pulls": {
"type": "array",
"items": {
"type": "object",
"properties": {
"repository": {
"type": "string"
},
"number": {
"type": "integer"
},
"head": {
"type": "string"
},
"modules": {
"type": "array",
"items": {
"type": "string"
}
},
"fps": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"fp2": {
"type": "string"
},
"none2": {
"type": "string"
},
"manifest": {
"type": "string"
},
"paths": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"packages": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
}
}
},
"required": [
"repository",
"number",
"head",
"modules"
]
}
},
"fpset": {
"type": "string"
}
},
"required": [
"group",
"base",
"heads",
"pulls"
],
"description": "the modules a group of open pull requests would change"
},
"description": "a group's candidate"
}
],
"description": "the candidates of open groups",
"history": 10
},
{
"name": "verdicts",
"template": "state",
"key-forms": [
{
"key": "<digest>",
"value": {
"type": "object",
"properties": {
"v": {
"type": "integer",
"description": "the layout version"
},
"module": {
"type": "string"
},
"state": {
"type": "string"
},
"problems": {
"type": "array",
"items": {
"type": "string"
}
},
"unknown": {
"type": "array",
"items": {
"type": "string"
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"judge": {
"type": "string"
},
"at": {
"type": "string",
"description": "when (RFC 3339 time)"
}
},
"required": [
"module",
"state"
],
"description": "a manifest's verdict, by the judge named"
},
"description": "a manifest's verdict by its digest"
}
],
"description": "the manifest verdicts",
"history": 5
},
{
"name": "predefined",
"template": "state",
"key-forms": [
{
"key": "list",
"value": {
"type": "object",
"properties": {
"v": {
"type": "integer",
"description": "the layout version"
},
"commit": {
"type": "string"
},
"at": {
"type": "string",
"description": "when (RFC 3339 time)"
},
"list": {
"description": "the foundation's predefined list as kept"
}
},
"required": [
"commit",
"list"
]
},
"description": "the one key"
}
],
"description": "the kept predefined list",
"history": 5
},
{
"name": "config-candidates",
"template": "state",
"key-forms": [
{
"key": "<pull>",
"value": {
"type": "object",
"properties": {
"v": {
"type": "integer",
"description": "the layout version"
},
"pull": {
"type": "string"
},
"head": {
"type": "string"
},
"declares": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"default": {
"description": "the default"
},
"why": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"enum": {
"description": "the allowed values"
},
"minimum": {
"type": "number"
},
"maximum": {
"type": "number"
},
"pattern": {
"type": "string"
},
"trusted": {
"type": "boolean"
},
"predefined": {
"type": "string"
},
"required": {
"type": "boolean"
},
"runtime": {
"type": "boolean"
}
},
"required": [
"kind",
"default",
"why"
]
}
},
"description": "module to key to declaration"
},
"at": {
"type": "string",
"description": "when (RFC 3339 time)"
}
},
"required": [
"pull",
"head",
"declares"
]
},
"description": "the configuration a pull request declares"
}
],
"description": "the configuration declared by open pull requests",
"history": 5
},
{
"name": "packages",
"template": "state",
"key-forms": [
{
"key": "<module>",
"value": {
"type": "object",
"properties": {
"v": {
"type": "integer",
"description": "the layout version"
},
"module": {
"type": "string",
"description": "the Go module path"
},
"repository": {
"type": "string"
},
"dir": {
"type": "string"
},
"commit": {
"type": "string"
},
"requires": {
"type": "string",
"description": "digest of go.mod and go.sum"
},
"packages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"package": {
"type": "string"
},
"digest": {
"type": "string"
}
},
"required": [
"package",
"digest"
]
}
},
"at": {
"type": "string",
"description": "when (RFC 3339 time)"
}
},
"required": [
"module",
"repository",
"commit",
"packages"
]
},
"description": "a mesh Go module as its latest trunk merge published it"
},
{
"key": "<package>.<series>",
"value": {
"type": "object",
"properties": {
"v": {
"type": "integer",
"description": "the layout version"
},
"name": {
"type": "string"
},
"package": {
"type": "string"
},
"series": {
"type": "string"
},
"seat": {
"type": "string"
},
"go-module": {
"type": "string"
},
"newest": {
"type": "object",
"properties": {
"version": {
"type": "string"
},
"commit": {
"type": "string"
},
"digest": {
"type": "string"
},
"fingerprint": {
"type": "string"
},
"contents": {
"type": "object",
"properties": {
"v": {
"type": "integer",
"description": "the layout version"
},
"module": {
"type": "string",
"description": "the Go module path"
},
"repository": {
"type": "string"
},
"dir": {
"type": "string"
},
"commit": {
"type": "string"
},
"requires": {
"type": "string",
"description": "digest of go.mod and go.sum"
},
"packages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"package": {
"type": "string"
},
"digest": {
"type": "string"
}
},
"required": [
"package",
"digest"
]
}
},
"at": {
"type": "string",
"description": "when (RFC 3339 time)"
}
},
"required": [
"module",
"repository",
"commit",
"packages"
]
}
},
"required": [
"version"
]
},
"numbered": {
"type": "object",
"properties": {
"version": {
"type": "string"
},
"commit": {
"type": "string"
},
"digest": {
"type": "string"
},
"fingerprint": {
"type": "string"
},
"contents": {
"type": "object",
"properties": {
"v": {
"type": "integer",
"description": "the layout version"
},
"module": {
"type": "string",
"description": "the Go module path"
},
"repository": {
"type": "string"
},
"dir": {
"type": "string"
},
"commit": {
"type": "string"
},
"requires": {
"type": "string",
"description": "digest of go.mod and go.sum"
},
"packages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"package": {
"type": "string"
},
"digest": {
"type": "string"
}
},
"required": [
"package",
"digest"
]
}
},
"at": {
"type": "string",
"description": "when (RFC 3339 time)"
}
},
"required": [
"module",
"repository",
"commit",
"packages"
]
}
},
"required": [
"version"
]
},
"at": {
"type": "string",
"description": "when (RFC 3339 time)"
}
},
"required": [
"name",
"series"
]
},
"description": "a published package series, numbered and newest"
}
],
"description": "the published packages",
"history": 5
}
]
}