# dockerfile 批量生成的配置文件

# 以下的文件夹名称不建议修改，如果要修改，则需要修改对应的git仓库名称
# 同时需要修改下面的ExcludeDirs: # 排除目录，以在批量全局扫描的时候不会将这些文件夹扫描进来

# rpc 批量生成的配置文件
# 重点：将所有service中的rpc文件全部都导出来，所有的service在关联其他service的微服务都需要关联该文件夹中的rpc文件，方便后续的rpc调用
# 该文件夹为重点文件夹，并且修改名称的话 Dockerfile-RpcServiceFileGitURL:的值也需要修改
RpcFilePath: middle-rpc-service-file # 创建的文件夹名称
# k8s yaml 批量生成的配置文件
# 将所有deploy文件夹中的文件都复制到指定的文件夹中
K8sFilePath: middle-k8s-deploy-file # 要输的文件夹名称
# swagger 批量生成的配置文件
# 将所有api文件夹中的json文件都复制到指定的文件夹中，方便后续的导入apifox导入
SwaggerFilePath: middle-swagger-file # 要输的文件夹名称
# conf 批量生成的配置文件
# 将所有service中的api，proto，sql文件全部都导出来，可以作为技术文档存放
ConfFilePath: middle-conf-service-file # 创建的文件夹名称
# etc 批量生成的配置文件
# 所有的数据库sql文件 批量生成的配置文件
SqlFilePath: middle-model-sql-file # 创建的文件夹名称

VueFilePath: middle-vue-file # 创建的文件夹名称

# 将所有service中的etc/yaml文件全部都导出来，目前该文件夹的作用还不明确，未来考虑可能会在做配置中心的时候可能会用到
EtcFilePath: local-build-file # 创建的文件夹名称
WinFilePath: local-windows-build-file # 创建的文件夹名称

# Dockerfile 这里地方是放置rpc文件的git地址，由于gozero的rpc服务都是调用该公用文件夹的rpc文件，所以在Dockfile编译成image的时候会clone该仓库的文件
# 所以要想成功的编译成image，需要将该仓库的文件也clone下来
# Dockerfile 中要编译成image的，还有common的一些公共方法，所以需要将该仓库的文件也会在编译成image的时候clone下来
GitlabUrl: https://gitlab.com/ # gitlab地址
GitlabGroupName: seasoul # gitlab的组名称
CommonGit: common # 公共库的git仓库名称

# Dockerfile 中的参数配置
#Dockerfile-CacheDir: mod_cache/ # 定义缓存目录
# Dockerfile 中的参数配置 登录gitlab的邮箱
DockerfileEmail: zouxiangxiong@gmail.com # git 邮箱
# Dockerfile 中的参数配置 这里是gitlab的git地址
# 要替换成InsteadOf https的地址，如果是私有仓库则需要替换掉gitlab.com这个即可
DockerfileGitSSh: "git@gitlab.com:" # git ssh
DockerfileInsteadOf: "https://gitlab.com/" # git 地址


# docker 中的yaml文件配置，如果etc/yaml文件是使用其他的文件地址，不是使用etc/yaml文件夹的话，需可以在etc/yaml增加以下前缀
# 目前还未测试过该功能，只是在开发中预留该配置
#Dockerfile-YamlPrefix: "" # yaml文件前缀 主要是准备应用在dockerfile中的etc文件夹的yaml参数，因为未知接下来的配置中心准备怎么安排和处理


# ========== K8s 参数配置 ==========
K8sNamespaceDev: sealer-dev # k8s 测试环境命名空间
K8sNamespaceTest: sealer-test #  k8s 灰度环境命名空间
K8sNamespaceProd: sealer-prod #  k8s 生产环境命名空间
#K8s-RegistryServer: registry.gitlab.com # 镜像仓库地址
#K8s-RegistryNamespace: middleground1 # 镜像仓库命名空间
K8sVersion: latest # 要部署的镜像版本

# ========== Gitlab-Ci 参数配置 ==========

#Gitlab-Ci 批量生成的配置文件
GitlabCiRegistry: registry.gitlab.com # 镜像仓库地址
GitlabCiGroup: seasoul # 镜像仓库命名空间 也即是是gitlab的分组
GitlabCiCacheDir: mod_cache/ # 缓存目录


