{
  "slug": "railway-cdn-manages-service-cdn-caching-b8239d1adb14",
  "title": "railway cdn manages service CDN caching",
  "tools": [
    "railway"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-06-20T02:14:02.000Z",
  "announced_at": "2026-06-20T02:14:02.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When managing CDN settings for a Railway service, use `railway cdn status`, `enable`, `disable`, `update`, or `purge`; choose the service with selectors as needed. Enabling caching requires an applied public domain.",
    "examples": [
      "railway cdn status --service <SERVICE>",
      "railway cdn update --html-caching force --default-ttl 4h --service <SERVICE>",
      "railway cdn purge html --service <SERVICE> --json"
    ],
    "gotchas": [
      "Version: v5.19.0",
      "--service, -s <SERVICE>: Service name or ID; defaults to the linked service.",
      "--environment, -e <ENVIRONMENT>: Environment to use; defaults to the linked environment.",
      "--project, -p <PROJECT_ID>: Project ID to use; defaults to the linked project.",
      "--json: Output in JSON format.",
      "--html-caching <MODE>: Set HTML caching mode; documented enum values are not_found (source code page defines the enum, but values not retrieved). At least one update setting is required.",
      "--default-ttl <TTL>: Set default TTL; accepted values: 30m, 1h, 2h, 4h, 12h, 1d, or matching seconds. At least one update setting is required.",
      "--swr / --no-swr: Honor or ignore stale-while-revalidate Cache-Control directives; mutually exclusive. At least one update setting is required.",
      "--purge-on-deploy <POLICY>: Set cache purge policy after successful deploys; allowed values not retrieved. At least one update setting is required.",
      "<html|all> (required): Purge scope. Purges apply to the whole service; per-URL purge is unsupported.",
      "Prerequisite: CDN caching requires an applied public domain. The CLI docs say to add a domain with `railway domain` first.",
      "`railway cdn enable` requires an applied public domain."
    ]
  },
  "why_it_matters": "Manage CDN caching for a selected Railway service while maintaining or reviewing its deployment configuration.",
  "sources": [
    "https://github.com/railwayapp/cli/releases/tag/v5.19.0",
    "https://github.com/railwayapp/cli/pull/982",
    "https://github.com/railwayapp/cli/blob/v5.19.0/src/commands/cdn.rs"
  ],
  "rank": 0.98042,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "wave1b-20261016",
    "verdict_id": "wave1b-20261016:wave1b-20261016-2cd4f7e4d793a3bc-0:gate",
    "evidence_hash": "59d192d048b0db0f86efe1be2b83903073ba3fb99683c1ad9be982f823ed4906"
  },
  "review": {
    "draft_hash": "5c705047914cf12f41d23ac49f07d08e49fd2162e981182041c69394fd75d28d",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "wave1b-20261016:gate",
    "reason": "3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.98 >= 0.9; 2 needed) and Jev gave 0.83 (>= 0.6 needed)."
  }
}
