tare mcp images-sync

Mirror MCP server container images from registry.tetrate.ai (or the
REGISTRY_URL override) to a customer-controlled destination registry,
authenticated with the customer's service account JWT.

Sync scope matches "tare mcp install --servers" — the 15 servers present in
the embedded MCP catalog seed.

Pass an optional second positional to mirror exactly one image. Both the
alias (jira) and the image name (mcp-jira) are accepted; the "mcp-" prefix
is auto-stripped. Mutually exclusive with --servers.

Run this once at onboarding to seed the customer registry; then run
"tare mcp install --image-registry=<your-reg>" any number of times against
the same mirror.

Examples:
  # Mirror all 15 installable MCP server images
  tare mcp images-sync identity.json --to=gcr.io/my-mirror

  # Mirror only a subset
  tare mcp images-sync identity.json --to=gcr.io/my-mirror --servers=jira,slack

  # Mirror exactly one image (positional shorthand)
  tare mcp images-sync identity.json jira --to=gcr.io/my-mirror
  tare mcp images-sync identity.json mcp-jira --to=gcr.io/my-mirror

  # Preview the resolved src → dst pairs without touching any registry
  tare mcp images-sync identity.json --to=gcr.io/my-mirror --print-images

Usage:
  tare mcp images-sync <identity-file> [server] [flags]

Flags:
      --image-registry string      Override the source registry. Defaults to REGISTRY_URL env or registry.tetrate.ai.
      --parallel int               Concurrent image copies. First failure cancels in-flight siblings. (default 3)
      --print-images               Print the resolved src → dst image references and exit. No registry contact; identity-file SA validation still runs.
      --progress string            Renderer mode for sync progress: auto|tty|plain|none. (default "auto")
      --servers string             Comma-separated MCP server aliases to mirror (e.g. jira,slack) or 'all' for every installable server. Validated against the catalog-parity install gate. (default "all")
      --stall-threshold duration   Per-image stall warning threshold; escalation fires at 2x this value. (default 30s)
      --to string                  Destination registry to mirror MCP images into (e.g. gcr.io/my-mirror). Required unless --print-images.

Global Flags:
  -q, --quiet     Suppress progress output; only errors and the final summary go to stderr
  -v, --verbose   Verbose output: plain-mode progress lines plus full per-blob chunk logs to stderr