A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live
distribution.model
The distribution model
What it is
The one-line install command, where an installation goes, and every declared target with the artifact name it derives. This is what the installation page, the landing page's install block and the cockpit's install card render; none of them holds a platform list of its own.
Descriptor
- Canonical id
distribution.model- Module
distribution- Kind
- query
- Stability
- behaviorallyverified
- Provenance
- declared
- Source
apps/majordomus-cli/src/capability/builtin/distribution.rs- Cache
disabled- Benchmark
required- Tags
- distributioninstallintrospection
Run
queryA query. It reads and changes nothing.
Projections
| Interface | As | Where |
|---|---|---|
| MCP tool | majordomus_distribution | - |
| MCP resource | not exposed | - |
| HTTP | GET /api/v1/distribution | Swagger |
| Command line | majordomus distribution show | - |
Schemas
Input · Empty
{
"type": "object",
"additionalProperties": false,
"description": "No input.",
"title": "Empty"
}Output · DistributionReport
{
"type": "object",
"properties": {
"binary": {
"type": "string",
"description": "The command a person types after installing."
},
"repository": {
"type": "string",
"description": "`owner/name`, the only host release assets come from."
},
"installer_url": {
"type": "string",
"description": "The installer's canonical URL."
},
"install_command": {
"type": "string",
"description": "The one-line install command, composed from its parts."
},
"install_and_init_command": {
"type": "string",
"description": "The same, initialising the repository afterwards."
},
"next_command": {
"type": "string",
"description": "What a person runs next."
},
"checksum": {
"type": "string",
"description": "The digest algorithm the installer verifies."
},
"install_dir": {
"type": "string",
"description": "Where the launchers go by default."
},
"prefix": {
"type": "string",
"description": "Where the versioned trees go by default."
},
"latest_url": {
"type": "string",
"description": "Where the stable release metadata is published."
},
"supported": {
"type": "integer",
"format": "uint",
"minimum": 0,
"description": "How many targets a release builds."
},
"targets": {
"type": "array",
"items": {
"$ref": "#/$defs/TargetView"
},
"description": "Every declared target, in the model's order."
}
},
"required": [
"binary",
"repository",
"installer_url",
"install_command",
"install_and_init_command",
"next_command",
"checksum",
"install_dir",
"prefix",
"latest_url",
"supported",
"targets"
],
"description": "The distribution, as a person or a script asks for it.",
"title": "DistributionReport",
"$defs": {
"TargetView": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The target's id in the model."
},
"title": {
"type": "string",
"description": "How it is written in prose: `Linux x86_64 musl`."
},
"os": {
"$ref": "#/$defs/Os",
"description": "The operating system."
},
"arch": {
"$ref": "#/$defs/Arch",
"description": "The architecture."
},
"libc": {
"anyOf": [
{
"$ref": "#/$defs/Libc"
},
{
"type": "null"
}
],
"description": "The C library, on Linux."
},
"rust_target": {
"type": "string",
"description": "The Rust target triple."
},
"status": {
"$ref": "#/$defs/TargetStatus",
"description": "What the project promises about it."
},
"reason": {
"type": [
"string",
"null"
],
"description": "Why, when it is not built."
},
"artifact": {
"type": "string",
"description": "The artifact name, with `{tag}` where a release's tag goes."
}
},
"required": [
"id",
"title",
"os",
"arch",
"rust_target",
"status",
"artifact"
],
"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."
},
"Os": {
"oneOf": [
{
"type": "string",
"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."
}
],
"description": "An operating system a target runs on."
},
"Arch": {
"oneOf": [
{
"type": "string",
"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`."
}
],
"description": "A processor architecture."
},
"Libc": {
"oneOf": [
{
"type": "string",
"const": "gnu",
"description": "GNU libc: the ordinary distributions."
},
{
"type": "string",
"const": "musl",
"description": "musl: Alpine, and any statically linked artifact."
}
],
"description": "The C library a Linux artifact is linked against."
},
"TargetStatus": {
"oneOf": [
{
"type": "string",
"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."
}
],
"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."
}
}
}Examples
These are the capability's own benchmark cases: the same inputs the benchmark runs and the OpenAPI document shows.
default
{}