Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

mesh.build_cache.env

What the process that starts the sccache server should have in its environment on this machine, derived and never typed: the local disk as the first level and the selected store as the second (SCCACHE_MULTILEVEL_CHAIN=disk,s3, the bucket, the endpoint, the region, whether TLS is used, a key prefix of rustc's host triple, the credential FILE path and its profile) only when sccache has the multi-level chain (measured on a throwaway server, not assumed), a credential file of mode 0600 holding the profile exists, and the store answered its readiness route now; otherwise no variable at all, with the one condition that did not hold. sccache fixes its chain at server start and fails the compile when a level is down then, so a store is added only to a server that is starting. No key is ever in the answer, only the credential file's path (ADR 0157, I2673).

What the process that starts the sccache server should have in its environment on this machine, derived and never typed: the local disk as the first level and the selected store as the second (SCCACHE_MULTILEVEL_CHAIN=disk,s3, the bucket, the endpoint, the region, whether TLS is used, a key prefix of rustc's host triple, the credential FILE path and its profile) only when sccache has the multi-level chain (measured on a throwaway server, not assumed), a credential file of mode 0600 holding the profile exists, and the store answered its readiness route now; otherwise no variable at all, with the one condition that did not hold. sccache fixes its chain at server start and fails the compile when a level is down then, so a store is added only to a server that is starting. No key is ever in the answer, only the credential file's path (ADR 0157, I2673).

  • query
  • experimentální
  • modul mesh
  • #mesh
  • #build
  • #cache

Zpřístupnění

Kde je tato jedna definice dosažitelná. Absence je explicitní: povrch, který není uveden, ji nenese.

povrchjako
MCPtool majordomus_mesh_build_cache_env
HTTPGET /api/v1/mesh/build-cache/env operationId mesh.build_cache.env
příkazová řádkamajordomus mesh build-cache env

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.

input · BuildCacheEnvInput

Vstup mesh.build_cache.env.
vlastnosttyppovinnépopis
credentials string | null ne The AWS-format credential file, mode 0600.
node_file string | null ne The node file naming the store this node offers or knows.
sccache string | null ne The sccache executable to ask; sccache when absent.
JSON Schema
{
  "additionalProperties": false,
  "description": "The input of `mesh.build_cache.env`.",
  "properties": {
    "credentials": {
      "description": "The AWS-format credential file, mode 0600.",
      "type": [
        "string",
        "null"
      ]
    },
    "node_file": {
      "description": "The node file naming the store this node offers or knows.",
      "type": [
        "string",
        "null"
      ]
    },
    "sccache": {
      "description": "The sccache executable to ask; `sccache` when absent.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "title": "BuildCacheEnvInput",
  "type": "object"
}

output · BuildCacheEnvReport

Odpověď report.

Příklad

use majordomus_cli::mesh::build_cache::env::{EnvReport, Mode, Sccache};
let r = EnvReport {
    mode: Mode::LocalOnly, reason: "sccache is not installed".into(),
    sccache: Sccache { found: false, version: None, multilevel: None, detail: String::new() },
    store: None, credentials_file: None, variables: vec![], passed_over: vec![],
};
assert!(r.variables.is_empty());
vlastnosttyppovinnépopis
credentials_file string | null ne The path of the credential file the variables name; never its content.
režim reference ano What the client is configured as.
passed_over array ne The offers selection passed over, with the rule.
důvod string ano Why, always one sentence; for a local-only answer, the condition that did not hold.
sccache reference ano The installed sccache.
úložiště jedno ze 2 ne The selected store, when one was.
variables array ano The variables to set in the environment of the process that starts the sccache server; empty when the client is local-only.
JSON Schema
{
  "$defs": {
    "BuildCacheEnvVar": {
      "description": "One variable of the client's environment.\n\n# Example\n\n```\nuse majordomus_cli::mesh::build_cache::env::EnvVar;\nlet v = EnvVar { name: \"SCCACHE_REGION\".into(), value: \"us-east-1\".into() };\nassert_eq!(v.name, \"SCCACHE_REGION\");\n```",
      "properties": {
        "name": {
          "description": "The variable.",
          "type": "string"
        },
        "value": {
          "description": "Its value: never a key, at most the path of a credential file.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "value"
      ],
      "type": "object"
    },
    "BuildCachePassedOver": {
      "description": "An offer that was not chosen, and the rule that said no.\n\n# Example\n\n```\nuse majordomus_cli::mesh::build_cache::{select, PassedOver, Policy};\nlet answer = select(&[], &Policy::default());\nlet passed: Vec<PassedOver> = answer.passed_over;\nassert!(passed.is_empty());\n```",
      "properties": {
        "node": {
          "description": "The offer's node.",
          "type": "string"
        },
        "why": {
          "description": "The rule, in words.",
          "type": "string"
        }
      },
      "required": [
        "node",
        "why"
      ],
      "type": "object"
    },
    "BuildCacheSccache": {
      "description": "What the installed sccache is, as measured.\n\n# Example\n\n```\nuse majordomus_cli::mesh::build_cache::env::Sccache;\nlet s = Sccache { found: false, version: None, multilevel: None, detail: \"absent\".into() };\nassert!(!s.found);\n```",
      "properties": {
        "detail": {
          "description": "How that was found out, in words.",
          "type": "string"
        },
        "found": {
          "description": "Whether `--version` was answered.",
          "type": "boolean"
        },
        "multilevel": {
          "description": "Whether it has the multi-level chain: measured, and unknown when the measurement\ncould not be made.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "version": {
          "description": "The version it stated.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "found",
        "detail"
      ],
      "type": "object"
    },
    "BuildCacheStore": {
      "description": "The store the second level is.\n\n# Example\n\n```\nuse majordomus_cli::mesh::build_cache::env::Store;\nlet s = Store { node: \"n1\".into(), provider: \"minio\".into(),\n    endpoint: \"http://192.168.100.30:9000\".into(), bucket: \"b\".into() };\nassert_eq!(s.provider, \"minio\");\n```",
      "properties": {
        "bucket": {
          "description": "The bucket.",
          "type": "string"
        },
        "endpoint": {
          "description": "The non-secret endpoint.",
          "type": "string"
        },
        "node": {
          "description": "The offering node.",
          "type": "string"
        },
        "provider": {
          "description": "What serves the store.",
          "type": "string"
        }
      },
      "required": [
        "node",
        "provider",
        "endpoint",
        "bucket"
      ],
      "type": "object"
    },
    "Mode": {
      "description": "What the client is configured as.\n\n# Example\n\n```\nuse majordomus_cli::mesh::build_cache::env::Mode;\nassert_ne!(Mode::Mesh, Mode::LocalOnly);\n```",
      "oneOf": [
        {
          "const": "mesh",
          "description": "Local disk first, the selected store second.",
          "type": "string"
        },
        {
          "const": "local-only",
          "description": "The local disk alone: the build is what it was.",
          "type": "string"
        }
      ]
    }
  },
  "description": "The answer of `report`.\n\n# Example\n\n```\nuse majordomus_cli::mesh::build_cache::env::{EnvReport, Mode, Sccache};\nlet r = EnvReport {\n    mode: Mode::LocalOnly, reason: \"sccache is not installed\".into(),\n    sccache: Sccache { found: false, version: None, multilevel: None, detail: String::new() },\n    store: None, credentials_file: None, variables: vec![], passed_over: vec![],\n};\nassert!(r.variables.is_empty());\n```",
  "properties": {
    "credentials_file": {
      "description": "The path of the credential file the variables name; never its content.",
      "type": [
        "string",
        "null"
      ]
    },
    "mode": {
      "$ref": "#/$defs/Mode",
      "description": "What the client is configured as."
    },
    "passed_over": {
      "description": "The offers selection passed over, with the rule.",
      "items": {
        "$ref": "#/$defs/BuildCachePassedOver"
      },
      "type": "array"
    },
    "reason": {
      "description": "Why, always one sentence; for a local-only answer, the condition that did not hold.",
      "type": "string"
    },
    "sccache": {
      "$ref": "#/$defs/BuildCacheSccache",
      "description": "The installed sccache."
    },
    "store": {
      "anyOf": [
        {
          "$ref": "#/$defs/BuildCacheStore"
        },
        {
          "type": "null"
        }
      ],
      "description": "The selected store, when one was."
    },
    "variables": {
      "description": "The variables to set in the environment of the process that starts the sccache\nserver; empty when the client is local-only.",
      "items": {
        "$ref": "#/$defs/BuildCacheEnvVar"
      },
      "type": "array"
    }
  },
  "required": [
    "mode",
    "reason",
    "sccache",
    "variables"
  ],
  "title": "BuildCacheEnvReport",
  "type": "object"
}

Politiky

benchmark
waived — prominuto: external_dependency
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.

transportstatepřípadytargets
directprominuto (external_dependency)0
mcpprominuto (external_dependency)0
httpprominuto (external_dependency)0

Prohledává názvy a popisy všech stránek, které tento web publikuje.