# ========== 关于服务端口 参数配置 ==========
# Api的端口前缀
RpcPortPrefix: 17---
# Api的端口前缀
ApiPortPrefix: 19---
# job的端口前缀
JobPortPrefix: 37---



# ========== 关于镜像仓库的 参数配置 ==========
K8sGitlabImageSecret: gitlab # gitlab secret 在KubeSphere中的关于gitlab的secret名称 这个是要取gitlab的镜像仓库的


# ========== k8s容器资源配置 参数配置 ==========
K8sReplicas: "1" # k8s的副本数 默认为1
K8sRevisions: "5" # k8s的版本数 也即是k8s的回滚版本数
K8sMinReplicas: "1" # k8s的最小副本数 也即是最小的pod数
K8sMaxReplicas: "50" # k8s的最大副本数 一般不会超过50个
K8sRequestCpu: "50" # k8s的cpu请求 以m为单位
K8sRequestMem: "64" # k8s的内存请求 单位是M
K8sLimitCpu: "200" # k8s的cpu限制  单位是m
K8sLimitMem: "256" # k8s的内存限制 单位是M



# ========== 关于GoZero的 Auth 参数配置 ==========
GoZeroAccessSecret: uOvKLmVfztaXGpNYd4Z1I1SiT7MweJhl
GoZeroAccessExpire: "86400"

# ========== 关于GoZero的 AuthUser 参数配置 ==========
GoZeroUserAccessSecret: uOvKLmVsfdsfdfffs4Z1I1SiT7MweJhl
GoZeroUserAccessExpire: "86400"

# ========== 关于GoZero的 AuthStaff 参数配置 ==========
GoZeroStaffAccessSecret: FD53aZTT6g1SopLypihm8UfBxO5e5daq
GoZeroStaffAccessExpire: "86400"


# ========== api及 rpc服务 etc中的Yaml文件 参数配置 ==========
# ========== (请慎重设置，并且不要最好除了变量符号${}之外不要使用其他特殊符号，不然批量处理的后果自行负责) ==========
# Etcd服务器
EtcdServer: "${ETCD_SERVER}" # etcd ENV环境变量，一般不做修改，如果要修改，可以修改Etcd-Server-Dev 和 Etcd-Server-Prod的两个值
EtcdPort: ${ETCD_PORT} # etcd 端口 ，默认端口一般不作修改
# MySQL服务器
MySQLServer: "${MYSQL_SERVER}" # mysql ENV环境变量，一般不做修改，如果要修改，可以修改MySQL-Server-Dev 和 MySQL-Server-Prod的两个值
MySQLPort: ${MYSQL_PORT} # mysql 端口 ，默认端口一般不作修改
MySQLUser: ${MYSQL_USER} # mysql 用户名
MySQLPassword: ${MYSQL_PASSWORD} # mysql 密码
# Redis服务器
RedisServer: "${REDIS_SERVER}" # redis ENV环境变量，一般不做修改，如果要修改，可以修改RedisServer-Dev 和 RedisServer-Prod的两个值
RedisPort: ${REDIS_PORT} # redis 端口 ，默认端口一般不作修改
RedisType: ${REDIS_TYPE} # node,sentinel,cluster
RedisPassword: "${REDIS_PASSWORD}" # redis 密码
RedisDb: ${REDIS_DB} # redis 数据库

KafkaServer: "${KAFKA_SERVER}" # kafka ENV环境变量，一般不做修改，如果要修改，可以修改Kafka-Server-Dev 和 Kafka-Server-Prod的两个值
KafkaPort: ${KAFKA_PORT}

RabbitMQServer: "${RABBITMQ_SERVER}" # rabbitmq ENV环境变量，一般不做修改，如果要修改，可以修改RabbitMQ-Server-Dev 和 RabbitMQ-Server-Prod的两个值
RabbitMQPort: ${RABBITMQ_PORT}
RabbitMQUser: ${RABBITMQ_USER} # rabbitmq 用户名
RabbitMQPass: ${RABBITMQ_PASSWORD} # rabbitmq 密码

