Skip to content

Move cyber-edge into monorepo as domains/cyber/#251

Merged
grahamrowe82 merged 3 commits intomainfrom
feat/cyber-domain
Apr 12, 2026
Merged

Move cyber-edge into monorepo as domains/cyber/#251
grahamrowe82 merged 3 commits intomainfrom
feat/cyber-domain

Conversation

@grahamrowe82
Copy link
Copy Markdown
Owner

Summary

Moves the complete cyber-edge codebase (250K CVEs, 8 data sources, 300K pages) into domains/cyber/ within this repo. Infrastructure code replaced with app.core imports. Combined render.yaml with autoDeploy: false on all services.

  • 93 files: 69 Python + 19 templates + 8 migrations + profile.yaml
  • Infrastructure: DB, settings, budget, rate_limit, errors, auth, keys, embeddings all import from app.core.*
  • Separate DB: domains/cyber/app/db.py points at cyber database, not AI
  • Settings: Subclasses EdgeBaseSettings with cye_ key prefix
  • render.yaml: Combined file — AI web+worker + cyber web+worker + 2 DBs. All autoDeploy: false

Cyber domain

  • 250K CVEs from NVD, CISA KEV, EPSS, MITRE (ATT&CK + CWE + CAPEC), OSV, GHSA, Exploit-DB
  • 6 entity types: CVE, Software, Vendor, Weakness, Technique, AttackPattern
  • 4-dimension scoring: severity, exploitability, exposure, patch availability
  • 10 materialized views, 8 migrations
  • 300K static pages at deploy

Post-merge

  • Repoint cyber Render services to this repo (change GitHub repo in Render dashboard)
  • Archive the standalone cyber-edge repo
  • Manual deploy of cyber services to verify

Test plan

  • 142 AI tests pass (cyber doesn't affect AI)
  • Cyber imports resolve: from domains.cyber.app.models.core import CVE
  • No stale infrastructure imports in domains/cyber/
  • Cyber settings: cye_ prefix, cyber DB URL default
  • Manual deploy of cyber-edge service from this repo
  • Cyber site generates and serves correctly
  • Cyber worker picks up tasks

🤖 Generated with Claude Code

grahamrowe82 and others added 3 commits April 12, 2026 13:12
69 Python files + 19 templates + 8 migrations + profile.yaml moved from
the standalone cyber-edge repo into domains/cyber/.

Infrastructure replaced with app.core imports:
- DB, settings, budget, rate_limit, errors, auth, keys, embeddings,
  MCP tracking all import from app.core.*
- Cyber-specific db.py points at cyber database (separate from AI)
- Settings subclasses EdgeBaseSettings with cye_ key prefix

render.yaml updated (Clarity pattern — one combined file):
- Added cyber-edge-db, cyber-edge web service, cyber-edge-ingest-worker
- autoDeploy: false on all services (AI + cyber)
- DOMAIN env var selects behaviour

Cyber domain: 250K CVEs, 8 data sources (NVD, KEV, EPSS, MITRE ATT&CK,
MITRE CWE, MITRE CAPEC, OSV, GHSA, Exploit-DB), 6 entity types,
300K static pages, 10 materialized views, 8 migrations.

All 142 AI tests pass. Cyber-edge standalone repo to be archived.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Settings reads from domains/cyber/.env (not root .env)
- Added .env.example with all cyber-specific keys
- Gitignore updated: domains/*/.env

Each domain has its own .env next to its code. No shared .env for
database credentials. Matches the Clarity per-client pattern.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Settings reads from domains/ai/.env instead of root .env.
Each domain has its own .env next to its code — no shared root .env
for database credentials. Matches Clarity per-client pattern.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@grahamrowe82 grahamrowe82 merged commit d299efd into main Apr 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant