hotgo/server/manifest/config/config.example.yaml

302 lines
15 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 应用名称
appName: "hotgo"
# hotgo配置
hotgo:
# debug开关开启后接口出现错误时会向前端输出堆栈信息可选false|true默认为true
debug: true
# gf运行模式可选not-set|develop|testing|staging|product
mode: "develop"
# IP归属地解析方法可选cz88|whois默认为whois
ipMethod: "whois"
# 是否为演示系统可选false|true
isDemo: false
# 是否为集群部署可选false|true 默认为false开启集群必须配置redis通过redis发布订阅进行集群之间的数据同步
isCluster: false
# 全局请求日志
log:
switch: true # 日志开关可选false|true默认为true
queue: true # 是否启用队列启用时需要配置队列信息可选false|true默认为true
module: [ "admin", "api", "default" ] # 需要记录的模块
skipCode: [ ] # 不记录的状态码 ["0", "-1"]
# 系统日志用于在后台统计异常日志
serveLog:
switch: true # 日志开关可选false|true默认为true
queue: true # 是否启用队列启用时需要配置队列信息可选false|true默认为true
levelFormat: [ "WARN", "ERRO", "FATA", "PANI" ] # 需要记录的等级
# 统一默认日志配置
defaultLogger: &defaultLogger
level: "all"
flags: 42
file: "{Y-m-d}.log" # 日志文件格式默认为"{Y-m-d}.log"
stdoutColorDisabled: false # 关闭终端的颜色打印可选false|true默认false
writerColorEnable: false # 日志文件是否带上颜色可选false|true默认false表示不带颜色
rotateExpire: "7d" # 日志保留天数
rotateBackupLimit: 2 # 最大备份数量
rotateBackupCompress: 2 # 日志文件压缩级别0-9,9最高
# gf配置配置参考https://goframe.org/pages/viewpage.action?pageId=44449486
server:
address: ":8000" # 本地监听地址默认":8000"多个地址以","号分隔例如"192.168.2.3:8000,10.0.3.10:8001"
openapiPath: "/api.json" # OpenAPI接口文档地址
swaggerPath: "/swagger" # 内置SwaggerUI展示地址
serverRoot: "resource/public" # 静态文件服务的目录根路径配置时自动开启静态文件服务
DumpRouterMap: false # 是否在Server启动时打印所有的路由列表
logPath: "logs/server" # 服务日志保存路径
ErrorStack: true # 当Server捕获到异常时是否记录堆栈信息到日志中默认为true
ErrorLogEnabled: true # 是否记录异常日志信息到日志中默认为true
errorLogPattern: "error/{Y-m-d}.log" # 异常错误日志文件格式默认为"error-{Ymd}.log"
accessLogEnabled: true # 是否记录访问日志默认为false
accessLogPattern: "access/{Y-m-d}.log" # 访问日志文件格式默认为"access-{Ymd}.log"
maxHeaderBytes: "100KB" # 请求头大小限制请求头包括客户端提交的Cookie数据默认设置为100KB
clientMaxBodySize: "200MB" # 客户端提交的Body大小限制同时也影响文件上传大小默认设置为200MB
serverAgent: "HG HTTP Server" # 服务端Agent信息默认为"HG HTTP Server"
# PProf配置
pprofEnabled: true # 是否开启PProf性能调试特性默认为false
pprofPattern: "/pprof" # 开启PProf时有效表示PProf特性的页面访问路径对当前Server绑定的所有域名有效
# 服务日志配置
logger:
path: "logs/server" # 日志文件路径默认为空表示关闭仅输出到终端
<<: *defaultLogger
tcp:
# 服务器
server:
address: ":8099"
# 客户端
client:
# 定时任务
cron:
group: "cron" # 分组名称
name: "cron1" # 客户端名称
address: "127.0.0.1:8099" # 服务器地址
appId: "1002" # 应用名称
secretKey: "hotgo" # 密钥
# 系统授权
auth:
group: "auth" # 分组名称
name: "auth1" # 客户端名称
address: "127.0.0.1:8099" # 服务器地址
appId: "mengshuai" # 应用名称
secretKey: "123456" # 密钥
# 日志配置
logger:
# 全局日志g.Log()
path: "logs/logger" # 日志文件路径默认为空表示关闭仅输出到终端
<<: *defaultLogger
# 定时任务g.Log("cron")
cron:
path: "logs/cron" # 日志文件路径默认为空表示关闭仅输出到终端
<<: *defaultLogger
# 消息队列g.Log("cron")
queue:
path: "logs/queue" # 日志文件路径默认为空表示关闭仅输出到终端
<<: *defaultLogger
# tcp服务器g.Log("tcpServer")
tcpServer:
path: "logs/tcpServer" # 日志文件路径默认为空表示关闭仅输出到终端
<<: *defaultLogger
# tcp客户端g.Log("tcpClient")
tcpClient:
path: "logs/tcpClient" # 日志文件路径默认为空表示关闭仅输出到终端
<<: *defaultLogger
# Viewer. 配置参考https://goframe.org/pages/viewpage.action?pageId=1114335
viewer:
paths: "resource/template"
defaultFile: "index.html"
delimiters: [ "@{", "}" ]
homeLayout: "home/index.html"
# 内容设置
setting:
title: "HotGo"
keywords: "中后台解决方案,gf框架,vue3"
description: "hotgo 是一个基于 goframe2vue3vite2TypeScriptuniapp 的中后台解决方案,它可以帮助你快速搭建企业级中后台项目,相信不管是从新技术使用还是其他方面,都能帮助到你,持续更新中。"
# 路由配置
router:
# 后台
admin:
# 前缀
prefix: "/admin"
# 不需要验证登录的路由地址
exceptLogin: [
"/sms/send", # 短信验证码
"/wechat/authorizeCall", # 微信用户授权回调
]
# 不需要验证权限的路由地址
exceptAuth: [
"/member/info", # 登录用户信息
"/role/dynamic", # 获取动态路由
"/notice/pullMessages", # 拉取我的消息
"/notice/readAll", # 设置全部已读公告
"/notice/upRead", # 已读指定公告
"/dictData/option", # 单个数据字典
"/dictData/options", # 多个数据字典
"/provinces/select", # 动态省市区选项
"/provinces/cityLabel", # 动态解析省市区名称
"/attachment/chooserOption", # 附件选择器选项
"/member/option", # 用户选项
]
# 接口
api:
# 前缀
prefix: "/api"
# 不需要验证登录的路由地址
exceptLogin: [ ]
# websocket
websocket:
# 前缀
prefix: "/socket"
# 不需要验证登录的路由地址
exceptLogin: [ ]
# 前台页面
home:
# 前缀
prefix: "/home"
# 不需要验证登录的路由地址
exceptLogin: [ ]
#缓存
cache:
adapter: "file" # 缓存驱动方式支持memory|redis|file不填默认memory
fileDir: "./storage/cache" # 文件缓存路径adapter=file时必填
# 登录令牌
token:
secretKey: "hotgo123" # 令牌加密秘钥考虑安全问题生产环境中请修改默认值
expires: 604800 # 令牌有效期单位默认7天
autoRefresh: true # 是否开启自动刷新过期时间 false|true 默认为true
refreshInterval: 86400 # 刷新间隔单位必须小于expires否则无法触发默认1天内只允许刷新一次
maxRefreshTimes: 30 # 最大允许刷新次数-1不限制默认30次
multiLogin: true # 是否允许多端登录 false|true 默认为true
#消息队列
queue:
switch: true # 队列开关可选true|false默认为true
driver: "disk" # 队列驱动可选disk|redis|rocketmq|kafka默认为disk
retry: 2 # 重试次数仅rocketmq支持
groupName: "hotgo" # mq群组名称
#磁盘队列
disk:
path: "./storage/diskqueue" # 数据存放路径
batchSize: 100 # 每100条消息同步一次batchSize和batchTime满足其一就会同步一次
batchTime: 1 # 每1秒消息同步一次
segmentSize: 10485760 # 每个topic分片数据文件最大字节默认10M
segmentLimit: 3000 # 每个topic最大分片数据文件数量超出部分将会丢弃
#redis默认使用全局redis运行队列
redis:
timeout: 0 # 队列超时时间以秒为单位0表示永不超时如果队列在设定的超时时间内没有被消费则会被销毁
rocketmq:
address: "127.0.0.1:9876" # broker地址+端口
logLevel: "all" # 系统日志级别可选all|close|debug|info|warn|error|fatal
kafka:
address: "127.0.0.1:9092" # kafka地址+端口
version: "2.0.0.0" # kafka专属配置默认2.0.0.0
randClient: true # 开启随机生成clientID可以实现启动多实例同时一起消费相同topic加速消费能力的特性默认为true
multiConsumer: true # 是否支持创建多个消费者
# Redis. 配置参考https://goframe.org/pages/viewpage.action?pageId=1114217
redis:
default:
address: "127.0.0.1:6379"
db: "2"
pass: ""
idleTimeout: "20"
# Database. 配置参考https://goframe.org/pages/viewpage.action?pageId=1114245
database:
logger:
path: "logs/database" # 日志文件路径默认为空表示关闭仅输出到终端
<<: *defaultLogger
stdout: true
default:
link: "mysql:hotgo:hg123456.@tcp(127.0.0.1:3306)/hotgo?loc=Local&parseTime=true"
debug: true
Prefix: "hg_"
# 链路追踪
jaeger:
switch: false # 链路追踪开关可选true|false默认为false
endpoint: "127.0.0.1:6831" # jaeger-agent上报地址
# 生成代码
hggen:
allowedIPs: [ "127.0.0.1", "*" ] # 白名单*代表所有只有允许的IP后台才能使用生成代码功能
selectDbs: [ "default" ] # 可选生成表的数据库配置名称支持多库
disableTables: [ "hg_sys_gen_codes","hg_admin_role_casbin" ] # 禁用的表禁用以后将不会在选择表中看到
delimiters: [ "@{", "}" ] # 模板引擎变量分隔符号
# 生成应用模型所有生成模板允许自定义可以参考default模板进行改造
application:
# CRUD模板
crud:
templates:
# 默认的主包模板
- group: "default" # 分组名称
isAddon: false # 是否为插件模板 falsetrue
masterPackage: "sys" # 主包名称需和controllerPathlogicPathinputPath保持关联
templatePath: "./resource/generate/default/curd" # 模板路径
apiPath: "./api/admin" # goApi生成路径
controllerPath: "./internal/controller/admin/sys" # 控制器生成路径
logicPath: "./internal/logic/sys" # 主要业务生成路径
inputPath: "./internal/model/input/sysin" # 表单过滤器生成路径
routerPath: "./internal/router/genrouter" # 生成路由表路径
sqlPath: "./storage/data/generate" # 生成sql语句路径
webApiPath: "../web/src/api" # webApi生成路径
webViewsPath: "../web/src/views" # web页面生成路径
# 默认的插件包模板{$name}会自动替换成实际的插件名称
- group: "addon" # 分组名称
isAddon: true # 是否为插件模板 falsetrue
masterPackage: "sys" # 主包名称需和controllerPathlogicPathinputPath保持关联
templatePath: "./resource/generate/default/curd" # 模板路径
apiPath: "./addons/{$name}/api/admin" # goApi生成路径
controllerPath: "./addons/{$name}/controller/admin/sys" # 控制器生成路径
logicPath: "./addons/{$name}/logic/sys" # 主要业务生成路径
inputPath: "./addons/{$name}/model/input/sysin" # 表单过滤器生成路径
routerPath: "./addons/{$name}/router/genrouter" # 生成路由表路径
sqlPath: "./storage/data/generate/addons" # 生成sql语句路径
webApiPath: "../web/src/api/addons/{$name}" # webApi生成路径
webViewsPath: "../web/src/views/addons/{$name}" # web页面生成路径
# 关系树列表模板
tree:
templates:
- group: "default"
templatePath: "./resource/generate/default/tree"
# 消息队列模板
queue:
templates:
- group: "default"
templatePath: "./resource/generate/default/queue"
# 定时任务模板
cron:
templates:
- group: "default"
templatePath: "./resource/generate/default/cron"
# 生成插件模块通过后台创建新插件时使用的模板允许自定义可以参考default模板进行改造
addon:
srcPath: "./resource/generate/default/addon" # 生成模板路径
webApiPath: "../web/src/api/addons/{$name}" # webApi生成路径
webViewsPath: "../web/src/views/addons/{$name}" # web页面生成路径