MongoDBServer: "${MONGODB_SERVER}" # mongodb ENV环境变量，一般不做修改，如果要修改，可以修改MongoDB-Server-Dev 和 MongoDB-Server-Prod的两个值
MongoDBPort: ${MONGODB_PORT}
MongoDBUser: ${MONGODB_USER} # mongodb 用户名
MongoDBPass: ${MONGODB_PASS} # mongodb 密码

BeanstalkdServer: "${BEANSTALKD_SERVER}" # beanstalkd ENV环境变量，一般不做修改，如果要修改，可以修改Beanstalkd-Server-Dev 和 Beanstalkd-Server-Prod的两个值
BeanstalkdPort: ${BEANSTALKD_PORT}

BeanstalkdRedisServer: "${BEANSTALKD_REDIS_SERVER}" # beanstalkd redis ENV环境变量，一般不做修改，如果要修改，可以修改Beanstalkd-Redis-Server-Dev 和 Beanstalkd-Redis-Server-Prod的两个值
BeanstalkdRedisPort: ${BEANSTALKD_REDIS_PORT}
BeanstalkdRedisType: ${BEANSTALKD_REDIS_TYPE}
BeanstalkdRedisPassword: "${BEANSTALKD_REDIS_PASSWORD}"
BeanstalkdRedisDb: ${BEANSTALKD_REDIS_DB}

NsqLookUpServer: "${NSQLOOKUP_SERVER}" # nsqlookup ENV环境变量，一般不做修改，如果要修改，可以修改Nsq-LookUp-Server-Dev 和 Nsq-LookUp-Server-Prod的两个值
NsqLookUpPort: ${NSQLOOKUP_PORT}
NsqDServer: "${NSQD_SERVER}" # nsqd ENV环境变量，一般不做修改，如果要修改，可以修改Nsq-D-Server-Dev 和 Nsq-D-Server-Prod的两个值
NsqDPort: ${NSQD_PORT}

JaegerServer: "${JAEGER_SERVER}" # jaeger ENV环境变量，一般不做修改，如果要修改，可以修改Jaeger-Server-Dev 和 Jaeger-Server-Prod的两个值
JaegerPort: ${JAEGER_PORT} # jaeger 端口 ，默认端口一般不作修改
JaegerSampler: "1.0" # 采样率
JaegerBatcher: "jaeger" # 批处理器

# ========== 关于Prometheus 参数配置 ==========
# Prometheus的端口前缀
PrometheusServer: "${PROMETHEUS_SERVER}"
PrometheusPort: "${PROMETHEUS_PORT}"


PrometheusPortPrefix: 2----

# 目前可能会采用一个deploy来部署多个redis
# redis是否随服务单独部署，如果true，则redis-Server-Dev和redis-Server-Prod的值直接忽略
# 如果false，则需要配置RedisServer-Dev 和 RedisServer-Prod的值
RedisDeploySeparate: false # 目前该字段为预留字段，功能未实现

# 以下为服务地址的env环境变量所对应的值，在生成k8s的yaml文件中会添加到yaml文件的env中
# 三个服务的变量值分别对应 ETCD_SERVER MYSQL_SERVER REDIS_SERVER 的变量值
# 注意mysql的dev和prod的用户名密码必需要一致，否则会报错，因为dev和prod的环境下区别只有数据库的地址不一样，其他都一样
EtcdServerDev: 192.168.31.188
EtcdPortDev: "2379"
MySQLServerDev: 192.168.31.188
MySQLPortDev: "3306"
MySQLUserDev: root
MySQLPasswordDev: "123456"
RedisServerDev: 192.168.31.188
RedisPortDev: "6379"
RedisPassDev: ""
RedisTypeDev: node
KafkaServerDev: 192.168.31.188
KafkaPortDev: "9092"
RabbitMQServerDev: 192.168.31.188
RabbitMQPortDev: "5672"
RabbitMQUserDev: admin
RabbitMQPassDev: admin
MongoDBServerDev: 192.168.31.188
MongoDBPortDev: "27017"
MongoDBUserDev: root
MongoDBPassDev: ""
BeanstalkdServerDev: 192.168.31.188
BeanstalkdPortDev: "11300"
BeanstalkdRedisServerDev: "${BEANSTALK_REDIS_SERVER}" # beanstalkd redis ENV环境变量，一般不做修改，如果要修改，可以修改Beanstalkd-Redis-Server-Dev 和 Beanstalkd-Redis-Server-Prod的两个值
BeanstalkdRedisPortDev: "6379"
BeanstalkdRedisTypeDev: ${BEANSTALK_REDIS_TYPE}
BeanstalkdRedisPasswordDev: "${BEANSTALK_REDIS_PASSWORD}"
BeanstalkdRedisDbDev: "1"
NsqLookUpServerDev: 192.168.31.188
NsqLookUpPortDev: "4161"
NsqDServerDev: 192.168.31.188
NsqDPortDev: "4150"

