feat: 添加环境变量管理工具和部署配置改版
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m33s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m33s
主要改动: - 新增交互式环境配置脚本 (scripts/setup-env.sh) - 新增本地启动快捷脚本 (scripts/run-local.sh) - 新增环境变量模板文件 (.env.example) - 部署模式改版:使用嵌入式配置 + 环境变量覆盖 - 添加对象存储功能支持 - 改进 IoT 卡片导入任务 - 优化 OpenAPI 文档生成 - 删除旧的配置文件,改用嵌入式默认配置
This commit is contained in:
106
pkg/config/defaults/config.yaml
Normal file
106
pkg/config/defaults/config.yaml
Normal file
@@ -0,0 +1,106 @@
|
||||
# 默认配置文件(嵌入二进制)
|
||||
# 敏感配置和必填配置为空,必须通过环境变量设置
|
||||
# 环境变量格式:JUNHONG_{SECTION}_{KEY}
|
||||
|
||||
server:
|
||||
address: ":3000"
|
||||
read_timeout: "30s"
|
||||
write_timeout: "30s"
|
||||
shutdown_timeout: "30s"
|
||||
prefork: false
|
||||
|
||||
# 数据库配置(必填项需通过环境变量设置)
|
||||
database:
|
||||
host: "" # 必填:JUNHONG_DATABASE_HOST
|
||||
port: 5432
|
||||
user: "" # 必填:JUNHONG_DATABASE_USER
|
||||
password: "" # 必填:JUNHONG_DATABASE_PASSWORD(敏感)
|
||||
dbname: "" # 必填:JUNHONG_DATABASE_DBNAME
|
||||
sslmode: "disable"
|
||||
max_open_conns: 25
|
||||
max_idle_conns: 10
|
||||
conn_max_lifetime: "5m"
|
||||
|
||||
# Redis 配置(必填项需通过环境变量设置)
|
||||
redis:
|
||||
address: "" # 必填:JUNHONG_REDIS_ADDRESS
|
||||
port: 6379
|
||||
password: "" # 可选:JUNHONG_REDIS_PASSWORD(敏感)
|
||||
db: 0
|
||||
pool_size: 10
|
||||
min_idle_conns: 5
|
||||
dial_timeout: "5s"
|
||||
read_timeout: "3s"
|
||||
write_timeout: "3s"
|
||||
|
||||
# 对象存储配置
|
||||
storage:
|
||||
provider: "s3"
|
||||
temp_dir: "/tmp/junhong-storage"
|
||||
s3:
|
||||
endpoint: "" # 可选:JUNHONG_STORAGE_S3_ENDPOINT
|
||||
region: "" # 可选:JUNHONG_STORAGE_S3_REGION
|
||||
bucket: "" # 可选:JUNHONG_STORAGE_S3_BUCKET
|
||||
access_key_id: "" # 可选:JUNHONG_STORAGE_S3_ACCESS_KEY_ID(敏感)
|
||||
secret_access_key: "" # 可选:JUNHONG_STORAGE_S3_SECRET_ACCESS_KEY(敏感)
|
||||
use_ssl: false
|
||||
path_style: true
|
||||
presign:
|
||||
upload_expires: "15m"
|
||||
download_expires: "24h"
|
||||
|
||||
# 日志配置
|
||||
logging:
|
||||
level: "info"
|
||||
development: false
|
||||
app_log:
|
||||
filename: "/app/logs/app.log"
|
||||
max_size: 100
|
||||
max_backups: 3
|
||||
max_age: 7
|
||||
compress: true
|
||||
access_log:
|
||||
filename: "/app/logs/access.log"
|
||||
max_size: 100
|
||||
max_backups: 3
|
||||
max_age: 7
|
||||
compress: true
|
||||
|
||||
# 任务队列配置
|
||||
queue:
|
||||
concurrency: 10
|
||||
queues:
|
||||
critical: 6
|
||||
default: 3
|
||||
low: 1
|
||||
retry_max: 5
|
||||
timeout: "10m"
|
||||
|
||||
# JWT 配置(必填项需通过环境变量设置)
|
||||
jwt:
|
||||
secret_key: "" # 必填:JUNHONG_JWT_SECRET_KEY(敏感)
|
||||
token_duration: "24h"
|
||||
access_token_ttl: "24h"
|
||||
refresh_token_ttl: "168h"
|
||||
|
||||
# 中间件配置
|
||||
middleware:
|
||||
enable_rate_limiter: false
|
||||
rate_limiter:
|
||||
max: 100
|
||||
expiration: "1m"
|
||||
storage: "memory"
|
||||
|
||||
# 短信服务配置
|
||||
sms:
|
||||
gateway_url: "" # 可选:JUNHONG_SMS_GATEWAY_URL
|
||||
username: "" # 可选:JUNHONG_SMS_USERNAME
|
||||
password: "" # 可选:JUNHONG_SMS_PASSWORD(敏感)
|
||||
signature: "" # 可选:JUNHONG_SMS_SIGNATURE
|
||||
timeout: "10s"
|
||||
|
||||
# 默认超级管理员配置(可选)
|
||||
default_admin:
|
||||
username: ""
|
||||
password: ""
|
||||
phone: ""
|
||||
Reference in New Issue
Block a user