Settings › Control plane
MOCK — example dataUpdated just now · mock ●
Integrations
| Source | Credential | Key | Status | Last verified | Scopes | Actions |
|---|---|---|---|---|---|---|
| Cloudflare · account (example) | API token | •••• abcd | connected | 2 min ago | Account Analytics:Read, Workers Scripts:Read, Pages:Read, D1:Read | |
| GitHub | GitHub App | •••• wxyz | connected | 5 min ago | contents, issues, PRs, actions (read) | |
| GIS.PH admin stats API | API key | — | not configured | — | TBD | |
| WebMaps API | API key | — | not configured | — | TBD | |
| Yahaay IT proposals (Proxmox VM) | API key / MCP | — | not configured | — | TBD | |
| Agent run log ingest | Per-agent token (A) | — | not configured | — | write: run events only | |
| Uptime checker (cron) | none (internal) | — | public | 1 min ago | HTTP GET/HEAD on monitored endpoints | |
| Domain expiry lookup (A: RDAP/WHOIS or Cloudflare Registrar API) | none / API token (A) | — | not configured | — | read domain expiry | |
| npm · PyPI · Packagist | none (public) | — | public | 1 min ago | no key needed |
Keys are encrypted at rest (Workers secret / encrypted D1 column) and never shown after saving. Secrets are never stored in fixtures. Only El can open this page (Cloudflare Access). Bots never read raw keys.
Cloudflare accounts & monitored resources
Main account (example) · <account-id placeholder> · secret ref: CF_TOKEN_MAIN (future Worker secret)
| Source | Kind | Target | Feeds | Logs | Every |
|---|---|---|---|---|---|
| Cloudflare | Worker | api-gis-ph | /gisph/services/api-gis-ph | yes | 5 min |
| Cloudflare | Worker | mcp-gis-ph | /gisph/services/mcp-gis-ph | yes | 5 min |
| Cloudflare | Pages | dashboard-gis-ph | /gisph/services/dashboard-gis-ph | no | 15 min |
| Cloudflare | Worker | api-webmaps-app | /webmaps/services/api-webmaps-app | yes | 5 min |
| Cloudflare | Pages | webmaps (A) | /webmaps/services/webmaps-app | no | 15 min |
| Cloudflare | R2 | bucket TBD (A) | /webmaps/services/assets-webmaps-app | no | 1 h |
| Uptime | HTTP | every service health endpoint | health dots | no | 1 min |
| GitHub | Repos | YahaayLabs/* + eLBirador/* tracked repos | GitHub panels | no | webhooks + 15 min sync |
| Domains | Expiry | Settings › Domains list | Home + Settings | no | daily (A) |
Status rules (amber / red)
| Rule | Amber | Red | Unit |
|---|---|---|---|
| Uptime 24h | ≤ 99.5 | ≤ 99 | % |
| Error rate 24h | ≥ 1 | ≥ 5 | % |
| PR awaiting review | ≥ 3 | ≥ 7 | days |
| No activity on issue/PR | ≥ 14 | ≥ 30 | days |
| Agent failures 24h | ≥ 1 | ≥ 3 | runs |
| Domain expiry | ≤ 60 | ≤ 14 | days left |
Edits are stubbed in the mock. Home items, nav dots and domain status all read these rules.
Domains
| Domain | Status | Expires | Days left | Registrar | Auto-renew | Entity |
|---|---|---|---|---|---|---|
| gis.ph | Down | 20XX-01-01 (placeholder) | 10 | registrar TBD | TBD | Spectrum GIS Solutions |
| webmaps.app | Degraded | 20XX-02-01 (placeholder) | 45 | registrar TBD | TBD | Spectrum GIS Solutions |
| spectrumgis.co | Up | 20XX-06-01 (placeholder) | 200 | registrar TBD | TBD | Spectrum GIS Solutions |
| spotlocal.au | Up | 20XX-11-01 (placeholder) | 365 | registrar TBD | TBD | Yahaay IT Consultancy |
| yahaay.com | Up | 20XX-09-01 (placeholder) | 300 | registrar TBD | TBD | Yahaay IT Consultancy |
Placeholder dates. Future (A): daily RDAP/WHOIS or Cloudflare Registrar lookup → D1.