Smart Proxy
Smart Proxy是Foreman用于远程管理puppet、puppet ca等服务的微服务。
Smart Proxy是由Ruby的web微型框架sinatra编写。
Sinatra简要介绍
Sinatra是一个基于Ruby语言的DSL( 领域专属语言),基于Rack,可以轻松、快速的创建web应用的轻量级框架。
# myapp.rb
require 'sinatra'
get '/' do
'Hello world!'
end
安装gem,然后运行:
gem install sinatra
ruby myapp.rb
在该地址查看: http://localhost:4567
路由(route)
在Sinatra中,一个路由分为两部分:HTTP方法(GET, POST等)和URL匹配范式。 每个路由都有一个要执行的代码块:
get '/' do
.. 显示内容 ..
end
post '/' do
.. 创建内容 ..
end
put '/' do
.. 更新内容 ..
end
delete '/' do
.. 删除内容 ..
end
options '/' do
.. 显示命令列表 ..
end
link '/' do
.. 建立某种联系 ..
end
unlink '/' do
.. 解除某种联系 ..
end
Smart Proxy
可以在https://github.com/theforeman/smart-proxy找到Smart Proxy的源码。
这里就不详细讲述Smart Proxy的源码了。
可以去这里看到Smart Proxy的API: http://projects.theforeman.org/projects/smart-proxy/wiki/API