Cloud Platform

Cloudflare Discovery

Non-destructive Wrangler discovery for the Cloudflare account, D1 databases, R2 buckets, Pages dashboard project, Worker deployments, and dashboard handoff suggestions.

Discovery Controls

Open discovery CSV

Run npm run cloudflare:discover after setting CLOUDFLARE_API_TOKEN, resource creation, or deployment. This page does not create resources or store tokens.

Status Cloudflare Dashboard Hosting Incomplete Ready
Target matches 9 Ready
Suggested updates 0 Ready
Command failures 0 Ready
Auth AUTHENTICATED Ready
Wrangler 4.110.0 Ready

Suggested Dashboard Updates

Review these before saving. They are non-secret config values discovered from the currently authenticated Wrangler account.

ResourceState PathValueActionPage
No non-secret Cloudflare dashboard updates were discovered.

Discovered Targets

KindResourceNameStatusValueState PathPage
d1 Command center D1 nyra_command_center Found 586ddfd8-a4f4-4f38-a5b6-1e70a3f5ed23 cloudMigration.d1DatabaseId pages/cloud.html
d1 Billing D1 nyra_billing Found 148a0520-51bb-4f31-895b-02a99efd31b4 billingCloud.d1DatabaseId pages/cloud-billing.html
r2 Command center uploads R2 nyra-command-center-uploads Found nyra-command-center-uploads cloudMigration.r2Bucket pages/cloud.html
r2 Mobile support logs R2 nyra-mobile-support-logs Found nyra-mobile-support-logs mobileBridge.r2BucketName pages/cloud-mobile-bridge.html
r2 Android releases R2 nyra-android-releases Found nyra-android-releases mobileBridge.androidReleasesBucketName pages/cloud-mobile-bridge.html
pages Command center Pages dashboard nyra-command-center-dashboard Found nyra-command-center-dashboard cloudPages.projectName pages/cloud.html
workers Command center Worker nyra-command-center-api Found https://command-api.porterlabz.com cloudSync.apiUrl pages/cloud.html
workers Billing Worker nyra-billing-api Found https://billing.porterlabz.com billingCloud.workerUrl pages/cloud-billing.html
workers Mobile bridge Worker nyra-mobile-bridge-api Found https://bridge.porterlabz.com mobileBridge.workerUrl pages/cloud-mobile-bridge.html

Action Queue

PhasePriorityOwnerStatusActionWhat To DoCommandPageField
4. Host Dashboard P0 User + Codex Waiting on Pages custom domain Map and protect command-center domain Add command.porterlabz.com as a custom domain on the nyra-command-center-dashboard Pages project, verify DNS/SSL, and apply the selected private access policy before publishing current business records. npx wrangler pages project list --json pages/cloud.html cloudMigration.dashboardDomain
4. Verify P1 Codex Open Refresh Cloudflare discovery Rerun discovery after any Cloudflare dashboard or Wrangler resource change so the command center stays current. npm run cloudflare:discover pages/cloudflare-discovery.html cloudMigration.notes

Command Failures

CommandFailure
No Wrangler read-command failures recorded.

No-Secret Rule

Cloudflare API tokens, Worker bearer tokens, recovery codes, Stripe secrets, private keys, and password material must stay in Wrangler secrets, Cloudflare dashboard secret stores, browser localStorage, or a temporary shell only. This discovery pack stores non-secret resource names/IDs and redacted account context only.

Report artifact: CLOUDFLARE_HANDOFF_DISCOVERY.md

NyrA Cloudflare Handoff Discovery

Generated: 2026-07-18T13:46:37.895Z

Status: Cloudflare Dashboard Hosting Incomplete

This pack lets the dashboard and daily agents check the current Cloudflare account context without creating resources, deploying Workers, or storing secrets. It only runs non-destructive Wrangler read commands.

Wrangler

Target Matches

Suggested Dashboard Updates

Action Queue

Command Failures

Hosted Dashboard

Secret Rule

Cloudflare API tokens, Worker bearer tokens, recovery codes, Stripe secrets, private keys, and password material must stay in Wrangler secrets, Cloudflare dashboard secret stores, browser localStorage, or a temporary shell only. This discovery pack stores non-secret resource names/IDs and redacted account context only.

Discovery JSON

