https://github.com/gotoolkits/upstr
Dynamic sync nginx upstream and backend servers to use consul, kv store upstream name and consul service info.
https://github.com/gotoolkits/upstr
Last synced: about 1 month ago
JSON representation
Dynamic sync nginx upstream and backend servers to use consul, kv store upstream name and consul service info.
- Host: GitHub
- URL: https://github.com/gotoolkits/upstr
- Owner: gotoolkits
- Created: 2017-08-01T10:42:26.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-08-23T05:54:34.000Z (almost 8 years ago)
- Last Synced: 2025-04-27T00:34:34.569Z (about 1 month ago)
- Language: Go
- Size: 9.77 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# upStr
`针对Docker服务注册与发现后Api网关动态加载(Nginx Upstream)处理工具。
使用Consul KV与Service功能作为服务存储后端,动态加载Upstream实例,并
加载配置。`## 安装
> 依赖go环境,请确保go环境安装正常
1) go get github.com/gotoolkits/upstr
2) cd $GOPATH/github.com/gotoolkits/
go install upstr.go## API接口
> 接口: /
> 方法: Get
> 说明: 返回系统info状态信息{
"WorkPath": "/usr/local/bin",
"ConfigPath": "/usr/local/orange/conf/nginx.conf",
"Consul": "192.168.X.X:8500",
"KvPath": "paas/ngx/upstream_name?raw",
"UpstremNum": 0,
"Updated": 0,
"Error": 0,
"LastUpdate": ""
}> 接口: /list
> 方法: Get
> 说明: 返回当前Nginx服务已配置的upstream列表{
"app": [
"127.0.0.1:8001"
],
"bkoffice": [
"127.0.0.1:8001"
],
"default_upstream": [
"127.0.0.1:8001"
],
"grafana": [
"127.0.0.1:8001"
]
}> 接口: /reload
> 方法: Get
> 说明: 拉取KV配置更新upstream,Reload配置{
"status": "successful",
"errCount": 0,
"updateConut": 4,
"UpdateTime": "2017-08-03 09:41:56"
}> 接口: /status
> 方法: Get
> 说明: 获取upstr服务自身状态,可用于监控ok
## 配置文件
> 默认查找路径:
> 1. 当前目录config.json (与执行文件同目录) `优先`
> 2. /etc/upstr/config.json{
"setting": {
"port":"18082"
},
"consul":{
"host":"192.168.X.X:8500"
},
"orange":{
"work_path":"/usr/local/bin",
"config_path":"/usr/local/orange/conf/nginx.conf"
}
}## Todo
> 1) API接口访问安全功能
> 2) 启动命令参数