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