diff --git a/docs/MASTER.md b/docs/MASTER.md new file mode 100644 index 0000000..65c7719 --- /dev/null +++ b/docs/MASTER.md @@ -0,0 +1,464 @@ +# Aura Agentic AI Cloud — MASTER.md +> Single source of truth for the entire infrastructure. +> **Last updated:** 2026-05-02 | **VPS:** root@195.35.7.154 +> ⚠ Credentials are referenced by location only — never pasted here. + +--- + +## 1. VPS + +| Field | Value | +|-------|-------| +| Provider | Hostinger KVM 2 | +| Hostname | srv1540635.hstgr.cloud | +| IP | 195.35.7.154 | +| OS | Ubuntu 24.04.4 LTS | +| Kernel | 6.8.0-110-generic x86-64 | +| CPU | 2× vCPU (AMD EPYC, KVM) | +| RAM | 7.8 GB (4.2 GB used) | +| Disk | 96 GB SSD (36 GB used · 61 GB free · 38%) | +| Swap | 4 GB (256 KB used) | +| SSH Key | C:\Users\Masud\.ssh\id_ed25519 | + +--- + +## 2. Live Services & URLs + +### Coolify Services + +| UUID | Service | URL | Status | +|------|---------|-----|--------| +| `dhcia3tgcvwmwwvexznjw9gr` | OpenClaw (Primary Agent) | https://agent.auraajenticai.cloud | ✅ Healthy | +| `m10jif2sbykx4hd33qf97hc6` | OpenClaw (Secondary / App) | https://app.auraajenticai.cloud | ✅ Healthy | +| `j9pqq74tuik1oqd5runx5ncb` | n8n + PostgreSQL + Task Runners | https://n8n.auraajenticai.cloud | ✅ Healthy | +| `oqwgsn2lcv3hsk13c6ayj8du` | Gitea + PostgreSQL | https://git.auraajenticai.cloud | ✅ Healthy | + +### Coolify Applications + +| UUID | App | URL | Commit | Status | +|------|-----|-----|--------|--------| +| `q2kkhvkrpdm6ukj20gv69tuk` | Public Site | https://auraajenticai.cloud | a2a11b4 | ⚠ Pending pull (demo URLs commit not yet applied via Coolify) | +| `g5ehpyu7i1azk7f1sv1bhctz` | Central Auth | https://auth.auraajenticai.cloud | 923435bf | ✅ Up | +| `m43q7n7vlttrzyxy5v2hkaig` | API Gateway | https://api.auraajenticai.cloud | 8c2045a7 | ✅ Up | +| `rdqk1mqe0k8fifs64d7jrzfi` | Client Portal | https://client.auraajenticai.cloud | 03a90610 | ✅ Up | +| `j8xnv56xhx6wiaeal2bfiktm` | Billing | https://billing.auraajenticai.cloud | fd9aa384 | ✅ Up | +| `zu9kxa9iung19q003ybvcdj3` | Owner Dashboard | https://aura.auraajenticai.cloud | 2b652dba | ✅ Up | +| `m6fnc3kfy72tf77anuv4o2f4` | [Internal — UUID subdomain] | https://m6fnc3kfy72tf77anuv4o2f4.auraajenticai.cloud | 3df7af00 | ✅ Up | +| `rul16lgnv650ic5kv5wgd51h` | [Staging — no FQDN] | — | 03a90610 | — | +| `y22x4z5sxh3854tbmiv98s2j` | [Staging — no FQDN] | — | 03a90610 | — | +| `z24up798jcmaf4biwshx2kv5` | [Staging — no FQDN] | — | — | — | + +### Coolify System + +| Service | URL | +|---------|-----| +| Coolify Dashboard | https://coolify.auraajenticai.cloud (port 8000 local) | +| Traefik Dashboard | http://195.35.7.154:8080/dashboard/ ⚠ publicly accessible | +| Coolify Version | 4.0.0-beta.473 (Laravel 12.55.1) | +| Traefik Version | v3.6 | + +--- + +## 3. Complete Tech Stack + +### Infrastructure +- **Reverse Proxy:** Traefik v3.6 (HTTP :80 → HTTPS :443, Let's Encrypt cert resolver) +- **Orchestration:** Coolify 4.0.0-beta.473 (self-hosted) +- **Git:** Gitea v1.26.0 (SSH :22222, HTTP git.auraajenticai.cloud) +- **Containers:** Docker + Docker Compose +- **OS:** Ubuntu 24.04.4 LTS + +### AI / Agents +- **Agent Runtime:** OpenClaw v2026.2.6 +- **Primary Model:** `openrouter/anthropic/claude-sonnet-4.5` +- **AI Provider:** OpenRouter (key in Coolify .env) +- **Additional Providers:** Google Gemini (GEMINI_API_KEY set), Groq (GROQ_API_KEY set) +- **Channels:** Telegram (@tradingbanglaajentic_bot — long-polling) +- **Agent Tools:** read, edit, write, exec, browser, canvas, nodes, cron, message, sessions, web_search, memory + +### Automation +- **n8n:** v2.10.2 + Task Runners 2.10.2 +- **Webhooks:** https://n8n.auraajenticai.cloud/webhook/* + +### Frontend +- **Public Site:** React 18 + Babel Standalone (CDN, no build step) +- **Dashboard/Apps:** SvelteKit 2 + Svelte 5 runes + Tailwind CSS + Vite +- **Fonts:** Geist, Geist Mono, Instrument Serif (Google Fonts) + +### Backend +- **Auth Service:** Hono + Drizzle ORM + JWT + bcrypt (SvelteKit adapter-node) +- **API:** Node.js / Hono +- **Language:** TypeScript throughout + +### Databases + +| DB | Container | Engine | Database Name | Network IP | +|----|-----------|--------|---------------|------------| +| Auth/Main | `ernix50nvuq9ur9jy8na8tgr` | Supabase Postgres 17.4 | `aura_auth` | 10.0.1.7:5432 | +| n8n | `postgresql-j9pqq74tuik1oqd5runx5ncb` | Postgres 16-alpine | `n8n` | internal | +| Gitea | `postgresql-oqwgsn2lcv3hsk13c6ayj8du` | Postgres 16-alpine | `gitea` | internal | +| Coolify | `coolify-db` | Postgres 15-alpine | `coolify` | internal | +| Document | `b3bhfd7bocb4pm36uv36rebq` | MongoDB 7 | *(various)* | :27017 | +| Cache | `coolify-redis` | Redis 7-alpine | — | internal | + +### aura_auth DB Schema +Tables: `users`, `sessions`, `api_keys`, `audit_logs`, `clients`, `projects`, `skills`, `invoices` + +--- + +## 4. OpenClaw Configuration (Primary — `dhcia3tgcvwmwwvexznjw9gr`) + +``` +AI Provider: OpenRouter +Primary Model: openrouter/anthropic/claude-sonnet-4.5 +Secondary Model: anthropic/claude-3.5-haiku (env var, secondary/fast not in schema) +Fast Model: anthropic/claude-3-haiku (env var) +Gateway: ws://127.0.0.1:18789 (loopback, behind nginx on :8080) +Auth mode: token (OPENCLAW_GATEWAY_TOKEN) +nginx auth: SERVICE_USER_OPENCLAW / SERVICE_PASSWORD_OPENCLAW +``` + +### Telegram Channel +``` +Bot username: @tradingbanglaajentic_bot +Bot ID: 8736690733 +Mode: long-polling (no webhook URL set) +Status: enabled, configured, running +Channel name: default +Token env: TELEGRAM_BOT_TOKEN (in Coolify service .env) +``` +> To test: send any message to @tradingbanglaajentic_bot on Telegram. +> OpenClaw routes it to the main agent session → claude-sonnet-4.5 → reply back. + +### Workspace Files +Located at: `/var/lib/docker/volumes/dhcia3tgcvwmwwvexznjw9gr_openclaw-data/_data/workspace/` + +| File | Purpose | +|------|---------| +| AGENTS.md | Agent routing rules and capabilities | +| BOOTSTRAP.md | Startup context injected every session | +| HEARTBEAT.md | Scheduled check-in instructions | +| IDENTITY.md | Agent persona and identity rules | +| SOUL.md | Core values and behavioral constraints | +| TOOLS.md | Available tool descriptions | +| USER.md | User (Khondokar) profile and preferences | + +--- + +## 5. n8n Workflows + +URL: https://n8n.auraajenticai.cloud +Contact webhook: `POST https://n8n.auraajenticai.cloud/webhook/contact` + +| Workflow ID | Name | +|-------------|------| +| `j2JZuCcx38n6hFUa` | skill-code-review | +| `ICKS1V8j0rfFRCAM` | skill-analyze | +| `tza1cNW0fCZhMd63` | skill-draft-email | +| `1FtaniVPKRBKNDwX` | invoice-overdue-checker | +| `MeuMN9zV0m2SlPeV` | skill-summarize | +| `l2CkZKPgnSyt3Nvt` | Generate AI viral videos (NanoBanana + VEO3 → Blotato) | +| `zLqHh5sJ6rT7lyGU` | new-client-deployment | +| `sX0KPnr4c0Zh138d` | contact-form | +| `8kjRU6YNvtJpcpTD` | client-onboarding | +| `m4AB1XlfpvgmNmLF` | api-usage-weekly-report | + +--- + +## 6. Gitea Repositories + +Host: https://git.auraajenticai.cloud +User: `khondokar` +Token location: `C:\Users\Masud\.claude\projects\C--Users-Masud-aura\memory\project_aura_infrastructure.md` + +| Repo | URL | Last Updated | +|------|-----|-------------| +| khondokar/auraajenticai-main | git.auraajenticai.cloud/khondokar/auraajenticai-main | 2026-04-27 | + +### GitHub Mirrors (github.com/khondokartowsif171) + +| Repo | GitHub URL | Notes | +|------|-----------|-------| +| auraajenticai-main | github.com/khondokartowsif171/auraajenticai-main | Main site — latest commit a2a11b4 (demo URLs) | +| demo-autostudio-ecomercewebsite | github.com/khondokartowsif171/demo-autostudio-ecomercewebsite | Vite/React ecommerce | +| demo-agenticai-website | github.com/khondokartowsif171/demo-agenticai-website | Static HTML portfolio | +| demo-cryptotradeanalysis-website | github.com/khondokartowsif171/demo-cryptotradeanalysis-website | React crypto dashboard | +| demo-ea-dashboard | github.com/khondokartowsif171/demo-ea-dashboard | Static HTML XAUUSD analyzer | +| demo-portfolio-website | github.com/khondokartowsif171/demo-portfolio-website | Vite/React portfolio | + +--- + +## 7. Important File Paths + +### On VPS (root@195.35.7.154) + +``` +/docs/MASTER.md ← this file + +# Coolify data root +/data/coolify/applications/{uuid}/ ← per-app: .env + docker-compose.yaml +/data/coolify/services/{uuid}/ ← per-service: .env + docker-compose.yaml +/data/coolify/proxy/ ← Traefik dynamic config +/data/coolify/ssh/ ← SSH keys for deployments + +# OpenClaw Primary (dhcia3tgcvwmwwvexznjw9gr) +/var/lib/docker/volumes/dhcia3tgcvwmwwvexznjw9gr_openclaw-data/_data/ + .openclaw/openclaw.json ← main config (auto-managed by entrypoint) + .openclaw/openclaw.json.bak ← backup (up to 4 kept) + .openclaw/credentials/ ← API keys/tokens (never edit directly) + .openclaw/agents/main/sessions/sessions.json ← conversation history + workspace/ ← agent workspace (AGENTS.md, SOUL.md, etc.) + +# Service .env files (credentials) +/data/coolify/services/dhcia3tgcvwmwwvexznjw9gr/.env ← OpenClaw primary +/data/coolify/services/m10jif2sbykx4hd33qf97hc6/.env ← OpenClaw secondary +/data/coolify/services/j9pqq74tuik1oqd5runx5ncb/.env ← n8n + DB +/data/coolify/services/oqwgsn2lcv3hsk13c6ayj8du/.env ← Gitea +/data/coolify/applications/{uuid}/.env ← per-app credentials +``` + +### On Local (Windows — C:\Users\Masud\) + +``` +.ssh/id_ed25519 ← VPS SSH private key + +.claude/settings.json ← MCP servers + API keys +.claude/projects/C--Users-Masud-aura/ + memory/MEMORY.md ← Memory index + memory/project_aura_infrastructure.md ← Infra notes (has tokens) + memory/user_khondokar.md ← Founder profile + +aura/ + auraajenticai-main/ ← Public site source (git) + src/data.jsx ← All content + brand data + src/nav.jsx ← Navigation + lang toggle + src/hero.jsx ← Hero section + src/app.jsx ← Root app + lang state + src/projects.jsx ← Services grid (6 cards) + src/timeline-contact.jsx ← Timeline, contact form, footer + src/agent-showcase.jsx ← Agent demo terminal + index.html ← Entry point + CSS vars + Dockerfile ← nginx:1.27-alpine + nginx.conf ← JSX MIME fix + gzip + SPA + + aura-dashboard/ ← Owner Dashboard (SvelteKit 2) + n8n-mcp/index.js ← Custom n8n MCP server +``` + +--- + +## 8. Credentials Locations (NOT values) + +| Credential | Location | +|-----------|---------| +| VPS root password | Hostinger dashboard (hostinger.com) | +| SSH private key | C:\Users\Masud\.ssh\id_ed25519 | +| Coolify API token | memory/project_aura_infrastructure.md | +| Gitea token (khondokar) | memory/project_aura_infrastructure.md | +| OpenRouter API key | /data/coolify/services/dhcia3tgcvwmwwvexznjw9gr/.env → OPENROUTER_API_KEY | +| Telegram bot token | /data/coolify/services/dhcia3tgcvwmwwvexznjw9gr/.env → TELEGRAM_BOT_TOKEN | +| OpenClaw gateway token | /data/coolify/services/dhcia3tgcvwmwwvexznjw9gr/.env → SERVICE_PASSWORD_64_GATEWAYTOKEN | +| OpenClaw nginx auth | /data/coolify/services/dhcia3tgcvwmwwvexznjw9gr/.env → SERVICE_USER/PASSWORD_OPENCLAW | +| Gemini API key | /data/coolify/services/dhcia3tgcvwmwwvexznjw9gr/.env → GEMINI_API_KEY | +| Groq API key | /data/coolify/services/dhcia3tgcvwmwwvexznjw9gr/.env → GROQ_API_KEY | +| n8n admin credentials | /data/coolify/services/j9pqq74tuik1oqd5runx5ncb/.env | +| Cloudflare token (n8n) | /data/coolify/services/j9pqq74tuik1oqd5runx5ncb/.env → CLOUDFLARE_TOKEN | +| Cloudflare Zone ID | /data/coolify/services/j9pqq74tuik1oqd5runx5ncb/.env → CLOUDFLARE_ZONE_ID | +| Supabase DB password | /data/coolify/databases/ernix50nvuq9ur9jy8na8tgr/ or service .env | +| MongoDB auth | /data/coolify/databases/b3bhfd7bocb4pm36uv36rebq/ | +| JWT secret (shared) | application UUID g5ehpyu7... .env | +| aura_auth DB password | application UUIDs (dashboard apps) .env → DATABASE_URL | +| Claude Code API key | C:\Users\Masud\.claude\settings.json | +| n8n MCP API key | C:\Users\Masud\.claude\settings.json | + +--- + +## 9. MCP Tools Status + +Configured in: `C:\Users\Masud\.claude\settings.json` + +| MCP Server | Status | Key Tools | +|-----------|--------|-----------| +| **Coolify** (`04a4937c-...`) | ✅ Connected | d1_database_*, kv_namespace_*, r2_bucket_*, workers_* | +| **Gitea** | ✅ Connected | issue_*, pull_request_*, repo_*, user_* | +| **n8n** (local node server) | ✅ Connected | list_workflows, execute_workflow, set_workflow_active | +| **Google Calendar** (`c00adf3f-...`) | ✅ Connected | list_events, create_event, update_event | +| **Gmail** (`0525003c-...`) | ✅ Connected | search_threads, get_thread, create_draft | +| **Google Drive** (`d51cbec6-...`) | ✅ Connected | read_file_content, search_files, create_file | +| **Vercel** (`39a5e89f-...`) | ✅ Connected | list_projects, list_deployments, get_runtime_logs | +| **Claude Preview** | ✅ Available | preview_start, preview_screenshot, preview_eval | +| **Computer Use** | ✅ Available | screenshot, left_click, type, key, scroll | +| **Claude-in-Chrome** | ✅ Available | navigate, find, read_page, javascript_tool | + +--- + +## 10. Phase Completion Status + +| Phase | Description | Status | Completed | +|-------|-------------|--------|-----------| +| **0** | VPS audit, health report, swap configured, baseline | ✅ Complete | 2026-04-26 | +| **1** | Central Auth Service (SvelteKit + Hono + Drizzle + JWT + bcrypt) | ✅ Complete | 2026-04-26 | +| **2** | Owner Dashboard upgrade (sidebar nav, auth gate, Clients CRUD, Brain Console) | ✅ Complete | 2026-04-27 | +| **3** | Public site (auraajenticai.cloud) — bilingual EN/BN, 6 services, n8n contact form | ✅ Complete | 2026-04-27 | +| **4** | OpenClaw AI Agent — OpenRouter + claude-sonnet-4.5 + model ID fix | ✅ Complete | 2026-04-30 | +| **5** | Telegram integration — @tradingbanglaajentic_bot wired to OpenClaw agent | ✅ Complete | 2026-05-01 | +| **6** | Client portal (client.auraajenticai.cloud) | ✅ Deployed | — | +| **7** | API gateway (api.auraajenticai.cloud) | ✅ Deployed | — | +| **8** | Billing service (billing.auraajenticai.cloud) | ✅ Deployed | — | +| **9** | n8n automation (10 workflows: skills, contact, onboarding, invoice, AI video) | ✅ Active | — | +| **10** | DB backups, monitoring, Traefik hardening, OpenClaw secondary model config | ⏳ Pending | — | +| **11** | Demo projects — 5 Vercel deployments, GitHub repos, live demo buttons on public site | ✅ Complete | 2026-05-02 | + +--- + +## 11. Pending / Known Gaps + +### High Priority +- [ ] **Phase 10:** Automated DB backups (no crontab yet — data loss risk) +- [ ] **Traefik dashboard** `:8080` is publicly accessible — restrict to VPN/IP allowlist +- [ ] **OpenClaw secondary** (`app.auraajenticai.cloud` — `m10jif2sbykx4hd33qf97hc6`) has no `OPENCLAW_PRIMARY_MODEL` set +- [ ] **ANTHROPIC_API_KEY** not set in Owner Dashboard app (required for Brain Console feature) +- [ ] **Telegram live test** — send `/start` to @tradingbanglaajentic_bot to verify full round-trip +- [ ] **Public site — pull & rebuild** — commit `a2a11b4` (demo URLs) is on GitHub but NOT yet pulled into VPS/Coolify. Run from Hostinger console (see §13) +- [ ] **Cloudflare DNS** — `auraajenticai.cloud` A record still points to VPS (195.35.7.154). Vercel domain added (`auraajenticai-main` project) but DNS not yet switched. Need `A → 76.76.21.21` + `www CNAME → cname.vercel-dns.com`. Cloudflare token at `/data/coolify/services/j9pqq74tuik1oqd5runx5ncb/.env → CLOUDFLARE_TOKEN` + +### Medium Priority +- [ ] Set up disk/memory monitoring (no alerting configured) +- [ ] Configure Traefik rate limiting on API gateway +- [ ] Gitea webhook → Coolify auto-deploy (currently triggered manually) +- [ ] n8n workflow active/inactive status audit (10 workflows, status not confirmed per-item) +- [ ] MongoDB — confirm root credentials and access restriction + +### Low Priority +- [ ] `www.auraajenticai.cloud` CNAME redirect to apex +- [ ] Log retention policy for OpenClaw gateway logs (`/tmp/openclaw/`) +- [ ] Document aura_auth DB migration history +- [ ] Add `app.auraajenticai.cloud` source repo to Gitea + +--- + +## 12. Auth Service Details + +``` +URL: https://auth.auraajenticai.cloud +Container UUID: g5ehpyu7i1azk7f1sv1bhctz +Container IP: 10.0.1.12 +Framework: SvelteKit + Hono + Drizzle + JWT + bcrypt +DB: Supabase Postgres 17.4 @ 10.0.1.7:5432/aura_auth +Cookies: + aura_access → 15-min JWT + aura_refresh → 7-day (path /api/auth/refresh) +Cookie domain: .auraajenticai.cloud +Login URL: https://auth.auraajenticai.cloud/login?next= +``` + +--- + +## 13. Quick Reference Commands + +```bash +# SSH to VPS +ssh root@195.35.7.154 + +# All containers + status +docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Image}}' + +# OpenClaw — live logs (primary) +docker logs openclaw-dhcia3tgcvwmwwvexznjw9gr --tail=30 -f + +# OpenClaw — test agent +docker exec openclaw-dhcia3tgcvwmwwvexznjw9gr \ + openclaw agent --message "ping" --session-id main --json + +# OpenClaw — Telegram channel status +docker exec openclaw-dhcia3tgcvwmwwvexznjw9gr openclaw channels status + +# OpenClaw — restart with updated env +cd /data/coolify/services/dhcia3tgcvwmwwvexznjw9gr +docker compose up openclaw --force-recreate -d + +# n8n — list workflows +docker exec n8n-j9pqq74tuik1oqd5runx5ncb n8n list:workflow + +# Disk usage +df -h / && du -sh /var/lib/docker/volumes/*openclaw* /data/coolify/ + +# Check all service domains +for d in /data/coolify/services/*/; do + uuid=$(basename $d) + fqdn=$(grep SERVICE_FQDN= $d/.env 2>/dev/null | cut -d= -f2) + echo "$uuid: $fqdn" +done +``` + +--- + +--- + +## 14. Vercel Deployments (2026-05-02) + +Team: `khondokartowsif171s-projects` (`team_9DzpWOXgLFfZkFhpYL0QoKAO`) + +| Project | Live URL | GitHub Repo | Notes | +|---------|----------|-------------|-------| +| auraajenticai-main | https://auraajenticai-main.vercel.app | khondokartowsif171/auraajenticai-main | Main site — domain `auraajenticai.cloud` added to project, DNS not yet switched | +| demo-autostudio-ecomercewebsite | https://demo-autostudio-ecomercewebsite.vercel.app | khondokartowsif171/demo-autostudio-ecomercewebsite | Linked to service card: Website & Webapp Dev | +| demo-agenticai-website | https://demo-agenticai-website.vercel.app | khondokartowsif171/demo-agenticai-website | Linked to: AI Agent & Automation | +| demo-cryptotradeanalysis-website | https://demo-cryptotradeanalysis-website.vercel.app | khondokartowsif171/demo-cryptotradeanalysis-website | Linked to: Web3 & Blockchain | +| ea-dashboard | https://ea-dashboard-blush.vercel.app | khondokartowsif171/demo-ea-dashboard | Linked to: MT5 EA & Trading | +| portfolio-website | https://portfolio-website-tan-six-24.vercel.app | khondokartowsif171/demo-portfolio-website | Linked to: Scraping & Data Pipeline | + +### Demo URL → Service Card Mapping (`src/data.jsx`) +``` +web-app-dev → https://demo-autostudio-ecomercewebsite.vercel.app +ai-agent-automation → https://demo-agenticai-website.vercel.app +web3-blockchain → https://demo-cryptotradeanalysis-website.vercel.app +mt5-ea-trading → https://ea-dashboard-blush.vercel.app +scraping-data-pipeline → https://portfolio-website-tan-six-24.vercel.app +infra-devops → (no demo — button hidden) +``` + +--- + +## 15. VPS Console Commands (run from Hostinger web console) + +Use when SSH from local machine is blocked by network routing issues. + +```bash +# Pull latest main site source from GitHub into Coolify app dir +cd /data/coolify/applications/q2kkhvkrpdm6ukj20gv69tuk +git remote get-url github 2>/dev/null || \ + git remote add github https://github.com/khondokartowsif171/auraajenticai-main.git +git pull github main + +# Also push to Gitea to keep it in sync +git push origin main + +# Trigger Coolify rebuild for the public site +curl -s -X POST http://localhost:8000/api/v1/applications/q2kkhvkrpdm6ukj20gv69tuk/start \ + -H "Authorization: Bearer 6|aura-claude-ceo-2026-secret" + +# Get Cloudflare token + zone ID for DNS update +grep -E "CLOUDFLARE_TOKEN|CLOUDFLARE_ZONE_ID" \ + /data/coolify/services/j9pqq74tuik1oqd5runx5ncb/.env + +# Update Cloudflare DNS: point auraajenticai.cloud to Vercel (76.76.21.21) +# Replace ZONE_ID and TOKEN with values from above +CF_ZONE="ZONE_ID_HERE" +CF_TOKEN="TOKEN_HERE" +# Get existing A record ID +curl -s "https://api.cloudflare.com/client/v4/zones/$CF_ZONE/dns_records?type=A&name=auraajenticai.cloud" \ + -H "Authorization: Bearer $CF_TOKEN" | grep -o '"id":"[^"]*"' | head -1 +# Update it (replace RECORD_ID) +curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$CF_ZONE/dns_records/RECORD_ID" \ + -H "Authorization: Bearer $CF_TOKEN" -H "Content-Type: application/json" \ + -d '{"type":"A","name":"auraajenticai.cloud","content":"76.76.21.21","ttl":1,"proxied":true}' +# Add www CNAME +curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE/dns_records" \ + -H "Authorization: Bearer $CF_TOKEN" -H "Content-Type: application/json" \ + -d '{"type":"CNAME","name":"www","content":"cname.vercel-dns.com","ttl":1,"proxied":false}' +``` + +--- + +*Generated by Claude (Aura AI Brain) on 2026-05-01. Updated 2026-05-02. Update this file after each infrastructure change.*