配置文件解析

本文主要介绍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] 消息推送配置

字段 备注 其他
alarm_default_email 系统告警默认发送的人员 solacowa@gmail.com;i@lattecake.com
prometheus_url prometheus的外部地址 可以被访问到的

完成的app.cfg

; ;[server]
; ;该服务启动的相关参数
; ;http_static: 静态文件目录, 前端的文件会放在这里
; ;http_proxy: 代理服务地址如果需要的话就填
; ;logs_path: 日志文件目录
; ;upload_path: 文件上传目录
; ;domain: 访问域名
; ;login_type: 登陆类型
; ;  1. ldap 需要在下面的 [ldap] 填写相关的ldap地址及配置信息
; ;  2. email 邮箱登陆
; ;consul_kv: 是否启consul kv功能, 如果启用, 将可以在平台上操作consul kv
; ;app_key: 通常用来加密使用
; ;session_timeout: sesstion时长, 单位秒
; ;kibana_url: kibanba地址
; ;grafana_url: grafana地址
; ;heapster_url: heapster 地址
; ;prometheus_url: prometheus地址 http://prometheus.kube-system:9090
; ;docker_repo: 您的镜像仓库地址
; ;service_mesh: false 是否启用service mesh 功能
; ;domain_suffix: 生成对外访问域名的后缀
; ;client_id: 平台的OAuth App所生成的Client ID
; ;client_secret: 平台的OAuth App所生成的Client Secret 如有不清楚的可查看 配置Github授权登陆
; ;auth_login: 授权登陆的平台,目前只支持GitHub
; ;default_namespace: 默认分配的空间名 目前只支持一个
; ;default_role_id: 默认分配的角色ID 目前只支持一个
; ;debug: 是否打印gorm debug 及 casbin debug日志
; ;log_level: all,error,warn,info,debug
[server]
app_name = kplcloud
http_static = ./static/
;http_proxy =
;logs_path = /var/log/kplcloud.log
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: 是否支持跨域请求
; ;origin: Access-Control-Allow-Origin
; ;methods: Access-Control-Allow-Methods
; ;headers: Access-Control-Allow-Headers
[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相关的配置, 如下所示, 就不需要过多解释了
; ;mysql_host: mysql
; ;mysql_port: 3306
; ;mysql_user: root
; ;mysql_password: admin
; ;mysql_database: kplcloud
[mysql]
mysql_host = mysql
mysql_port = 3306
mysql_user = kplcloud
mysql_password = 32-0@g03wje;dm
mysql_database = kplcloud


; ;[redis]
; ;redis可配集群访问和单点访问
; ;redis_drive:
; ;  1. cluster: 若为该值, 则访问redis集群
; ;  2. single: 若为该值, 则访问单点redis服务
; ;redis_hosts: redis IP 地址(redis:6379), 若redis_drive为cluster,则redis_hosts需要多个IP用";"隔开
; ;redis_password: redis auth 密码
; ;redis_db: 在redis_drive为cluster的情况下 redis_db 不需要设置
[redis]
redis_drive = single
redis_hosts = redis:6379
;redis_password =
redis_db = 0

; ;[kubernetes]
; ;kubernetes的一些配置
; ;image_pull_secrets: 拉取镜像所需要的secrets名称
[kubernetes]
image_pull_secrets = regcred

; ;[jenkins]
; ;host: jenins 地址, 如: http://jenkins.devops.idc
; ;token:
; ;user: 执行相关jenkins任务的用户
; ;credentials_id: 访问jenkins的凭据, 可以在jenkins的 credentials/store/system/domain/_/credential进行配置或创建
[jenkins]
host = http://jenkins:8080/
token = 1c8da3c07ccab3c127f1f04d1ca05bac2c
user = admin
credentials_id =

; ;[consul]
; ;consul_token: 连接consul的 token
; ;consul_addr: consul地址 http://consul:8500
[consul]
consul_token =
consul_addr = http://consul:8500

; ;[amqp]
; ;url: rabbitmq的地址 amqp://kplcloud:kplcloud@rabbitmq:5672/kplcloud
; ;exchange: direct
; ;exchange_type: kplcloud-exchange
; ;routing_key: kplcloud
[amqp]
url = amqp://kplcloud:kplcloud@rabbitmq:5672/kplcloud
exchange = direct
exchange_type = kplcloud-exchange
routing_key = kplcloud

; ;[git]
; ;git_type:
; ;  1. gitlab: 使用内部自建的gitlab gitlab的版本需要支持v3 api,如果不支持 您可以自己行加载应用的package
; ;  2. github: 使用公共的github
; ;git_addr: git API地址, 例如: http://gitlab.domain.idc/api/v4/  v3 的API暂时不支持
; ;token: 访问相关git的token 需要所有基础的clone权限 0d6f6bc3ecaf97fc87aa2b8bf3e7e7d27667920b
; ;client_id:  如果使用的是github 由需要用这个在https://github.com/settings/developers上查找
[git]
;git_type = gitlab
;git_addr = https://gitlab.com
;token = fpeYxskBEP29qzzyFu2T
git_type = github
token =
client_id = github-api

; ;[email]
; ;邮箱使用的是公司邮箱,有相应用API的,把src/email/client:EmailInterface 实现一遍就好
; ;若使用的是SMTP的话,配置下面相关参数就好
; ;smtp_user: 发送邮箱
; ;smtp_password: 密码
; ;smtp_host: 服务端smtp 地址
[email]
smtp_user = 123456@qq.com
smtp_password = 654321
smtp_host = smtp.qq.com:587

; ;[ldap]
; ;ldap的相关配置,根据需要调整
[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: 微信公众号的应用ID
; ;access_token: 微信公众号的应用access_token
[wechat]
app_id =
app_secret =
token =
encoding_aes_key =
tpl_alarm = kTwwPu4Bwd-Cr684ExGAf4YN4c2uHJeq_Own14uylH4
tpl_notice = hqtepX_add4iv_O55BFD8GoSx6HwNs81GtXK7EBs38Q

; ;[msg]
; ;消息分发中心,默认接收消息的管理员id
[msg]
alarm_default_email = admin@nsini.com;kplcloud@nsini.con
prometheus_url = http://prometheus.kpaas.nsini.com

results matching ""

    No results matching ""