配置文件解析
本文主要介绍app.cfg这个文件的配置及一些参数的解释
kplcloud启动时必须传app.cfg
文件,所有的参数都通过该文件进行控制,若您是在kubernetes进行部署可以考虑通过ConfigMap的方式挂载进容器里。
[server] 应用配置
字段 |
备注 |
其他 |
http_static |
静态文件路径 |
./static/ |
http_proxy |
代理服务地址 |
如果您的环境是隔离的,又需要访问外网的话就填写 |
logs_path |
日志文件目录 |
如果填写会输出日志文件如: /var/log/kplcloud.log |
upload_path |
上传文件的路径 |
发公告时上传资源的路径,如果需要持久化,请配置pvc |
domain |
网站域名 |
https://kplcloud.nsini.com |
login_type |
登陆的类型 |
1. ldap 需要在下面的 [ldap] 填写相关的ldap地址及配置信息 2. email 邮箱登陆 |
consul_kv |
是否启用consul作为配置中心,并可在该平台进行kv的操作 |
false,如果为true 可在该平台操作Consul的KV |
app_key |
用作加密解密使用的key |
初始化后就不修改 |
session_timeout |
登陆超时的时间 |
7200 单位秒 |
kibana_url |
kibana 地址 |
|
transfer_url |
tracing 地址 |
|
grafana_url |
grafana地址 |
|
heapster_url |
heapster地址 |
k8s的cpu、内存等监控数据从这里拿 |
prometheus_url |
prometheus地址 |
其他监控数据获取源 可以是内部地址也可以是外部地址 |
docker_repo |
您的镜像仓库地址 |
例如: hub.docker.com |
service_mesh |
是否启用servicemesh功能 |
目前兼容istio |
domain_suffix |
生成的ingress的后缀 |
例如: .kpaas.nsini.com |
client_id |
OAuth App Client ID |
平台的OAuth App所生成的Client ID |
client_secret |
OAuth App Client Secret |
平台的OAuth App所生成的Client Secret 如有不清楚的可查看 配置Github授权登陆 |
auth_login |
授权登陆 |
如果有填写那只能进行授权登陆 目前暂时支持Github |
default_namespace |
授权登陆默认可访问的空间 |
Default: app 目前只支持一个 |
default_role_id |
授权登陆默认所属的我角色 |
Default: 4 目前只支持一个 |
debug |
|
|
log_level |
输出的日志级别 |
支持五个级别 all,error,warn,info,debug |
[cors] 跨域设置
字段 |
备注 |
其他 |
allow |
是否允许跨域请求 |
false |
origin |
允许跨域的地址 |
不能直接写 "*" |
methods |
允许跨域的方法 |
|
headers |
允许跨域的header头信息 |
[mysql] mysql配置
字段 |
备注 |
其他 |
mysql_host |
数据库地址 |
mysql |
mysql_port |
数据库端口 |
3306 |
mysql_user |
数据库用户名 |
|
mysql_password |
数据库密码 |
|
mysql_database |
数据库名 |
kplcloud |
mysql_debug |
是否开启debug信息 |
false |
[redis] redis配置
字段 |
备注 |
其他 |
redis_drive |
redis驱动 |
1. cluster: 若为该值, 则访问redis集群; 2. single: 若为该值, 则访问单点redis服务 |
redis_hosts |
redis地址 |
redis IP 地址, 若redis_drive为cluster,则redis_hosts需要多个IP用";"隔开例如 redis-0:6379;redis-1:6379;redis-2:6379 |
mysql_user |
redis连接用户名 |
|
redis_password |
redis库密码 |
|
redis_db |
redisDB |
0 |
[kubernetes] 配置
字段 |
备注 |
其他 |
image_pull_secrets |
拉取镜像所需要的secrets名称 |
如果您的环境不需要可以不配置 |
[jenkins] jenkins配置
字段 |
备注 |
其他 |
host |
jenkins地址 |
如: http://jenkins:8080 |
token |
连接jenkins的token |
|
user |
构建的用户 |
执行相关jenkins任务的用户 |
credentials_id |
安全token |
访问jenkins的凭据, 可以在jenkins的 credentials->system->domain进行配置或创建 |
[consul] consul配置
字段 |
备注 |
其他 |
consul_token |
consul acl token |
|
consul_addr |
consul地址 |
如: consul:8500 |
[amqp] RabbitMq配置
字段 |
备注 |
其他 |
url |
地址 |
如: amqp://kplcloud:kplcloud@rabbitmq:5672/kplcloud |
exchange |
consul地址 |
如: direct |
exchange_type |
|
如: kplcloud-exchange |
routing_key |
|
如: kplcloud |
[git] git 仓库配置
字段 |
备注 |
其他 |
git_type |
git仓库类型 |
1. gitlab: 使用内部自建的gitlab gitlab的版本需要支持v3 api,如果不支持 您可以自己行加载应用的package 2. github: 使用公共的github |
git_addr |
连不知gitlab或github的API地址 |
如: https://gitlab.com 或 gitlab.com |
token |
连接gitlab或github的token |
访问相关git的token 需要所有项目的clone权限 |
client_id |
consul地址 |
如: github-api 如果使用的是github 由需要用这个在https://github.com/settings/developers上查找 |
[email] 邮箱配置
字段 |
备注 |
其他 |
smtp_user |
发送邮箱 |
|
smtp_password |
密码 |
|
smtp_host |
服务端smtp 地址 |
邮箱使用的是公司邮箱,有相应用API的,把src/email/client:EmailInterface 实现一遍就好
[ldap] LDAP配置
字段 |
备注 |
其他 |
ldap_host |
ldap地址 |
|
ldap_port |
ldap端口 |
|
ldap_base |
|
|
ldap_sseSSL |
是否ssl |
|
ldap_bindDN |
|
|
ldap_bind_password |
绑定密码 |
|
ldap_user_filter |
过滤用户 |
(userPrincipalName=%s) |
ldap_group_filter |
过滤组 |
(&(objectCategory=Group)) |
ldap_attr |
需要返回的字段 |
name;email |
[wechat] 微信相关配置
字段 |
备注 |
其他 |
app_id |
|
|
app_secret |
|
|
token |
|
|
encoding_aes_key |
|
|
tpl_alarm |
微信的报警模版ID |
需要在微信申请模版 |
tpl_notice |
微信的通知模版ID |
需要在微信申请模版 |
[msg] 消息推送配置
完成的app.cfg
[server]
app_name = kplcloud
http_static = ./static/
upload_path = /go/bin/upload
domain = https://kplcloud.nsini.com
login_type = auth
consul_kv = true
app_key = 6c47q0-w39euf!#%13a79
session_timeout = 7200
kibana_url = http://kibana.kpaas.nsini.com
transfer_url = http://tracing.kpaas.nsini.com
grafana_url = http://grafana.kpaas.nsini.com
prometheus_url = http://prometheus.kube-system:9090
heapster_url = http://heapster.kube-system
docker_repo = hub.kpaas.nsini.com
service_mesh = false
domain_suffix = %s.%s.nsini.com
client_id = 20emfs
client_secret = 9jfapsmdg8i
auth_login = github
default_namespace = default
default_role_id = 4
debug = false
log_level = all
[cors]
allow = false
origin = http://localhost:8000
methods = GET,POST,OPTIONS,PUT,DELETE
headers = Origin,Content-Type,Authorization,x-requested-with,Access-Control-Allow-Origin,Access-Control-Allow-Credentials
[mysql]
mysql_host = mysql
mysql_port = 3306
mysql_user = kplcloud
mysql_password = 32-0@g03wje;dm
mysql_database = kplcloud
[redis]
redis_drive = single
redis_hosts = redis:6379
redis_db = 0
[kubernetes]
image_pull_secrets = regcred
[jenkins]
host = http://jenkins:8080/
token = 1c8da3c07ccab3c127f1f04d1ca05bac2c
user = admin
credentials_id =
[consul]
consul_token =
consul_addr = http://consul:8500
[amqp]
url = amqp://kplcloud:kplcloud@rabbitmq:5672/kplcloud
exchange = direct
exchange_type = kplcloud-exchange
routing_key = kplcloud
[git]
git_type = github
token =
client_id = github-api
[email]
smtp_user = 123456@qq.com
smtp_password = 654321
smtp_host = smtp.qq.com:587
[ldap]
ldap_host = ldap
ldap_port = 389
ldap_base = DC=nsini,DC=corp
ldap_sseSSL = false
ldap_bindDN = hlw-moniti
ldap_bind_password = 2019Paasd-@4!2
ldap_user_filter = (userPrincipalName=%s)
ldap_group_filter = (&(objectCategory=Group))
ldap_attr = name;mail
[wechat]
app_id =
app_secret =
token =
encoding_aes_key =
tpl_alarm = kTwwPu4Bwd-Cr684ExGAf4YN4c2uHJeq_Own14uylH4
tpl_notice = hqtepX_add4iv_O55BFD8GoSx6HwNs81GtXK7EBs38Q
[msg]
alarm_default_email = admin@nsini.com;kplcloud@nsini.con
prometheus_url = http://prometheus.kpaas.nsini.com