Files
iot-dc3/dc3/env/dev.env
pnokerandClaude Code fe041c34bd docs(db): document the runtime and observability initdb SQL
Bring 07-observability and 08-runtime up to the comment grammar the
other seed files (02-06) already follow — DDL text itself is untouched
(verified: comment- and whitespace-stripped comparison against HEAD is
identical for both files):

- 08: every table gets the "-- Table structure for" section banner, a
  file-level map of the runtime coordination blocks, per-column inline
  comments aligned within each table (mirroring the COMMENT ON
  statements), and one-line purpose comments above each index (claim
  scans, tenant timelines, sweepers). The stray compose-role note moves
  into the file header where it belongs.
- 07: the 1-hour cagg index and realtime ALTER get the same comments
  their 1-minute siblings already carry.

The fingerprint hash covers these files verbatim, comments included,
so dc3/bin/schema_fingerprint.py --sync rolls the embedded ddl_hash
and the four distributed defaults to the new canonical value
(8297d4b5… → 51468116…).

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-20 23:38:06 +08:00

90 lines
4.9 KiB
Bash

# Local source-run environment for IDE, EnvFile plugins, or Maven runs.
# This file mirrors the "Local source-run defaults" section in ../../.env.example.
# It intentionally excludes Compose-only variables such as DC3_IMAGE_* and DC3_*_PORT.
# Postgres
POSTGRES_HOST=localhost
POSTGRES_PORT=35432
POSTGRES_USERNAME=dc3
POSTGRES_PASSWORD=dc3dc3dc3
POSTGRES_DB=dc3
DC3_R2DBC_URL=r2dbc:postgresql://localhost:35432/dc3
DC3_SCHEMA_FINGERPRINT=5146811645192cebabe055c434a2f278c92174d600581f993e69adc7a3893226
DC3_SCHEMA_CONTRACT=r2dbc-flag-day-v1
# Kafka
DC3_MQ_KAFKA_BOOTSTRAP=localhost:9092
# RabbitMQ
DC3_MQ_TYPE=rabbitmq
RABBITMQ_VIRTUAL_HOST=dc3
RABBITMQ_HOST=localhost
RABBITMQ_PORT=35672
RABBITMQ_USERNAME=dc3
RABBITMQ_PASSWORD=dc3dc3dc3
RABBITMQ_SSL_ENABLED=false
RABBITMQ_SSL_ALGORITHM=TLS
RABBITMQ_SSL_VALIDATE_SERVER_CERTIFICATE=false
RABBITMQ_SSL_VERIFY_HOSTNAME=false
# Mqtt
MQTT_BROKER_HOST=localhost
MQTT_BROKER_PORT=31883
MQTT_USERNAME=dc3
MQTT_PASSWORD=dc3dc3dc3
# gRPC
CENTER_AUTH_HOST=localhost
CENTER_MANAGER_HOST=localhost
CENTER_DATA_HOST=localhost
CENTER_AGENTIC_HOST=localhost
# Runtime
NODE_ENV=dev
DC3_FACADE_GRPC_DEADLINE_MS=3000
DC3_SECURITY_KEY=dc3-dev-only-65d8aac255cffeb389f1c9d521ae9a1a # local dev only; generate your own value for real deployments
AUTH_HMAC_SECRET=dc3-dev-only-f56ea45d339b35f8e409e55dc4eaf795 # local dev only; generate your own value for real deployments
POINT_BATCH_SIZE=500
POINT_BATCH_RECEIVE_TIMEOUT_MILLIS=100
POINT_CONCURRENT_CONSUMERS=4
POINT_MAX_CONCURRENT_CONSUMERS=16
POINT_PREFETCH_COUNT=1000
POINT_RETRY_MAX_RETRIES=3
POINT_RETRY_INITIAL_INTERVAL_MILLIS=1000
POINT_RETRY_MULTIPLIER=2
POINT_RETRY_MAX_INTERVAL_MILLIS=10000
DC3_DRIVER_LEASE_SECONDS=30
DC3_DRIVER_LEASE_RENEW_CRON=0/10 * * * * ?
DC3_DRIVER_LEASE_QUEUE_EXPIRES_MILLIS=300000
MQTT_BATCH_SPEED=100
MQTT_BATCH_INTERVAL=5
# Agentic fallback OpenAI-compatible provider. Normal providers are stored in dc3_model_provider.
AGENTIC_FALLBACK_OPENAI_BASE_URL=https://api.openai.com
AGENTIC_FALLBACK_OPENAI_API_KEY=
AGENTIC_FALLBACK_OPENAI_MODEL=gpt-4o
AGENTIC_FALLBACK_OPENAI_TEMPERATURE=0.7
AGENTIC_FALLBACK_OPENAI_MAX_TOKENS=2048
AGENTIC_MEMORY_SCHEMA_INIT=never
AGENTIC_MEMORY_ENABLED=false
AGENTIC_TOOL_CALLING_ENABLED=true
AGENTIC_MEMORY_MAX_MESSAGES=50
AGENTIC_ATTACHMENT_STORAGE_PATH=dc3/data/agentic/attachments
# Per-process overrides. Uncomment only for a single service process.
# TCP_PORT=6270
# UDP_PORT=6271
# POSTGRES_SCHEMA=dc3_manager
# Gateway route overrides. Usually CENTER_*_HOST is enough for local runs.
# GATEWAY_ROUTE_AUTH_TOKEN_URI=http://localhost:8300/
# GATEWAY_ROUTE_AUTH_URI=http://localhost:8300
# GATEWAY_ROUTE_MANAGER_URI=http://localhost:8400
# GATEWAY_ROUTE_DATA_URI=http://localhost:8500
# GATEWAY_ROUTE_AGENTIC_URI=http://localhost:8600
# OAuth RS256 signing key (Base64 PKCS8) - dev-only, generate your own for real deployments
DC3_OAUTH_JWT_PRIVATE_KEY=MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDbtqwfFp0Dinr4m9rNfxa5tbEF9mjO7vMQx8QZOvhkvjlZRUmpb+mZLFdfLLTFdU1chMyBB/vzQmQ7nGaodBlYGD3CqVq30zoJXNCE2EIqwoB/uv/nstrmrh5e+5h0dKYAER7TlKoyFLu2xsl4h/bJTWFaM81tMMfJ3xYDgkearvNcKUaFoOKmCT7KFSsZTf57H4yTzjciDp2o2mT4fI9fTrx0S7zq4If0B2V3iIC+jqUVnrYGRdEw+6K26qHVRw/8EAQrtR9QtPS6sNu9aMaS0FdIo1BcPdPUpXSXIUYWrXSB7CJOlSybk3Mx7pYNn7g3Lb6uhg3NPtepwz4tvg+7AgMBAAECggEABzyVZFmDIeF0ldCECRHaMGvIA5l0Ob7HSx7Z6PyF5sNAHjvMktA53ViRRJuVxlxCEioA0ZfvEyZEFUa06TUYMa67BqUUV1mVlfgND42KO8LaWEIOPhsA85qDtVdpZ6ftTSl+Re8SGWS4HtfZFhiSMNEZ6x09S93Qo7ak1aDUTj2lMAa1JgMBPmrNI+1CJ2AH4QQm55Emw03p+Y2kaBamnM9VBfLYkVSDKrtoYZiNku3UmhNjwSF1F6n/4/O92ZFiiuM7pT3N6Oi+TSJDzGtOY9ToQ2NP6bkg2llxcWnfAigYckrdEqOFaiIh8i+UdbmakLyuX/1uzPAwR8ONBX5taQKBgQD/21DtxsNj3rhuYwHb2VkA4fEsIJKqrl/beRWaVBmh/6NH4yZ68LQJjE90JGoaqm9hxj5X6Iqob6iKsVbvcP+e84WZco+PV7Iq1qBkLqLARlkwZsWxxQC9dvJk47YqZkgInJenFDSUBGT6YOmUg3LeKzVvUsrHOmNIKGDxUeVj8wKBgQDb1iyUaitE1cnKHglVVSVJ4w3YVaGtDGQv+84Qqz1vnHYvJmtkW8dKRWvq++A6uXrhNuH2uGIk6etaDviyPbBmcP3d5uBSDI5+S6aRd64taP06UxIpxgB5t1ZMOZZBMbj+FYQ22QC9puUBbe78B6br82/UFYy4KwXkU233Zme/GQKBgQCroLjG58AF7E8XbT6/9SppFycqjKcV62bN2ImPPr77Fnq3LD6R1YlPplld9Vdfj9irY8pKOelZV51de9xvPgOa4oxKBLkcVJ1lcxegXFA8XnRRrX8L4rS+Y13yI3X9NyM286QfJcSnTdNWyU+mmg6hzaZIiOcRga87pipxdphD1QKBgQDMU2+R7nATBaYNbwd7wazr1Na8eTLRNZA1LRSlV5O9li4eutXcLJW5yXZ5rOwHiPfWNf2mJFBMQQLX7MxoVoALZv/+bKWYfUU/y66gzB0e5dNfj3B1VSyB9M6IAIpQRBfOSU9e7ykKHQIC5xvWMoKKEfShqfnl/071njm6VfsdmQKBgQDC4syV1oYM2SHmHm7Atpc+ZPvL1P2r2czLx1mTgl2BosoB3DMr0KpS2db9sB/aGOubsE5RVD8Twmx7S9SC9CLbpS4kt4wV8Dz5VCK0YhkH7gK+ZGtDigm8EycpyjsnBDNF1Hpz6NfzNIMgKHs08lHgZ0rOi7PiYCX9eV3nw7raaQ==
DC3_OAUTH_JWT_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA56U3VICcx5z4DFSb+SJcJ+p5inLyPbvlfUZSyqnTS4AuHapCaG1z7T7/Ethx6c9K8tebSt1y71bJeAB2ZeOk7zihg6AaeT4wD/Dq+u2WIAzXeZlluIEOInpx8aqbKt53LDw9/oLjROFlSzwbk4DIoWEN8RHqAzp6HpJwMAJPu+7z1m9AFcuJmGyydhMu1wwmCjdcSXf4mu43tcBibzUPQXfRTDmy5Su/qDEeRS3AQy/mW77iSkU9ngST1Owe6zHrAXGHReLEEIOJ0s5V6L1y153ShjN8JYwXIc+AcCtVmdfltt+ivz73ALZQM4UfCIYOE4qKpZceHGP4by7FeEN2YQIDAQAB