mirror of
https://gitee.com/pnoker/iot-dc3.git
synced 2026-10-31 10:11:49 +08:00
the historical defaults dc3.security.key.2026.io.github.pnoker and
io.github.pnoker.dc3 are public in this repository, so any deployment
that never overrode them shipped a known hmac signing key
- app/scale/swarm compose: fail fast (${var:?}) when dc3_security_key
or auth_hmac_secret is unset; dev compose keeps a clearly-marked
dev-only default
- helm production/default values and k8s secret.env ship empty values:
pre/pro startup rejects blank and known-default hmac keys, forcing
--set-string or an existingsecret; document the per-key failure mode
honestly instead of overpromising startup rejection for both
- dev env files: rotate both keys to machine-generated dev-only values
and add throwaway rs256 material for local oauth flows
- fix the chart maintainer email to a syntactically valid address
148 lines
4.8 KiB
Bash
148 lines
4.8 KiB
Bash
# Docker Compose interpolation defaults for the stacks under dc3/.
|
|
# Run compose commands from the repository root so this file is loaded automatically.
|
|
# Variables under "Local source-run defaults" mirror dc3/env/dev.env(.sh).
|
|
# Compose only injects variables that are explicitly referenced by a compose file.
|
|
|
|
# Shared image / logging defaults
|
|
# Makefile registry selector. Set REGISTRY=cn here once instead of passing it to every make command.
|
|
REGISTRY=auto
|
|
DC3_IMAGE_REGISTRY=pnoker
|
|
DC3_IMAGE_TAG=2026.6
|
|
DC3_LOG_MAX_SIZE=10M
|
|
DC3_LOG_MAX_FILE=20
|
|
DC3_BIND_HOST=127.0.0.1
|
|
APM_AGENT_ENABLE=false
|
|
|
|
# Secrets intentionally NOT set here: DC3_SECURITY_KEY and AUTH_HMAC_SECRET are
|
|
# supplied by dc3/env/dev.env for local runs. Production deployments MUST set
|
|
# deployment-specific values (e.g. `openssl rand -hex 32`) — the app/scale/swarm
|
|
# compose stacks refuse to start without them, and pre/pro profiles additionally
|
|
# reject blank or publicly-known values at startup.
|
|
|
|
# Base dependency stack / local database defaults
|
|
POSTGRES_HOST=localhost
|
|
POSTGRES_PORT=35432
|
|
POSTGRES_USERNAME=dc3
|
|
POSTGRES_PASSWORD=dc3dc3dc3
|
|
POSTGRES_DB=dc3
|
|
DC3_POSTGRES_PORT=35432
|
|
DC3_RABBITMQ_TLS_PORT=35671
|
|
DC3_RABBITMQ_PORT=35672
|
|
DC3_RABBITMQ_MANAGEMENT_PORT=15672
|
|
|
|
# Message broker selection for the internal async plane (docs/mq-brokers.md).
|
|
# One of: rabbitmq (default) | kafka | rocketmq | pulsar | activemq | mqtt
|
|
DC3_MQ_TYPE=rabbitmq
|
|
# Connection settings for non-rabbitmq selections (only read when DC3_MQ_TYPE matches)
|
|
DC3_MQ_KAFKA_BOOTSTRAP=kafka:9092
|
|
DC3_MQ_ROCKETMQ_NAMESRV=rocketmq-namesrv:9876
|
|
DC3_MQ_PULSAR_URL=pulsar://pulsar:6650
|
|
DC3_MQ_ACTIVEMQ_URL=tcp://activemq:61616
|
|
DC3_MQ_MQTT_HOST=dc3-rabbitmq
|
|
DC3_MQ_MQTT_PORT=1883
|
|
|
|
# PostgreSQL + TimescaleDB are the canonical persistence stack. There is no
|
|
# runtime database/TSDB selector; all centers use the same R2DBC contract.
|
|
|
|
# Local RabbitMQ defaults
|
|
RABBITMQ_VIRTUAL_HOST=dc3
|
|
RABBITMQ_HOST=localhost
|
|
RABBITMQ_PORT=35672
|
|
RABBITMQ_USERNAME=dc3
|
|
RABBITMQ_PASSWORD=dc3dc3dc3
|
|
RABBITMQ_MQTT_EXCHANGE=dc3.e.mqtt
|
|
# Internal app-to-RabbitMQ port. Use 5671 with RABBITMQ_SSL_ENABLED=true.
|
|
RABBITMQ_CONTAINER_PORT=5672
|
|
RABBITMQ_SSL_ENABLED=false
|
|
RABBITMQ_SSL_ALGORITHM=TLS
|
|
RABBITMQ_SSL_VALIDATE_SERVER_CERTIFICATE=false
|
|
RABBITMQ_SSL_VERIFY_HOSTNAME=false
|
|
|
|
# Application stack published ports
|
|
DC3_GATEWAY_PORT=8000
|
|
DC3_AUTH_PORT=8300
|
|
DC3_AUTH_GRPC_PORT=9300
|
|
DC3_MANAGER_PORT=8400
|
|
DC3_MANAGER_GRPC_PORT=9400
|
|
DC3_DATA_PORT=8500
|
|
DC3_DATA_GRPC_PORT=9500
|
|
DC3_AGENTIC_PORT=8600
|
|
DC3_LISTENING_VIRTUAL_TCP_PORT=6270
|
|
DC3_LISTENING_VIRTUAL_UDP_PORT=6271
|
|
|
|
# Local source-run defaults
|
|
NODE_ENV=dev
|
|
DC3_FACADE_MODE=grpc
|
|
DC3_FACADE_GRPC_DEADLINE_MS=3000
|
|
CENTER_AUTH_HOST=localhost
|
|
CENTER_MANAGER_HOST=localhost
|
|
CENTER_DATA_HOST=localhost
|
|
CENTER_AGENTIC_HOST=localhost
|
|
|
|
# Agentic / OpenAI-compatible API defaults
|
|
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
|
|
|
|
# Local MQTT defaults
|
|
MQTT_BROKER_HOST=localhost
|
|
MQTT_BROKER_PORT=31883
|
|
MQTT_USERNAME=dc3
|
|
MQTT_PASSWORD=dc3dc3dc3
|
|
MQTT_BATCH_SPEED=100
|
|
MQTT_BATCH_INTERVAL=5
|
|
|
|
# Point processing defaults
|
|
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
|
|
|
|
# Distributed driver runtime lease (PostgreSQL-backed, no Redis)
|
|
DC3_DRIVER_LEASE_SECONDS=30
|
|
DC3_DRIVER_LEASE_RENEW_CRON=0/10 * * * * ?
|
|
DC3_DRIVER_LEASE_QUEUE_EXPIRES_MILLIS=300000
|
|
|
|
# Optional EMQX stack published ports
|
|
DC3_EMQX_WS_PORT=38083
|
|
DC3_EMQX_WSS_PORT=38084
|
|
DC3_EMQX_MQTT_PORT=31883
|
|
DC3_EMQX_MQTTS_PORT=38883
|
|
DC3_EMQX_DASHBOARD_PORT=18083
|
|
|
|
# Observability stack
|
|
GF_SERVER_ROOT_URL=http://localhost:3000
|
|
DC3_GRAFANA_PORT=3000
|
|
DC3_KIBANA_PORT=5601
|
|
DC3_ES_JAVA_OPTS=-Xms512m -Xmx512m
|
|
DC3_LS_JAVA_OPTS=-Xms256m -Xmx256m
|
|
|
|
# Optional external-store published ports (docker-compose-optional.yml)
|
|
DC3_JAEGER_UI_PORT=16686
|
|
DC3_JAEGER_OTLP_GRPC_PORT=4317
|
|
|
|
# Per-process overrides. Uncomment only for a single service process/container;
|
|
# these variables are intentionally not shared defaults across all services.
|
|
# 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
|