{
  "schema_version": 1,
  "diagram_type": "workflow",
  "meta": {
    "title": "InMotion \u2192 Local + AWS Migration",
    "output": "migration-map.html",
    "animation": "trace",
    "quality_profile": "showcase"
  },
  "lanes": [
    {
      "id": "legacy",
      "label": "Legacy"
    },
    {
      "id": "edge",
      "label": "DNS / edge"
    },
    {
      "id": "host",
      "label": "Local host"
    },
    {
      "id": "backup",
      "label": "Offsite backup",
      "variant": "exception"
    }
  ],
  "phases": [
    {
      "id": "current",
      "label": "Current",
      "fromCol": 0,
      "toCol": 1
    },
    {
      "id": "migrate",
      "label": "Migration",
      "fromCol": 2,
      "toCol": 3,
      "variant": "emphasis"
    },
    {
      "id": "target",
      "label": "Target",
      "fromCol": 4,
      "toCol": 5,
      "variant": "dashed"
    }
  ],
  "mainPath": [
    "inmotion",
    "sites",
    "cloudflare",
    "caddy",
    "n13",
    "s3"
  ],
  "nodes": [
    {
      "id": "inmotion",
      "lane": "legacy",
      "col": 0,
      "width": 84,
      "type": "external",
      "label": "InMotion VPS"
    },
    {
      "id": "sites",
      "lane": "legacy",
      "col": 1,
      "width": 84,
      "type": "frontend",
      "label": "CMS Sites"
    },
    {
      "id": "cloudflare",
      "lane": "edge",
      "col": 2,
      "width": 84,
      "type": "cloud",
      "label": "Cloudflare"
    },
    {
      "id": "caddy",
      "lane": "edge",
      "col": 3,
      "width": 84,
      "type": "frontend",
      "label": "Caddy"
    },
    {
      "id": "n13",
      "lane": "host",
      "col": 4,
      "width": 84,
      "type": "backend",
      "label": ".13 Host"
    },
    {
      "id": "s3",
      "lane": "backup",
      "col": 5,
      "width": 84,
      "type": "cloud",
      "label": "AWS S3"
    }
  ],
  "edges": [
    {
      "from": "inmotion",
      "to": "sites",
      "route": "drop",
      "fromSide": "bottom",
      "toSide": "top"
    },
    {
      "from": "sites",
      "to": "cloudflare",
      "route": "drop",
      "fromSide": "bottom",
      "toSide": "top"
    },
    {
      "from": "cloudflare",
      "to": "caddy",
      "route": "drop",
      "fromSide": "bottom",
      "toSide": "top"
    },
    {
      "from": "caddy",
      "to": "n13",
      "route": "drop",
      "fromSide": "bottom",
      "toSide": "top",
      "variant": "emphasis"
    },
    {
      "from": "n13",
      "to": "s3",
      "route": "drop",
      "fromSide": "bottom",
      "toSide": "top",
      "variant": "emphasis"
    }
  ],
  "cards": [
    {
      "dot": "rose",
      "title": "Retiring",
      "items": [
        "InMotion VPS (cPanel/PHP) hosted the legacy sites",
        "Decommission after cutover"
      ]
    },
    {
      "dot": "emerald",
      "title": "Target",
      "items": [
        ".13 NixOS host serves sites behind Caddy",
        "Cloudflare for DNS; AWS S3 for offsite backup"
      ]
    },
    {
      "dot": "cyan",
      "title": "Offsite",
      "items": [
        "Nightly Borg \u2192 AWS S3 (photos, .13, .27)",
        "Monitor: offsite.lab.audasmedia.com.au"
      ]
    }
  ]
}