Forge Home


A secure, scriptable, remote control framework and API. Func allows for running commands on remote systems in a secure way, but better than SSH.


5,483 latest version

4.1 quality score

Version information

  • 1.3.0 (latest)
  • 1.2.0
  • 1.1.0
  • 1.0.2
  • 1.0.1
  • 1.0.0
released Jul 1st 2017
This version is compatible with:
  • Puppet Enterprise 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >=2.7.20 <5.0.0
  • , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'razorsedge-func', '1.3.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add razorsedge-func
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install razorsedge-func --version 1.3.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



razorsedge/func — version 1.3.0 Jul 1st 2017

Puppet Func Module

master branch: Build Status develop branch: Build Status


This module manages the installation and configuration of Func: Fedora Unified Network Controller. Func allows for running commands on remote systems in a secure way, like SSH, but offers several improvements.


  • Installs the func package.
  • Manages the overlord.conf and minion.conf files.
  • Starts the func service.

OS Support:

  • RedHat family - tested on CentOS 5.8+ and CentOS 6.3+
  • Debian family - presently unsupported (patches welcome)

Class documentation is available via puppetdoc.


Top Scope variable (i.e. via Dashboard):

$certmaster_use_puppet_certs = true
$func_use_puppet_certs = true
# Change SSL dir for Puppet Enterprise.
$func_puppetmaster_ssl_dir = '/etc/puppetlabs/puppet'

include 'certmaster'
include 'func::minion'

Parameterized Class:

  • minions
node default {
  class { 'certmaster':
    use_puppet_certs => true,
  class { 'func::minion':
    use_puppet_certs => true,
  • overlord
node '' {
  class { 'certmaster':
    use_puppet_certs => true,
  class { 'func::minion':
    use_puppet_certs => true,
  class { 'func::overlord':
    use_puppet_certs => true,


  • Requires the razorsedge/cetmaster module even if using Puppet certificate authentication.
  • Requires EPEL for RedHat family hosts.


  • None


  • Autopopulate the Func group file (possibly with exported resources?).
  • Figure out how to negate the call to verify_contents in puppet-rspec tests in order to make sure that content is missing from a template.
  • Add firewall support.
  • Make the Puppet client determine $puppetmaster_ssl_dir.


Please see for contribution information.


Please see LICENSE file.


Copyright (C) 2012 Mike Arnold