Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
255 changes: 134 additions & 121 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,121 +1,134 @@
# ═══════════════════════════════════════════════════════════
# Environment Configuration
# Copy this file to .env and fill in your values
# ═══════════════════════════════════════════════════════════

# ───────────────────────────────────────────────────────────
# Required: Core URLs
# ───────────────────────────────────────────────────────────

# Application URLs (must be valid URLs)
APP_URL=http://localhost:3000
API_URL=http://localhost:8080
GRAPHQL_URL=http://localhost:8080/graphql

# ───────────────────────────────────────────────────────────
# Required: Authentication
# ───────────────────────────────────────────────────────────

# Session secret (minimum 32 characters)
SESSION_SECRET=your-super-secret-session-key-min-32-chars

# OIDC Authentication
AUTH_OIDC_ISSUER=https://your-oidc-provider.com
AUTH_OIDC_CLIENT_ID=your-client-id

# ───────────────────────────────────────────────────────────
# Required: Feature Services
# ───────────────────────────────────────────────────────────

# Prometheus metrics (for proxy metrics dashboard)
PROMETHEUS_URL=http://localhost:9090

# CloudValid DNS validation (for domain auto-verification)
CLOUDVALID_API_URL=https://api.cloudvalid.com/api/v2
CLOUDVALID_API_KEY=your-cloudvalid-api-key
CLOUDVALID_TEMPLATE_ID=your-cloudvalid-template-id

# ───────────────────────────────────────────────────────────
# Optional: Runtime Configuration
# ───────────────────────────────────────────────────────────

# Environment mode: production | development | test
NODE_ENV=development

# Application version (e.g., git commit SHA)
# VERSION=

# Enable debug mode: true | false
# DEBUG=false

# ───────────────────────────────────────────────────────────
# Optional: Logging
# ───────────────────────────────────────────────────────────

# Log level: debug | info | warn | error
# LOG_LEVEL=debug

# Log format: json | pretty | compact
# LOG_FORMAT=pretty

# Generate curl commands for API calls: true | false
# LOG_CURL=true

# Redact sensitive tokens in logs: true | false
# LOG_REDACT_TOKENS=true

# Log request/response payloads: true | false
# LOG_PAYLOADS=false

# ───────────────────────────────────────────────────────────
# Optional: Observability (graceful degradation when missing)
# ───────────────────────────────────────────────────────────

# Sentry error tracking (must be valid URL if provided)
# SENTRY_DSN=https://xxx@sentry.io/xxx
# SENTRY_ENV=development

# OpenTelemetry tracing (must be valid URL if provided)
# OTEL_ENABLED=false
# OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
# OTEL_EXPORTER_TIMEOUT=10000
# OTEL_LOG_LEVEL=info

# ───────────────────────────────────────────────────────────
# Optional: External Integrations (graceful degradation)
# ───────────────────────────────────────────────────────────

# Grafana (must be valid URL if provided)
# GRAFANA_URL=http://localhost:3001

# ───────────────────────────────────────────────────────────
# Optional: Analytics & Support (graceful degradation)
# ───────────────────────────────────────────────────────────

# Fathom Analytics
# FATHOM_ID=

# HelpScout Beacon
# HELPSCOUT_BEACON_ID=
# HELPSCOUT_SECRET_KEY=

# ───────────────────────────────────────────────────────────
# Optional: Redis (falls back to in-memory rate limiting)
# ───────────────────────────────────────────────────────────

# Redis connection URL (must be valid URL if provided)
# REDIS_URL=redis://localhost:6379

# Redis connection settings (have defaults)
# REDIS_MAX_RETRIES=3
# REDIS_CONNECT_TIMEOUT=5000
# REDIS_COMMAND_TIMEOUT=3000
# REDIS_KEY_PREFIX=cloud-portal:

# ───────────────────────────────────────────────────────────
# Optional: Chatbot
# ───────────────────────────────────────────────────────────

# Enable chatbot: true | false
# CHATBOT_ENABLED=false
# ANTHROPIC_API_KEY=your-anthropic-api-key
# ═══════════════════════════════════════════════════════════
# Environment Configuration
# Copy this file to .env and fill in your values
# ═══════════════════════════════════════════════════════════

# ───────────────────────────────────────────────────────────
# Required: Core URLs
# ───────────────────────────────────────────────────────────

