Documentation

Configuration

Repository setup, parser configuration, and index tuning.

Environment Variables

Core settings are configured via environment variables. These are defined in env/dev.env for development or env/prod.env for production.

VariableRequiredDescription
DATABASE_URLYesPostgreSQL connection string for Auth/Contract DB
REDIS_URLYesRedis connection string for sessions and rate limiting
DVN_SERVICE_KEYYesInternal service-to-service auth token (min 32 chars)
DVN_RE_BEARER_TOKENYesToken for DVN-ReServices access (same as DVN_SERVICE_KEY)
DVN_CONDUCTOR_BEARER_TOKENYesDedicated token for Conductor AI service
DVN_GPU_HOSTNoSet to true on GPU-equipped hosts for MinerU PDF processing
# Minimum required env/dev.env
DATABASE_URL=postgresql://dvn:password@postgres:5432/dvn_auth
REDIS_PASSWORD=<strong-password>
REDIS_URL=redis://:password@redis:6379/0
DVN_SERVICE_KEY=<random-32-chars>

Repository Sources

Each schema can have multiple sources. Supported source types:

TypeConfigurationBest For
GitURL, branch, access token (or SSH key)Active development, CI/CD integration
LocalFilesystem pathOn-premise, static archives
ZIPUpload via UIOne-time analysis, quick evaluation
SharePointOAuth-delegated site/drive accessDocuments already managed in Microsoft 365
WebDAVServer URL, credentialsNetwork shares and on-prem document servers

Parser Configuration

Parsers are auto-selected based on file extension and content analysis. You can override the default parser per file extension in the Schema Manager.

Available parsers include:

  • COBOL Parser — Full procedure division analysis, CALL/COPY/SQL extraction, complexity metrics
  • JCL Parser — Job/step structure, DD statement analysis, PROC expansion, DSN extraction
  • HLASM Parser — Macro expansion, symbol resolution, instruction-level analysis
  • Generic Parser — Token-based for Python, Java, C++, TypeScript, Go, and 30+ other languages

Extension Mapping

On mainframe platforms, file extensions are often missing or unreliable. Codegraphs supports logical extension overrides — you can map any file to any parser without renaming the file on disk.

# Example: Map member "ACCT001" to COBOL parser
Schema → Files → ACCT001 → Set Logical Extension → cbl

This only affects indexing behavior. The original file is never modified.

Index Tuning

SettingDefaultDescription
Exclude patternsGitignore-style patterns for files to skip, via a .noindex file
Max file size10 MBSkip files larger than this threshold
Incremental indexingonOnly re-index changed files on subsequent runs
Comment indexingonComment lines are indexed separately and searchable via the comment: operator