JaegerServerDev: "${JAEGER_SERVER}" # jaeger ENV环境变量，一般不做修改，如果要修改，可以修改Jaeger-Server-Dev 和 Jaeger-Server-Prod的两个值
JaegerPortDev: ${JAEGER_PORT} # jaeger 端口 ，默认端口一般不作修改
JaegerSamplerDev: "1.0" # 采样率
JaegerBatcherDev: "jaeger" # 批处理器

PrometheusServerDev: "${PROMETHEUS_SERVER}"
PrometheusPortDev: "${PROMETHEUS_PORT}"



EtcdServerProd: etcd.base-service-prod
EtcdPortProd: "2379"
MySQLServerProd: mysql.base-service-prod
MySQLPortProd: "3306"
MySQLUserProd: root
MySQLPasswordProd: GcNvPH9U9M
RedisServerProd: redis-master.base-service-prod
RedisPortProd: "6379"
RedisPassProd: 4levWPqXHz
RedisTypeProd: node
KafkaServerProd: kafka.base-service-prod
KafkaPortProd: "9092"
RabbitMQServerProd: rabbitmq.base-service-prod
RabbitMQPortProd: "5672"
RabbitMQUserProd: admin
RabbitMQPassProd: admin
MongoDBServerProd: mongodb.base-service-prod
MongoDBPortProd: "27017"
MongoDBUserProd: root
MongoDBPassProd: GcNvPH9U9M
BeanstalkdServerProd: beanstalkd.base-service-prod
BeanstalkdPortProd: "11300"
BeanstalkdRedisServerProd: "${BEANSTALK_REDIS_SERVER}" # beanstalkd redis ENV环境变量，一般不做修改，如果要修改，可以修改Beanstalkd-Redis-Server-Dev 和 Beanstalkd-Redis-Server-Prod的两个值
BeanstalkdRedisPortProd: "6379"
BeanstalkdRedisTypeProd: ${BEANSTALK_REDIS_TYPE}
BeanstalkdRedisPasswordProd: "${BEANSTALK_REDIS_PASSWORD}"
BeanstalkdRedisDbProd: "1"
NsqLookUpServerProd: nsqlookup.base-service-prod
NsqLookUpPortProd: "4161"
NsqDServerProd: nsqd.base-service-prod
NsqDPortProd: "4150"

JaegerServerProd: "${JAEGER_SERVER}" # jaeger ENV环境变量，一般不做修改，如果要修改，可以修改Jaeger-Server-Dev 和 Jaeger-Server-Prod的两个值
JaegerPortProd: ${JAEGER_PORT} # jaeger 端口 ，默认端口一般不作修改
JaegerSamplerProd: "1.0" # 采样率
JaegerBatcherProd: "jaeger" # 批处理器

PrometheusServerProd: "${PROMETHEUS_SERVER}"
PrometheusPortProd: "${PROMETHEUS_PORT}"


