# 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: ```bash 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 1. Install dependencies: ```bash npm install ``` 2. Create `.env` file: ```bash WORKER_API_KEY=your-api-key-here ``` 3. Run local dev server: ```bash npx wrangler pages dev . --port 8788 ``` ## Deployment ```bash 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: ```json { "success": false, "error": "Error message", "details": "Optional error details" } ``` Status codes: - `400` - Invalid request - `500` - Internal error - `503` - Worker API unavailable