860 lines
24 KiB
JSON
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
|
|
}
|
|
]
|
|
}
|