RESTful proxies for DNS, DHCP, TFTP, BMC and Puppet
Ruby Other
Latest commit a645953 Apr 5, 2017 @tek0011 tek0011 committed with witlessbird Fixes #19234: Update register-service.rb
    The question asking what user to run as was confusing
    for us as it defaults on the screen to
    "default user/logged in user", and was presented in a
    manner making a user think it's a yes or no question.
    There are numerous other reasons why the windows
    service might fail to get created.  We thought for the longest
    time it was because the service creation file (this file),
    didnt allow a domain\username to be entered.  It wasn't until
    we looked at the file that we realized its not a yes or no
    question, but asking what user you want use (and only
    showing what the current default would be if you hit enter).
Failed to load latest commit information.
bin Fixes #7766: ms dhcp provider uses native dhcps api now. Nov 10, 2016
bundler.d fixes #18745 - add xmlrpc dep to realm_freeipa under Ruby 2.4 Mar 1, 2017
config Fixes #18290 - increased puppet classes api timeout Feb 10, 2017
extra Fixes #19234: Update register-service.rb Apr 10, 2017
lib Fixes #17500 - introduced providers for realm module. Feb 8, 2017
man fixes #7197 - add man page for foreman-prepare-realm Nov 21, 2014
modules fixes #19225 - compare minor Puppet versions numerically Apr 10, 2017
sbin Fixes #16410 - handle several instances of "server" in ipa config Sep 1, 2016
tasks refs #13638 - fix .empty? check in pkg:generate_source task Feb 18, 2016
test fixes #19225 - compare minor Puppet versions numerically Apr 10, 2017
.gitignore Fixes #13761 - libvirt provider with native bindings Apr 22, 2016
.rubocop.yml fixes #17262 - verify the JSON request body contains a hash Nov 8, 2016
.rubocop_todo.yml Fixes #16766 - allow non hash-rocket syntax in rubocop Oct 3, 2016
CHANGELOG Bump version to 1.16-develop Mar 28, 2017
Contributors Bump version to 1.16-develop Mar 28, 2017
Gemfile fixes #15300 - change API endpoint to HTTPS Jun 6, 2016
LICENSE Fixes #12715 - simple log buffer and API Jan 25, 2016 Fixes #9121: better readme for the github project page Jun 11, 2015
Rakefile Fixes #14159 - output to the console during tests reduced to the norm… Mar 15, 2016
Rakefile.dist fixes #7197 - add man page for foreman-prepare-realm Nov 21, 2014
VERSION Bump version to 1.16-develop Mar 28, 2017 Fixes #15025 - do not show foreman_proxy startup messages. Jun 6, 2016
smart_proxy.gemspec Fixes #9063 - Revert pinning of Rack to < 1.6 Jan 30, 2017

Build Status Code Climate Issue Stats Support IRC channel

Smart Proxy is a free open source project that provides restful API to subsystems such as DNS, DHCP, etc, for higher level orchestration tools such as Foreman.

Supported Modules

Currently Supported modules:

  • BMC - BMC management of devices supported by freeipmi and ipmitool
  • DHCP - ISC DHCP and MS DHCP Servers
  • DNS - Bind and MS DNS Servers
  • Puppet - Any Puppet server from 0.24.x
  • Puppet CA - Manage certificate signing, cleaning and autosign on a Puppet CA server
  • Realm - Manage host registration to a realm (e.g. FreeIPA)
  • TFTP - any UNIX based tftp server


Read the Smart Proxy Installation section of the manual.


Read the Smart Proxy Settings section of the manual.

For Developers

Special thanks

The original author of this project is Ohad Levy. You can find a more thorough list of people who have contributed to this project at some point in Contributors.


See LICENSE file.