EtcdServerTest: etcd.base-service-test
EtcdPortTest: "2379"
MySQLServerTest: mysql.base-service-test
MySQLPortTest: "3306"
MySQLUserTest: root
MySQLPasswordTest: O4omjBU7uW
RedisServerTest: redis-master.base-service-test
RedisPortTest: "6379"
RedisPassTest: 4levWPqXHz
RedisTypeTest: node
KafkaServerTest: kafka.base-service-test
KafkaPortTest: "9092"
RabbitMQServerTest: rabbitmq.base-service-test
RabbitMQPortTest: "5672"
RabbitMQUserTest: admin
RabbitMQPassTest: admin
MongoDBServerTest: mongodb.base-service-test
MongoDBPortTest: "27017"
MongoDBUserTest: root
MongoDBPassTest: O4omjBU7uW
BeanstalkdServerTest: beanstalkd.base-service-test
BeanstalkdPortTest: "11300"
BeanstalkdRedisServerTest: "${BEANSTALK_REDIS_SERVER}" # beanstalkd redis ENV环境变量，一般不做修改，如果要修改，可以修改Beanstalkd-Redis-Server-Dev 和 Beanstalkd-Redis-Server-Prod的两个值
BeanstalkdRedisPortTest: "6379"
BeanstalkdRedisTypeTest: ${BEANSTALK_REDIS_TYPE}
BeanstalkdRedisPasswordTest: "${BEANSTALK_REDIS_PASSWORD}"
BeanstalkdRedisDbTest: "1"
NsqLookUpServerTest: nsqlookup.base-service-test
NsqLookUpPortTest: "4161"
NsqDServerTest: nsqd.base-service-test
NsqDPortTest: "4150"

JaegerServerTest: "${JAEGER_SERVER}" # jaeger ENV环境变量，一般不做修改，如果要修改，可以修改Jaeger-Server-Dev 和 Jaeger-Server-Prod的两个值
JaegerPortTest: ${JAEGER_PORT} # jaeger 端口 ，默认端口一般不作修改
JaegerSamplerTest: "1.0" # 采样率
JaegerBatcherTest: "jaeger" # 批处理器

PrometheusServerTest: "${PROMETHEUS_SERVER}"
PrometheusPortTest: "${PROMETHEUS_PORT}"


EtcdServerLocal: 127.0.0.1
EtcdPortLocal: "2379"
MySQLServerLocal: 127.0.0.1
MySQLPortLocal: "3306"
MySQLUserLocal: root
MySQLPasswordLocal: "123456"
RedisServerLocal: 127.0.0.1
RedisPortLocal: "6379"
RedisPassLocal: ""
RedisTypeLocal: node
MongoDBServerLocal: 127.0.0.1
MongoDBPortLocal: "27017"
MongoDBUserLocal: root
MongoDBPassLocal: ""
BeanstalkdServerLocal: 127.0.0.1
BeanstalkdPortLocal: "11300"
BeanstalkdRedisServerLocal: 127.0.0.1 # beanstalkd redis ENV环境变量，一般不做修改，如果要修改，可以修改Beanstalkd-Redis-Server-Dev 和 Beanstalkd-Redis-Server-Prod的两个值
BeanstalkdRedisPortLocal: "6379"
BeanstalkdRedisTypeLocal: node
BeanstalkdRedisPasswordLocal: ""
BeanstalkdRedisDbLocal: "1"
NsqLookUpServerLocal: 127.0.0.1
NsqLookUpPortLocal: "4161"
NsqDServerLocal: 127.0.0.1
NsqDPortLocal: "4150"


JaegerServerLocal: 127.0.0.1
JaegerPortLocal: "14268"
JaegerSamplerLocal: "1.0"
JaegerBatcherLocal: "jaeger"

PrometheusServerLocal:  127.0.0.1
PrometheusPortLocal:  "9090"


KafkaServerLocal: 127.0.0.1
KafkaPortLocal: "9092"
RabbitMQServerLocal: 127.0.0.1
RabbitMQPortLocal: "5672"
RabbitMQUserLocal: admin
RabbitMQPassLocal: admin

SQLServerServer: 127.0.0.1
SQLServerPort: "1433"
SQLServerUser: sa
SQLServerPassword: "123456"
SQLServerDatabase: "test"
SQLServerWindows: false


# ================================== 以下是配置扫描的目录及排除的文件夹 ==================================

Path: ./ # 指定目录 一般都是当前目录
ExcludeDirs: # 排除目录
  - .git
  - .idea
  - .vscode
  - _GoZeroTools
  - common
  - middle-conf-service-file
  - middle-rpc-service-file
  - middle-swagger-file
  - middle-k8s-deploy-file
  - middle-model-sql-file
  - middle-vue-file
  - local-build-file
  - local-windows-build-file