# Application URLs (must be valid URLs)
APP_URL=http://localhost:3000
API_URL=http://localhost:8080
GRAPHQL_URL=http://localhost:8080/graphql

# ───────────────────────────────────────────────────────────
# Required: Authentication
# ───────────────────────────────────────────────────────────

# Session secret (minimum 32 characters)
SESSION_SECRET=your-super-secret-session-key-min-32-chars

# OIDC Authentication
AUTH_OIDC_ISSUER=https://your-oidc-provider.com
AUTH_OIDC_CLIENT_ID=your-client-id

# ───────────────────────────────────────────────────────────
# Required: Feature Services
# ───────────────────────────────────────────────────────────

# Prometheus metrics (for proxy metrics dashboard)
PROMETHEUS_URL=http://localhost:9090

# CloudValid DNS validation (for domain auto-verification)
CLOUDVALID_API_URL=https://api.cloudvalid.com/api/v2
CLOUDVALID_API_KEY=your-cloudvalid-api-key
CLOUDVALID_TEMPLATE_ID=your-cloudvalid-template-id

# ───────────────────────────────────────────────────────────
# Optional: Runtime Configuration
# ───────────────────────────────────────────────────────────

# Environment mode: production | development | test
NODE_ENV=development

# Application version (e.g., git commit SHA)
# VERSION=

# Enable debug mode: true | false
# DEBUG=false

# ───────────────────────────────────────────────────────────
# Optional: Logging
# ───────────────────────────────────────────────────────────

# Log level: debug | info | warn | error
# LOG_LEVEL=debug

# Log format: json | pretty | compact
# LOG_FORMAT=pretty

# Generate curl commands for API calls: true | false
# LOG_CURL=true

# Redact sensitive tokens in logs: true | false
# LOG_REDACT_TOKENS=true

# Log request/response payloads: true | false
# LOG_PAYLOADS=false

# ───────────────────────────────────────────────────────────
# Optional: Observability (graceful degradation when missing)
# ───────────────────────────────────────────────────────────

# Sentry error tracking (must be valid URL if provided)
# SENTRY_DSN=https://xxx@sentry.io/xxx
# SENTRY_ENV=development

# OpenTelemetry tracing (must be valid URL if provided)
# OTEL_ENABLED=false
# OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
# OTEL_EXPORTER_TIMEOUT=10000
# OTEL_LOG_LEVEL=info

# ───────────────────────────────────────────────────────────
# Optional: External Integrations (graceful degradation)
# ───────────────────────────────────────────────────────────

# Grafana (must be valid URL if provided)
# GRAFANA_URL=http://localhost:3001

# ───────────────────────────────────────────────────────────
# Optional: Analytics & Support (graceful degradation)
# ───────────────────────────────────────────────────────────

# Fathom Analytics
# FATHOM_ID=

# HelpScout Beacon
# HELPSCOUT_BEACON_ID=
# HELPSCOUT_SECRET_KEY=

# ───────────────────────────────────────────────────────────
# Optional: Redis (falls back to in-memory rate limiting)
# ───────────────────────────────────────────────────────────

# Redis connection URL (must be valid URL if provided)
# REDIS_URL=redis://localhost:6379

# Redis connection settings (have defaults)
# REDIS_MAX_RETRIES=3
# REDIS_CONNECT_TIMEOUT=5000
# REDIS_COMMAND_TIMEOUT=3000
# REDIS_KEY_PREFIX=cloud-portal:

# ───────────────────────────────────────────────────────────
# Optional: Chatbot
# ───────────────────────────────────────────────────────────

# Enable chatbot: true | false
# CHATBOT_ENABLED=false
# ANTHROPIC_API_KEY=your-anthropic-api-key

# ───────────────────────────────────────────────────────────
# Optional: Embedded datumctl terminal (Developer Tools)
# ───────────────────────────────────────────────────────────

# Absolute path to a locally-built datumctl binary that supports
# ambient-token mode (DATUMCTL_TOKEN / DATUM_API_HOSTNAME).
# For local development, clone datum-cloud/datumctl as a sibling
# of cloud-portal, check out the cloud-portal/ambient-token branch,
# and run `go build -o bin/datumctl .`, then set:
# DATUMCTL_BIN=/Users/matthewjenkinson/Git/datum/datumctl/bin/datumctl
# When unset, the Developer Tools terminal is disabled.
# DATUMCTL_BIN=
Loading