Cloudflare Pages Functions
API proxy endpoints for cloud-instances-api Worker.
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /api/health |
Health check |
| GET | /api/instances |
Query VM instances with filters |
| POST | /api/recommend |
Tech stack recommendations |
Configuration
Environment Variables
Set in Cloudflare Pages dashboard or via CLI:
wrangler pages secret put WORKER_API_KEY
Required Secrets:
WORKER_API_KEY- API key for Worker authentication
Configured Variables (wrangler.toml):
WORKER_API_URL- Worker API base URL
Local Development
- Install dependencies:
npm install
- Create
.envfile:
WORKER_API_KEY=your-api-key-here
- Run local dev server:
npx wrangler pages dev . --port 8788
Deployment
wrangler pages deploy . --project-name anvil-hosting
CORS Configuration
All endpoints allow requests from:
- Origin:
https://hosting.inouter.com - Methods:
GET, POST, OPTIONS - Headers:
Content-Type
Architecture
Client Request
↓
/api/{endpoint} (Pages Function)
↓
functions/_shared/proxy.ts (CORS + Auth)
↓
cloud-instances-api.kappa-d8e.workers.dev (Worker)
↓
Response with CORS headers
Error Handling
All errors return JSON with CORS headers:
{
"success": false,
"error": "Error message",
"details": "Optional error details"
}
Status codes:
400- Invalid request500- Internal error503- Worker API unavailable