Skip to content

deploy.list

Every deployment the layer declares, typed: the application, the package and binary shipped, the address the process listens on, the routes a platform polls, the resources, the machine count, the region, the build inputs and the measured budgets. An object of the kind this executable cannot read is reported with the reason rather than skipped.

Every deployment the layer declares, typed: the application, the package and binary shipped, the address the process listens on, the routes a platform polls, the resources, the machine count, the region, the build inputs and the measured budgets. An object of the kind this executable cannot read is reported with the reason rather than skipped.

Exposure

Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.

surfaceas
MCPtool majordomus_deployments
resource majordomus://deployments
HTTPGET /api/v1/deployments operationId deploy.list
command line—

Schemas

The canonical input and output, from the Rust types; the MCP tool schema and the OpenAPI parameters and responses are derived from these.

input · Empty

No input.

No properties: the capability takes no input.

JSON Schema
{
  "additionalProperties": false,
  "description": "No input.",
  "title": "Empty",
  "type": "object"
}

output · DeploymentList

Every deployment the layer declares.
propertytyperequireddescription
count integer yes How many.
deployments array yes Each, in identity order.
unreadable array no Objects of the deployment kind this executable could not read, with why. A malformed object is reported here rather than hidden by being skipped.
JSON Schema
{
  "$defs": {
    "Budgets": {
      "additionalProperties": false,
      "description": "The measured figures this deployment is held to. Each is written by the run that\nmeasured it; an absent one has not been measured yet and is not a licence.",
      "properties": {
        "binary_bytes": {
          "anyOf": [
            {
              "$ref": "#/$defs/Positive"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Largest accepted stripped binary size."
        },
        "blocking_check_ms": {
          "anyOf": [
            {
              "$ref": "#/$defs/Positive"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Longest accepted time for one liveness or readiness check."
        },
        "build_context_bytes": {
          "anyOf": [
            {
              "$ref": "#/$defs/Positive"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Largest accepted build context."
        },
        "cold_start_ms": {
          "anyOf": [
            {
              "$ref": "#/$defs/Positive"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Longest accepted time from a stopped machine to a served response."
        },
        "image_bytes": {
          "anyOf": [
            {
              "$ref": "#/$defs/Positive"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Largest accepted compressed image size."
        },
        "request_p99_ms": {
          "anyOf": [
            {
              "$ref": "#/$defs/Positive"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Longest accepted p99 for a served request."
        },
        "resident_memory_mb": {
          "anyOf": [
            {
              "$ref": "#/$defs/Positive"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Largest accepted resident set under load."
        }
      },
      "type": "object"
    },
    "Build": {
      "additionalProperties": false,
      "description": "What is shipped and what it is built from.",
      "properties": {
        "binary": {
          "description": "The binary target the image runs.",
          "type": "string"
        },
        "crates": {
          "default": [],
          "description": "The path dependencies the package compiles against (`apps/majordomus-core`): in the\nbuild context and in the builder's dependency stage, never in the runtime image,\nsince the running process reads none of them. Absent means the package has none.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "inputs": {
          "description": "The repository-relative paths the build context carries, and the only ones.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "package": {
          "description": "The Cargo package that is built.",
          "type": "string"
        },
        "profile": {
          "description": "The Cargo profile the image is built under.",
          "type": "string"
        },
        "site": {
          "default": null,
          "description": "The directory the canonical site pipeline writes; absent means the image serves no\nsite.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "package",
        "binary",
        "profile",
        "inputs"
      ],
      "type": "object"
    },
    "CpuKind": {
      "description": "What a machine's CPU is.",
      "oneOf": [
        {
          "const": "shared",
          "description": "A fraction of a core: the cheap profile.",
          "type": "string"
        },
        {
          "const": "performance",
          "description": "A dedicated one.",
          "type": "string"
        }
      ]
    },
    "DeploymentStatus": {
      "description": "Where a deployment stands.\n\n`Status` is the right name inside this module; the schema component namespace is flat,\nand `distribution::Status` answers a different question, so each says which it is.",
      "oneOf": [
        {
          "const": "declared",
          "description": "The object exists and nothing is deployed from it yet.",
          "type": "string"
        },
        {
          "const": "active",
          "description": "It is deployed.",
          "type": "string"
        },
        {
          "const": "retired",
          "description": "It was, and the object is kept for the record.",
          "type": "string"
        }
      ]
    },
    "DeploymentView": {
      "description": "One deployment as this process reads it, with where it came from.",
      "properties": {
        "application": {
          "description": "The application's name: what the deployment is known by in a listing.",
          "type": "string"
        },
        "budgets": {
          "$ref": "#/$defs/Budgets",
          "default": {
            "binary_bytes": null,
            "blocking_check_ms": null,
            "build_context_bytes": null,
            "cold_start_ms": null,
            "image_bytes": null,
            "request_p99_ms": null,
            "resident_memory_mb": null
          },
          "description": "The measured figures it is held to."
        },
        "build": {
          "$ref": "#/$defs/Build",
          "description": "What is shipped and what it is built from."
        },
        "created_at": {
          "default": null,
          "description": "When the object was written.",
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "default": null,
          "description": "One line: what it serves and to whom.",
          "type": [
            "string",
            "null"
          ]
        },
        "file": {
          "description": "The repository-relative file the object lives in.",
          "type": "string"
        },
        "health": {
          "$ref": "#/$defs/HealthRoutes",
          "description": "The routes a platform polls."
        },
        "id": {
          "description": "The identity within the repository.",
          "type": "string"
        },
        "kind": {
          "description": "Always `deployment`.",
          "type": "string"
        },
        "listen": {
          "$ref": "#/$defs/Listen",
          "description": "The address the process listens on."
        },
        "machines": {
          "$ref": "#/$defs/Machines",
          "description": "How many machines run."
        },
        "provider": {
          "anyOf": [
            {
              "$ref": "#/$defs/Provider"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The hosting provider that runs it, when one does; absent, nobody hosts it."
        },
        "region": {
          "description": "The region they run in.",
          "type": "string"
        },
        "resources": {
          "$ref": "#/$defs/Resources",
          "description": "What one machine is granted."
        },
        "schema": {
          "description": "The format version; a version this executable does not read is refused.",
          "type": "string"
        },
        "status": {
          "anyOf": [
            {
              "$ref": "#/$defs/DeploymentStatus"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Where it stands."
        },
        "title": {
          "description": "One line naming it.",
          "type": "string"
        },
        "updated_at": {
          "default": null,
          "description": "When it was last changed.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "file",
        "schema",
        "kind",
        "id",
        "title",
        "application",
        "build",
        "listen",
        "health",
        "resources",
        "machines",
        "region"
      ],
      "type": "object"
    },
    "HealthRoutes": {
      "additionalProperties": false,
      "description": "The routes a platform polls, and how often.",
      "properties": {
        "grace_seconds": {
          "default": null,
          "description": "How long the platform waits before the first check counts.",
          "format": "uint32",
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "interval_seconds": {
          "anyOf": [
            {
              "$ref": "#/$defs/Positive"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "How often the platform polls liveness."
        },
        "liveness": {
          "$ref": "#/$defs/Route",
          "description": "Is this process alive."
        },
        "readiness": {
          "$ref": "#/$defs/Route",
          "description": "Can this process serve traffic."
        },
        "timeout_seconds": {
          "anyOf": [
            {
              "$ref": "#/$defs/Positive"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "How long one check may take before it counts as failed."
        }
      },
      "required": [
        "liveness",
        "readiness"
      ],
      "type": "object"
    },
    "Interface": {
      "description": "Which interface a process listens on.",
      "oneOf": [
        {
          "const": "loopback",
          "description": "Reachable from this host alone: the local default, and what every local invocation\nkeeps.",
          "type": "string"
        },
        {
          "const": "all",
          "description": "Every interface. A hosted process needs it and a local one never does; stating it\nis the intent that replaces suppressing the bind warning.",
          "type": "string"
        }
      ]
    },
    "Listen": {
      "additionalProperties": false,
      "description": "The address the process listens on.",
      "properties": {
        "interface": {
          "$ref": "#/$defs/Interface",
          "description": "Which interface."
        },
        "port": {
          "$ref": "#/$defs/Port",
          "description": "The port, stated once for the process and the image."
        }
      },
      "required": [
        "port",
        "interface"
      ],
      "type": "object"
    },
    "Machines": {
      "additionalProperties": false,
      "description": "How many machines run, and whether the platform may stop them.",
      "properties": {
        "autostart": {
          "description": "Whether a request to a stopped machine starts it.",
          "type": "boolean"
        },
        "autostop": {
          "description": "Whether an idle machine is stopped.",
          "type": "boolean"
        },
        "count": {
          "$ref": "#/$defs/Positive",
          "description": "How many machines the application has."
        },
        "min_running": {
          "description": "How many stay running when idle.",
          "format": "uint32",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "count",
        "min_running",
        "autostart",
        "autostop"
      ],
      "type": "object"
    },
    "Port": {
      "description": "A TCP port a deployed process may bind. Privileged ports are not among them: the\nprocess runs as a non-root user and could not bind one.",
      "format": "uint16",
      "maximum": 65535,
      "minimum": 0,
      "type": "integer"
    },
    "Positive": {
      "description": "A count that is at least one: memory in megabytes, CPUs, machines. Zero is refused\nwherever zero would mean \"a deployment that cannot run\".",
      "format": "uint32",
      "minimum": 0,
      "type": "integer"
    },
    "Provider": {
      "additionalProperties": false,
      "description": "The hosting provider that runs the deployment, and the facts that are the provider's\nalone. Every file the provider reads is rendered from this block and the generic keys\n(see `render`); its credential is never one of these fields.\n\n```\nuse majordomus_cli::deploy::{Provider, ProviderName};\n\nlet p: Provider = serde_json::from_value(serde_json::json!({\n    \"name\": \"gigalixir\",\n    \"app\": \"prismatic-majordomus\",\n    \"stack\": \"gigalixir-24\",\n    \"url\": \"https://prismatic-majordomus.gigalixirapp.com\",\n}))\n.unwrap();\nassert_eq!(p.name, ProviderName::Gigalixir);\nassert_eq!(p.app, \"prismatic-majordomus\");\n\n// a key the provider block does not have is refused, a token above all\nassert!(serde_json::from_value::<Provider>(serde_json::json!({\n    \"name\": \"gigalixir\", \"app\": \"a-b-c\", \"stack\": \"gigalixir-24\",\n    \"url\": \"https://a-b-c.gigalixirapp.com\", \"api_key\": \"x\",\n}))\n.is_err());\n```",
      "properties": {
        "app": {
          "description": "The application's name at the provider.",
          "type": "string"
        },
        "name": {
          "$ref": "#/$defs/ProviderName",
          "description": "Which provider."
        },
        "stack": {
          "description": "The provider's stack the application runs on (`gigalixir-24`).",
          "type": "string"
        },
        "url": {
          "description": "The public URL the deployment answers on; always `https://`.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "app",
        "stack",
        "url"
      ],
      "type": "object"
    },
    "ProviderName": {
      "description": "A hosting provider the contract knows. A name outside this list is refused at parse time:\na provider whose files nothing renders would be a block nothing reads.\n\n```\nuse majordomus_cli::deploy::ProviderName;\n\nlet name: ProviderName = serde_json::from_value(serde_json::json!(\"gigalixir\")).unwrap();\nassert_eq!(name, ProviderName::Gigalixir);\nassert_eq!(name.as_str(), \"gigalixir\");\nassert!(serde_json::from_value::<ProviderName>(serde_json::json!(\"fly\")).is_err());\n```",
      "oneOf": [
        {
          "const": "gigalixir",
          "description": "Gigalixir: a Heroku-compatible platform that runs a Procfile over a buildpack.",
          "type": "string"
        }
      ]
    },
    "Refusal": {
      "description": "Why a deployment object is refused: what was read, where, and what to do about it.",
      "properties": {
        "correction": {
          "description": "What to do instead.",
          "type": "string"
        },
        "file": {
          "description": "The repository-relative file the value came from.",
          "type": "string"
        },
        "found": {
          "description": "The value observed, rendered as it was read.",
          "type": "string"
        },
        "key": {
          "description": "The key path within it, as the contract names it.",
          "type": "string"
        },
        "problem": {
          "description": "What is wrong with it, in one line.",
          "type": "string"
        }
      },
      "required": [
        "file",
        "key",
        "found",
        "problem",
        "correction"
      ],
      "type": "object"
    },
    "Resources": {
      "additionalProperties": false,
      "description": "What one machine is granted.",
      "properties": {
        "cpu_kind": {
          "$ref": "#/$defs/CpuKind",
          "description": "Shared or dedicated."
        },
        "cpus": {
          "$ref": "#/$defs/Positive",
          "description": "How many CPUs one machine has."
        },
        "memory_mb": {
          "$ref": "#/$defs/Positive",
          "description": "Memory per machine, in megabytes."
        }
      },
      "required": [
        "cpu_kind",
        "cpus",
        "memory_mb"
      ],
      "type": "object"
    },
    "Route": {
      "description": "A route a platform polls: an absolute path on this service, never a URL. The host is\nthe deployment's to know and not the object's to state.",
      "type": "string"
    }
  },
  "description": "Every deployment the layer declares.",
  "properties": {
    "count": {
      "description": "How many.",
      "format": "uint",
      "minimum": 0,
      "type": "integer"
    },
    "deployments": {
      "description": "Each, in identity order.",
      "items": {
        "$ref": "#/$defs/DeploymentView"
      },
      "type": "array"
    },
    "unreadable": {
      "description": "Objects of the deployment kind this executable could not read, with why. A\nmalformed object is reported here rather than hidden by being skipped.",
      "items": {
        "$ref": "#/$defs/Refusal"
      },
      "type": "array"
    }
  },
  "required": [
    "count",
    "deployments"
  ],
  "title": "DeploymentList",
  "type": "object"
}

Policies

benchmark
required — a target on every transport the exposure declares; the cases are the input type's
cache
disabled — every call runs the handler

Benchmark targets

Derived from the registry for this repository: one requirement per transport, and the cases the input type provides. The whole matrix is on the benchmarks page.

transportstatecasestargets
directcovered1default
mcpcovered1default
httpcovered1default

Searches the titles and descriptions of every page this site publishes.