/gateway_ui

网关图形配置工具,基于rails

Primary LanguageRubyApache License 2.0Apache-2.0

API网关图形配置工具

网关项目

基于ruby on rails进行开发,通过restful进行配置管理。

安装

# Docker required
git clone https://github.com/archfish/gateway_ui.git
cd gateway_ui
make

启动

docker run -d --restart always -p 3000:3000 \
        --name gateway_ui \
        -u 1001:1001 \
        -h gateway.ui.production \
        -l SERVICE_80_NAME=gatewayui \
        -e RAILS_ENV=production \
        -e GATEWAY_BACKEND=gateway_container_service:port \
        gateway_ui:[your tag]
  • SERVICE_80_NAME用于consul服务发现的服务名,可忽略;
  • RAILS_ENV配置rails运行的环境,必须为production;
  • GATEWAY_BACKEND网关restful API的服务地址+端口号;
  • RAILS_LOG_TO_STDOUT是否输出到/dev/stdout,可以通过docker logs查看日志,如果设置为false,则日志输出到log/production.log;
  • 打包出来的images的tag自动以%Y%m%d%H%M格式保存;

网易镜像仓库

docker pull hub.c.163.com/weihailang/gateway_ui:latest

配置思路

  • 配置Server。即真实服务列表,真正处理请求业务的地方
  • 配置Cluster,关联Server。一个Cluster下的Server支持负载均衡
  • 配置API,并在Nodes节点下关联Cluster

更多详情请查看网关相关文档

注意

项目没有做权限管理,同时也不打算做这个功能,安全性上只能通过网络限制实现,请不要将服务运行在开放的外网环境中。

推荐通过Nginx进行基础验证,配置方法

参与开发

# required ruby installed!

git clone https://github.com/archfish/gateway_ui.git && cd gateway_ui
bundle install
bundle exec rails s -p 3100