{
  "schemaVersion": 1,
  "checkedAt": "2026-07-18T13:46:37.895Z",
  "status": "CLOUDFLARE_DISCOVERY_HOSTING_INCOMPLETE",
  "label": "Cloudflare Dashboard Hosting Incomplete",
  "wrangler": {
    "available": true,
    "version": "4.110.0",
    "source": "npx-fallback",
    "pinnedVersion": "^4.110.0",
    "installCommand": "npm install --save-dev wrangler@^4.110.0"
  },
  "authentication": {
    "status": "AUTHENTICATED",
    "userEmail": "po***@***.com",
    "accountCount": 1,
    "accounts": [
      {
        "index": 1,
        "name": "Porter4040@gmail.com's Account",
        "id": "redacted-390a"
      }
    ],
    "apiTokenPresent": false,
    "automationCredential": "CLOUDFLARE_API_TOKEN",
    "automationAuthRequired": false
  },
  "counts": {
    "targetCount": 9,
    "targetMatches": 9,
    "suggestedDashboardUpdates": 0,
    "commandFailures": 0,
    "commandsRun": 8,
    "d1Observed": 4,
    "r2Observed": 3,
    "pagesObserved": 1,
    "workerDeploymentsObserved": 23,
    "dashboardDomainMapped": false
  },
  "commands": [
    {
      "command": "wrangler --version",
      "ok": true
    },
    {
      "command": "wrangler whoami --json",
      "ok": true
    },
    {
      "command": "wrangler d1 list --json",
      "ok": true
    },
    {
      "command": "wrangler pages project list --json",
      "ok": true
    },
    {
      "command": "wrangler r2 bucket list",
      "ok": true
    },
    {
      "command": "wrangler deployments list --name nyra-command-center-api-production --json",
      "ok": true
    },
    {
      "command": "wrangler deployments list --name nyra-billing-api-production --json",
      "ok": true
    },
    {
      "command": "wrangler deployments list --name nyra-mobile-bridge-api-production --json",
      "ok": true
    }
  ],
  "commandFailures": [],
  "targets": {
    "d1": [
      {
        "kind": "d1",
        "label": "Command center D1",
        "name": "nyra_command_center",
        "found": true,
        "statePath": "cloudMigration.d1DatabaseId",
        "dashboardPage": "pages/cloud.html",
        "dashboardField": "cloudMigration.d1DatabaseId",
        "value": "586ddfd8-a4f4-4f38-a5b6-1e70a3f5ed23",
        "detail": "Found in current Wrangler account.",
        "discovered": {
          "name": "nyra_command_center",
          "databaseId": "586ddfd8-a4f4-4f38-a5b6-1e70a3f5ed23",
          "createdAt": "2026-06-17T23:23:19.451Z"
        }
      },
      {
        "kind": "d1",
        "label": "Billing D1",
        "name": "nyra_billing",
        "found": true,
        "statePath": "billingCloud.d1DatabaseId",
        "dashboardPage": "pages/cloud-billing.html",
        "dashboardField": "billingCloud.d1DatabaseId",
        "value": "148a0520-51bb-4f31-895b-02a99efd31b4",
        "detail": "Found in current Wrangler account.",
        "discovered": {
          "name": "nyra_billing",
          "databaseId": "148a0520-51bb-4f31-895b-02a99efd31b4",
          "createdAt": "2026-06-17T23:23:27.207Z"
        }
      }
    ],
    "r2": [
      {
        "kind": "r2",
        "label": "Command center uploads R2",
        "name": "nyra-command-center-uploads",
        "found": true,
        "statePath": "cloudMigration.r2Bucket",
        "dashboardPage": "pages/cloud.html",
        "dashboardField": "cloudMigration.r2Bucket",
        "value": "nyra-command-center-uploads",
        "detail": "Found in current Wrangler account.",
        "discovered": {
          "name": "nyra-command-center-uploads"
        }
      },
      {
        "kind": "r2",
        "label": "Mobile support logs R2",
        "name": "nyra-mobile-support-logs",
        "found": true,
        "statePath": "mobileBridge.r2BucketName",
        "dashboardPage": "pages/cloud-mobile-bridge.html",
        "dashboardField": "mobileBridge.r2BucketName",
        "value": "nyra-mobile-support-logs",
        "detail": "Found in current Wrangler account.",
        "discovered": {
          "name": "nyra-mobile-support-logs"
        }
      },
      {
        "kind": "r2",
        "label": "Android releases R2",
        "name": "nyra-android-releases",
        "found": true,
        "statePath": "mobileBridge.androidReleasesBucketName",
        "dashboardPage": "pages/cloud-mobile-bridge.html",
        "dashboardField": "mobileBridge.androidReleasesBucketName",
        "value": "nyra-android-releases",
        "detail": "Found in current Wrangler account.",
        "discovered": {
          "name": "nyra-android-releases"
        }
      }
    ],
    "pages": [
      {
        "kind": "pages",
        "label": "Command center Pages dashboard",
        "name": "nyra-command-center-dashboard",
        "found": true,
        "statePath": "cloudPages.projectName",
        "dashboardPage": "pages/cloud.html",
        "dashboardField": "cloudPages.projectName",
        "value": "nyra-command-center-dashboard",
        "detail": "Found in current Wrangler account.",
        "discovered": {
          "name": "nyra-command-center-dashboard",
          "subdomain": "nyra-command-center-dashboard.pages.dev",
          "domains": [
            "nyra-command-center-dashboard.pages.dev"
          ],
          "createdAt": "7 minutes ago"
        }
      }
    ],
    "workers": [
      {
        "kind": "workers",
        "label": "Command center Worker",
        "name": "nyra-command-center-api",
        "found": true,
        "statePath": "cloudSync.apiUrl",
        "dashboardPage": "pages/cloud.html",
        "dashboardField": "cloudSync.apiUrl",
        "value": "https://command-api.porterlabz.com",
        "detail": "Found in current Wrangler account.",
        "discovered": {
          "workerName": "nyra-command-center-api",
          "id": "redacted-9de7",
          "url": "https://command-api.porterlabz.com",
          "createdAt": "2026-06-17T23:38:20.346387Z"
        }
      },
      {
        "kind": "workers",
        "label": "Billing Worker",
        "name": "nyra-billing-api",
        "found": true,
        "statePath": "billingCloud.workerUrl",
        "dashboardPage": "pages/cloud-billing.html",
        "dashboardField": "billingCloud.workerUrl",
        "value": "https://billing.porterlabz.com",
        "detail": "Found in current Wrangler account.",
        "discovered": {
          "workerName": "nyra-billing-api",
          "id": "redacted-5452",
          "url": "https://billing.porterlabz.com",
          "createdAt": "2026-07-15T01:03:29.656234Z"
        }
      },
      {
        "kind": "workers",
        "label": "Mobile bridge Worker",
        "name": "nyra-mobile-bridge-api",
        "found": true,
        "statePath": "mobileBridge.workerUrl",
        "dashboardPage": "pages/cloud-mobile-bridge.html",
        "dashboardField": "mobileBridge.workerUrl",
        "value": "https://bridge.porterlabz.com",
        "detail": "Found in current Wrangler account.",
        "discovered": {
          "workerName": "nyra-mobile-bridge-api",
          "id": "redacted-c253",
          "url": "https://bridge.porterlabz.com",
          "createdAt": "2026-07-15T11:49:37.41388Z"
        }
      }
    ]
  },
  "suggestedDashboardUpdates": [],
  "actions": [
    {
      "id": "map-command-center-domain",
      "phase": "4. Host Dashboard",
      "priority": "P0",
      "owner": "User + Codex",
      "status": "Waiting on Pages custom domain",
      "label": "Map and protect command-center domain",
      "action": "Add command.porterlabz.com as a custom domain on the nyra-command-center-dashboard Pages project, verify DNS/SSL, and apply the selected private access policy before publishing current business records.",
      "command": "npx wrangler pages project list --json",
      "dashboardPage": "pages/cloud.html",
      "dashboardField": "cloudMigration.dashboardDomain",
      "noGoRule": "Do not describe the private command center as hosted at the custom domain until Wrangler discovery lists that exact domain and access protection is verified."
    },
    {
      "id": "rerun-discovery",
      "phase": "4. Verify",
      "priority": "P1",
      "owner": "Codex",
      "status": "Open",
      "label": "Refresh Cloudflare discovery",
      "action": "Rerun discovery after any Cloudflare dashboard or Wrangler resource change so the command center stays current.",
      "command": "npm run cloudflare:discover",
      "dashboardPage": "pages/cloudflare-discovery.html",
      "dashboardField": "cloudMigration.notes",
      "noGoRule": "Cloudflare API tokens, Worker bearer tokens, recovery codes, Stripe secrets, private keys, and password material must stay in Wrangler secrets, Cloudflare dashboard secret stores, browser localStorage, or a temporary shell only. This discovery pack stores non-secret resource names/IDs and redacted account context only."
    }
  ],
  "outputs": {
    "json": "docs/launch_command_center/cloudflare-handoff-discovery.json",
    "csv": "docs/launch_command_center/cloudflare-handoff-discovery.csv",
    "report": "docs/launch_command_center/CLOUDFLARE_HANDOFF_DISCOVERY.md",
    "dashboard": "docs/launch_command_center/pages/cloudflare-discovery.html"
  },
  "noSecretRule": "Cloudflare API tokens, Worker bearer tokens, recovery codes, Stripe secrets, private keys, and password material must stay in Wrangler secrets, Cloudflare dashboard secret stores, browser localStorage, or a temporary shell only. This discovery pack stores non-secret resource names/IDs and redacted account context only.",
  "hostedDashboard": {
    "projectName": "nyra-command-center-dashboard",
    "projectFound": true,
    "expectedDomain": "command.porterlabz.com",
    "expectedUrl": "https://command.porterlabz.com",
    "discoveredDomains": [
      "nyra-command-center-dashboard.pages.dev"
    ],
    "domainMapped": false,
    "lastModified": "7 minutes ago",
    "accessDecision": "Cloudflare Access + private bearer token"
  }
}