Architecture
Orquestra uses a modern serverless architecture built on Cloudflare’s edge platform:- Cloudflare Workers - API backend (Hono framework)
- Cloudflare Pages - Frontend application (React + Vite)
- D1 Database - SQLite database for users, projects, and IDL versions
- KV Namespaces - Key-value storage for IDL files and caching
Deployment Methods
Automated Deployment (Recommended)
Push to your repository to trigger automatic deployment via GitHub Actions:mainbranch → Production deploymentdevelopbranch → Development deployment- Pull requests → Run tests and type checking
- Runs linting and type checking
- Executes test suite
- Builds all packages
- Deploys Worker (API backend)
- Deploys Pages (frontend)
- Performs health checks
Manual Deployment
Deploy manually using npm scripts:CI/CD with GitHub Actions
Workflow Configuration
The.github/workflows/ci-cd.yml file defines the deployment pipeline:
Required GitHub Secrets
Configure these secrets in your GitHub repository settings:| Secret | Description |
|---|---|
CLOUDFLARE_API_TOKEN | API token with Workers and Pages permissions |
CLOUDFLARE_ACCOUNT_ID | Your Cloudflare account ID |
Add Token Permissions
Grant permissions:
- Account: Cloudflare Pages (Edit)
- Account: Account Settings (Read)
- Zone: Workers Routes (Edit)
- Account: Workers Scripts (Edit)
Prerequisites
Before deploying, ensure you have:- Cloudflare account with Workers and Pages enabled
- GitHub account with OAuth app configured
- Node.js 18+ or Bun installed
- Wrangler CLI installed:
npm install -g wrangler - Authenticated with Cloudflare:
wrangler login
Deployment Checklist
- D1 database created and configured
- KV namespaces created (IDLS and CACHE)
- GitHub OAuth app created and configured
- Environment variables set in
wrangler.toml - Secrets configured with
wrangler secret put - Database migrations executed
- GitHub Actions secrets configured
- DNS records configured (if using custom domain)
Monitoring Deployments
After deployment, verify everything works:- Cloudflare Dashboard → Workers & Pages
- GitHub Actions → Workflow runs
- Wrangler CLI:
wrangler tail --env production
Next Steps
Cloudflare Setup
Configure Workers, Pages, D1, and KV
Environment Variables
Set up required secrets and configuration
Database Migrations
Initialize and manage your D1 database