distribution.model
Jednořádkový instalační příkaz, kam se instalace ukládá, a každý deklarovaný cíl s názvem artefaktu, který z něj plyne. Toto vykresluje instalační stránka, instalační blok úvodní stránky a instalační karta Cockpitu; žádná z nich nemá vlastní seznam platforem.
Jednořádkový instalační příkaz, kam se instalace ukládá, a každý deklarovaný cíl s názvem artefaktu, který z něj plyne. Toto vykresluje instalační stránka, instalační blok úvodní stránky a instalační karta Cockpitu; žádná z nich nemá vlastní seznam platforem.
- query
- behaviorally_verified
- module distribution
- #distribution
- #install
- #introspection
Zpřístupnění
Kde je tato jedna definice dosažitelná. Absence je explicitní: povrch, který není uveden, ji nenese.
| povrch | jako |
|---|---|
| MCP | nástroj majordomus_distribution |
| HTTP | GET /api/v1/distribution operationId distribution.model |
| příkazová řádka | majordomus distribution show |
Schémata
Kanonický vstup a výstup z typů Rustu; schéma nástroje MCP a parametry a odpovědi OpenAPI se odvozují z nich.
vstup · Prázdné
Žádné vlastnosti: schopnost nebere žádný vstup.
JSON Schema
{
"additionalProperties": false,
"description": "No input.",
"title": "Empty",
"type": "object"
}výstup · DistributionReport
| vlastnost | typ | povinné | popis |
|---|---|---|---|
| binárka | string | ano | Příkaz, který člověk zadá po instalaci. |
| kontrolní součet | string | ano | Algoritmus digestu, který instalátor ověřuje. |
| install_and_init_command | string | ano | Totéž, s následnou inicializací repozitáře. |
| install_command | string | ano | Jednořádkový instalační příkaz, složený ze svých částí. |
| install_dir | string | ano | Kam se launchery ukládají ve výchozím stavu. |
| installer_url | string | ano | Kanonická URL instalátoru. |
| latest_url | string | ano | Kde se publikují metadata stabilního release. |
| next_command | string | ano | Co člověk spustí dál. |
| prefix | string | ano | Kam se verzované stromy ukládají ve výchozím stavu. |
| repozitář | string | ano | owner/name, jediný hostitel, odkud pocházejí assety release. |
| podporováno | integer | ano | Kolik cílů release buildí. |
| targets | array | ano | Každý deklarovaný cíl v pořadí modelu. |
JSON Schema
{
"$defs": {
"Arch": {
"description": "A processor architecture.",
"oneOf": [
{
"const": "x86_64",
"description": "64-bit x86, detected as `x86_64` or `amd64`.",
"type": "string"
},
{
"const": "aarch64",
"description": "64-bit ARM, detected as `aarch64` or `arm64`.",
"type": "string"
}
]
},
"Libc": {
"description": "The C library a Linux artifact is linked against.",
"oneOf": [
{
"const": "gnu",
"description": "GNU libc: the ordinary distributions.",
"type": "string"
},
{
"const": "musl",
"description": "musl: Alpine, and any statically linked artifact.",
"type": "string"
}
]
},
"Os": {
"description": "An operating system a target runs on.",
"oneOf": [
{
"const": "macos",
"description": "Apple's, detected as `Darwin`.",
"type": "string"
},
{
"const": "linux",
"description": "Linux, detected as `Linux`, and the only one where the C library matters.",
"type": "string"
},
{
"const": "windows",
"description": "Windows; representable, and not built today.",
"type": "string"
}
]
},
"TargetStatus": {
"description": "What the project promises about a target.\n\nSee `crate::deploy::Status`: both are `Status` in their own module and neither is in\nthe one component namespace the schema document has.",
"oneOf": [
{
"const": "supported",
"description": "Built by every release, offered by the installer, listed as supported. A release\nthat is missing this artifact is not published.",
"type": "string"
},
{
"const": "experimental",
"description": "Built and offered, and documented as not yet proven.",
"type": "string"
},
{
"const": "unavailable",
"description": "Documented, never built, refused by the installer with its recorded reason.",
"type": "string"
}
]
},
"TargetView": {
"description": "One target, as every projection shows it: what it is, what it is called in prose, and\nthe artifact name the naming function derives for a tag yet to be chosen.",
"properties": {
"arch": {
"$ref": "#/$defs/Arch",
"description": "The architecture."
},
"artifact": {
"description": "The artifact name, with `{tag}` where a release's tag goes.",
"type": "string"
},
"id": {
"description": "The target's id in the model.",
"type": "string"
},
"libc": {
"anyOf": [
{
"$ref": "#/$defs/Libc"
},
{
"type": "null"
}
],
"description": "The C library, on Linux."
},
"os": {
"$ref": "#/$defs/Os",
"description": "The operating system."
},
"reason": {
"description": "Why, when it is not built.",
"type": [
"string",
"null"
]
},
"rust_target": {
"description": "The Rust target triple.",
"type": "string"
},
"status": {
"$ref": "#/$defs/TargetStatus",
"description": "What the project promises about it."
},
"title": {
"description": "How it is written in prose: `Linux x86_64 musl`.",
"type": "string"
}
},
"required": [
"id",
"title",
"os",
"arch",
"rust_target",
"status",
"artifact"
],
"type": "object"
}
},
"description": "The distribution, as a person or a script asks for it.",
"properties": {
"binary": {
"description": "The command a person types after installing.",
"type": "string"
},
"checksum": {
"description": "The digest algorithm the installer verifies.",
"type": "string"
},
"install_and_init_command": {
"description": "The same, initialising the repository afterwards.",
"type": "string"
},
"install_command": {
"description": "The one-line install command, composed from its parts.",
"type": "string"
},
"install_dir": {
"description": "Where the launchers go by default.",
"type": "string"
},
"installer_url": {
"description": "The installer's canonical URL.",
"type": "string"
},
"latest_url": {
"description": "Where the stable release metadata is published.",
"type": "string"
},
"next_command": {
"description": "What a person runs next.",
"type": "string"
},
"prefix": {
"description": "Where the versioned trees go by default.",
"type": "string"
},
"repository": {
"description": "`owner/name`, the only host release assets come from.",
"type": "string"
},
"supported": {
"description": "How many targets a release builds.",
"format": "uint",
"minimum": 0,
"type": "integer"
},
"targets": {
"description": "Every declared target, in the model's order.",
"items": {
"$ref": "#/$defs/TargetView"
},
"type": "array"
}
},
"required": [
"binary",
"repository",
"installer_url",
"install_command",
"install_and_init_command",
"next_command",
"checksum",
"install_dir",
"prefix",
"latest_url",
"supported",
"targets"
],
"title": "DistributionReport",
"type": "object"
}Politiky
- benchmark
- povinné — cíl na každém transportu, který expozice deklaruje; případy jsou ty ze vstupního typu
- cache
- vypnuto — každé volání spustí handler
Cíle benchmarku
Odvozeno z registru pro tento repozitář: jeden požadavek na transport a případy, které poskytuje typ vstupu. Celá matice je na stránce měření výkonu.