Merge _configs/ into config/ for single configuration directory. Update all path references. Changes: - Move _configs/* to config/ - Update .gitignore for new patterns - No code references to _configs/ found Impact: -1 root directory (layout_conventions.md compliance)
144 lines
4.4 KiB
TOML
144 lines
4.4 KiB
TOML
# Database Configuration - SurrealDB 2.3
|
|
# syntaxis
|
|
#
|
|
# Use this configuration for SurrealDB deployments.
|
|
# For setup instructions, see SURREALDB_SETUP_GUIDE.md
|
|
|
|
[database]
|
|
engine = "surrealdb"
|
|
description = "SurrealDB 2.3 multi-backend database (production-ready)"
|
|
|
|
# ============================================================================
|
|
# SURREALDB CONFIGURATION
|
|
# ============================================================================
|
|
|
|
[surrealdb]
|
|
# Connection URL - Choose deployment mode:
|
|
|
|
# --- Option 1: Embedded In-Memory (No server, fast for testing) ---
|
|
# url = "mem://"
|
|
|
|
# --- Option 2: Embedded File-Based (No server, persistent RocksDB) ---
|
|
# url = "file:///tmp/surrealdb.db"
|
|
|
|
# --- Option 3: Remote Server via WebSocket (Recommended for production) ---
|
|
# Requires: surreal start --bind 0.0.0.0:8000 file:///data/surrealdb.db
|
|
url = "ws://localhost:8000"
|
|
|
|
# --- Option 4: Remote Server via HTTP ---
|
|
# url = "http://localhost:8000"
|
|
|
|
# --- Option 5: Docker Container ---
|
|
# url = "ws://surrealdb:8000" # Uses container hostname
|
|
|
|
# --- Option 6: Kubernetes Cluster ---
|
|
# url = "ws://surrealdb.workspace:8000" # Uses k8s service DNS
|
|
|
|
# Namespace and database selection
|
|
namespace = "syntaxis"
|
|
database = "projects"
|
|
|
|
# Authentication credentials
|
|
# In development: Use environment variables to avoid hardcoding passwords
|
|
username = "admin"
|
|
password = "${SURREALDB_PASSWORD}" # Set environment variable SURREALDB_PASSWORD
|
|
|
|
# Or hardcode for development (NOT RECOMMENDED FOR PRODUCTION):
|
|
# password = "dev_password_123"
|
|
|
|
# Connection pool configuration
|
|
max_connections = 10 # Number of concurrent connections
|
|
timeout_secs = 60 # Query timeout in seconds
|
|
|
|
# ============================================================================
|
|
# TLS CONFIGURATION (For production)
|
|
# ============================================================================
|
|
|
|
# Enable TLS/SSL for secure connections
|
|
# tls_enabled = true
|
|
|
|
# Certificate authority (CA) bundle
|
|
# tls_ca_cert = "/etc/surrealdb/ca.pem"
|
|
|
|
# Client certificate and key (mutual TLS)
|
|
# tls_client_cert = "/etc/surrealdb/client.pem"
|
|
# tls_client_key = "/etc/surrealdb/client.key"
|
|
|
|
# Verify certificate hostname
|
|
# tls_verify = true
|
|
|
|
# ============================================================================
|
|
# DEPLOYMENT-SPECIFIC CONFIGURATIONS
|
|
# ============================================================================
|
|
|
|
# --- LOCAL DEVELOPMENT ---
|
|
# [surrealdb]
|
|
# url = "mem://" # Fast, no server needed
|
|
# max_connections = 5
|
|
|
|
# --- DOCKER COMPOSE ---
|
|
# [surrealdb]
|
|
# url = "ws://surrealdb:8000" # Container hostname
|
|
# username = "admin"
|
|
# password = "workspace_password_123"
|
|
|
|
# --- KUBERNETES ---
|
|
# [surrealdb]
|
|
# url = "ws://surrealdb.workspace:8000" # Service DNS
|
|
# username = "admin"
|
|
# password = "${SURREALDB_PASSWORD}" # From k8s secret
|
|
|
|
# --- PRODUCTION CLOUD ---
|
|
# [surrealdb]
|
|
# url = "wss://surrealdb.example.com:8000" # Secure WebSocket
|
|
# username = "app-user"
|
|
# password = "${SURREALDB_PASSWORD}" # From secrets manager
|
|
# tls_enabled = true
|
|
# tls_ca_cert = "/etc/surrealdb/ca.pem"
|
|
|
|
# ============================================================================
|
|
# NOTES FOR DIFFERENT DEPLOYMENT CONTEXTS
|
|
# ============================================================================
|
|
#
|
|
# LOCAL DEVELOPMENT:
|
|
# - Start server: surreal start --bind 127.0.0.1:8000 memory
|
|
# - Config: url = "ws://localhost:8000"
|
|
# - Or use embedded: url = "mem://" (no server needed)
|
|
#
|
|
# DOCKER COMPOSE:
|
|
# - Service name: surrealdb (hostname in container network)
|
|
# - Config: url = "ws://surrealdb:8000"
|
|
# - See: docker-compose.surrealdb.yml
|
|
#
|
|
# KUBERNETES:
|
|
# - Service DNS: surrealdb.workspace.svc.cluster.local
|
|
# - Config: url = "ws://surrealdb.workspace:8000"
|
|
# - StatefulSet with persistent volumes
|
|
# - See: k8s/surrealdb-statefulset.yaml
|
|
#
|
|
# PRODUCTION:
|
|
# - Use TLS/SSL (wss://)
|
|
# - Use environment variables for passwords
|
|
# - Configure resource limits
|
|
# - Enable backup/recovery
|
|
# - See: SURREALDB_SETUP_GUIDE.md
|
|
#
|
|
# ENVIRONMENT VARIABLES:
|
|
# Set these before running the application:
|
|
#
|
|
# export SURREALDB_PASSWORD="your-secure-password-here"
|
|
# export SURREALDB_USER="admin"
|
|
#
|
|
# For Docker Compose:
|
|
#
|
|
# docker-compose -f docker-compose.surrealdb.yml up -d
|
|
# docker-compose -f docker-compose.surrealdb.yml exec surrealdb \
|
|
# surreal sql --endpoint ws://localhost:8000 \
|
|
# --username admin --password ${SURREALDB_PASSWORD}
|
|
#
|
|
# For Kubernetes:
|
|
#
|
|
# kubectl set env statefulset/surrealdb \
|
|
# SURREALDB_PASSWORD=$(echo -n "new-password" | base64)
|
|
|