Configuration

Obsidian’s components are configured through environment variables and flags. This page lists the ones you will commonly set.

Aggregation API (crypto-discovery-api)

Variable / flagPurpose
--listenHTTP bind address.
--dbSQLite database path.
CRYPTO_DISCOVERY_INITIAL_ADMIN_SETUP_TOKEN / --initial-admin-setup-tokenOne-time token to create the first admin. Generated and logged if omitted on an empty database.
CRYPTO_DISCOVERY_SECRET_KEY / --secret-keyBase64 32-byte key encrypting stored secrets such as fine-grained PATs.
CRYPTO_DISCOVERY_PUBLIC_BASE_URL / --public-base-urlPublic web origin used for GitHub App redirects.
--request-timeoutRequest lifetime bound.
--rate-limit-requests / --rate-limit-windowPer-IP request budget and sliding window.

GitHub onboarding

VariablePurpose
CRYPTO_DISCOVERY_GITHUB_APP_IDGitHub App identifier.
CRYPTO_DISCOVERY_GITHUB_APP_SLUGApp slug used to build install links.
CRYPTO_DISCOVERY_GITHUB_APP_PRIVATE_KEY_PATH / …_PEMApp private key, by path or inline PEM.
CRYPTO_DISCOVERY_GITHUB_API_BASE_URLAPI override for GitHub Enterprise Server or tests.
CRYPTO_DISCOVERY_GITHUB_ALLOWED_HOSTSAllowlist for public-repository onboarding (defaults to github.com).

GitHub App onboarding needs the public base URL, app ID, slug, and a private key. Fine-grained PAT onboarding additionally needs CRYPTO_DISCOVERY_SECRET_KEY so tokens are encrypted at rest.

Scanner CLI (crypto-discovery)

VariablePurpose
CRYPTO_DISCOVERY_API_KEYNode-issued credential for protected upload endpoints.

Scan flags are covered in the CLI reference. crypto-discovery init writes node_id, api_key, and upload_url to the user config directory.

Web app

VariablePurpose
CRYPTO_DISCOVERY_API_BASE_URLAbsolute base URL for the backend API.
CRYPTO_DISCOVERY_ORGDefault organization context.
CRYPTO_DISCOVERY_CSRF_SECRETRequired in production; a random secret at least 32 bytes long.
CRYPTO_DISCOVERY_SESSION_COOKIE_NAMEBrowser session cookie name.
CRYPTO_DISCOVERY_SESSION_COOKIE_SECURESet Secure on the session cookie (true behind HTTPS).

Browser mutations flow through session-authenticated proxy routes; the web app needs no shared admin key.

MCP server (crypto-discovery-mcp)

VariablePurpose
CRYPTO_DISCOVERY_MCP_DBSQLite database path.
CRYPTO_DISCOVERY_MCP_ORGDefault organization when tool input omits org_name.
CRYPTO_DISCOVERY_MCP_ALLOWED_ORGSOrganization allowlist — set this for remote deployments.
CRYPTO_DISCOVERY_MCP_BEARER_TOKENRequired bearer token for the HTTP transport.
CRYPTO_DISCOVERY_MCP_LISTENHTTP listen address (default 127.0.0.1:8092).
CRYPTO_DISCOVERY_MCP_ACTOR_EMAILAudit actor email for remote calls (default mcp:remote).

See Connect a coding agent for usage.