跳转至

环境变量

本文档列出 NetPulse 系统中可用的环境变量。所有环境变量都使用 NETPULSE_ 前缀,并通过双下划线 __ 连接嵌套配置项。

命名规则

环境变量格式:NETPULSE_<SECTION>__<KEY>

例如: - NETPULSE_SERVER__PORT 对应配置中的 server.port - NETPULSE_REDIS__TLS__ENABLED 对应配置中的 redis.tls.enabled

Server 配置

环境变量 说明 默认值
NETPULSE_SERVER__HOST API 服务监听地址 0.0.0.0
NETPULSE_SERVER__PORT API 服务监听端口 9000
NETPULSE_SERVER__API_KEY API 访问密钥(必填) -
NETPULSE_SERVER__API_KEY_NAME API 密钥的 HTTP 头名称 X-API-KEY
NETPULSE_SERVER__GUNICORN_WORKER Gunicorn worker 数量 自动计算

Redis 配置

环境变量 说明 默认值
NETPULSE_REDIS__HOST Redis 服务器地址 localhost
NETPULSE_REDIS__PORT Redis 服务器端口 6379
NETPULSE_REDIS__PASSWORD Redis 认证密码 null
NETPULSE_REDIS__TIMEOUT Redis 连接超时时间(秒) 30
NETPULSE_REDIS__KEEPALIVE Redis 连接保活时间(秒) 30

Redis TLS 配置

环境变量 说明 默认值
NETPULSE_REDIS__TLS__ENABLED 是否启用 TLS false
NETPULSE_REDIS__TLS__CA CA 证书路径 null
NETPULSE_REDIS__TLS__CERT 客户端证书路径 null
NETPULSE_REDIS__TLS__KEY 客户端私钥路径 null

Redis Sentinel 配置

环境变量 说明 默认值
NETPULSE_REDIS__SENTINEL__ENABLED 是否启用 Sentinel false
NETPULSE_REDIS__SENTINEL__HOST Sentinel 服务器地址 redis-sentinel
NETPULSE_REDIS__SENTINEL__PORT Sentinel 服务器端口 26379
NETPULSE_REDIS__SENTINEL__MASTER_NAME 主节点名称 mymaster
NETPULSE_REDIS__SENTINEL__PASSWORD Sentinel 认证密码 null

Redis Key 配置

环境变量 说明 默认值
NETPULSE_REDIS__KEY__HOST_TO_NODE_MAP 主机到节点映射的 key netpulse:host_to_node_map
NETPULSE_REDIS__KEY__NODE_INFO_MAP 节点信息映射的 key netpulse:node_info_map

Worker 配置

环境变量 说明 默认值
NETPULSE_WORKER__SCHEDULER 任务调度插件 least_load
NETPULSE_WORKER__TTL Worker 心跳超时时间(秒) 300
NETPULSE_WORKER__PINNED_PER_NODE 每个 Node 上最多运行的 Pinned Worker 数量 32

Job 配置

环境变量 说明 默认值
NETPULSE_JOB__TTL 任务在队列中的最大存活时间(秒) 1800
NETPULSE_JOB__TIMEOUT 任务执行超时时间(秒) 300
NETPULSE_JOB__RESULT_TTL 任务结果保留时间(秒) 300

Log 配置

环境变量 说明 默认值
NETPULSE_LOG__LEVEL 日志级别 INFO
NETPULSE_LOG__CONFIG 日志配置文件路径 config/log-config.yaml

Plugin 配置

环境变量 说明 默认值
NETPULSE_PLUGIN__DRIVER 设备驱动插件目录 netpulse/plugins/drivers/
NETPULSE_PLUGIN__WEBHOOK Webhook 插件目录 netpulse/plugins/webhooks/
NETPULSE_PLUGIN__TEMPLATE 模板插件目录 netpulse/plugins/templates/
NETPULSE_PLUGIN__SCHEDULER 调度器插件目录 netpulse/plugins/schedulers/

其他配置

环境变量 说明 默认值
NETPULSE_CONFIG_FILE 配置文件路径 config/config.yaml

使用示例

开发环境

# .env 文件
NETPULSE_SERVER__API_KEY=dev-api-key-123
NETPULSE_REDIS__HOST=localhost
NETPULSE_REDIS__PORT=6379
NETPULSE_LOG__LEVEL=DEBUG

生产环境

# .env 文件
NETPULSE_SERVER__API_KEY=your-secure-api-key
NETPULSE_REDIS__HOST=redis-cluster.example.com
NETPULSE_REDIS__PORT=6379
NETPULSE_REDIS__PASSWORD=your-secure-password
NETPULSE_REDIS__TLS__ENABLED=true
NETPULSE_REDIS__TLS__CA=/etc/redis/tls/ca.crt
NETPULSE_REDIS__TLS__CERT=/etc/redis/tls/client.crt
NETPULSE_REDIS__TLS__KEY=/etc/redis/tls/client.key
NETPULSE_WORKER__PINNED_PER_NODE=64
NETPULSE_LOG__LEVEL=INFO

配置优先级

配置加载优先级(从高到低): 1. 环境变量 2. .env 文件 3. YAML 配置文件 4. 默认值