func
A secure, scriptable remote control framework and API. Func allows for running commands on remote systems in a secure way, like SSH, but offers several improvements.
Version information
released Sep 26th 2014
This version is compatible with:
- Puppet Enterprise 3.x
- Puppet >=2.7.20 <4.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'razorsedge-func', '1.2.0'
Learn more about managing modules with a PuppetfileDocumentation
razorsedge/func — version 1.2.0 Sep 26th 2014
Puppet Func Module
master branch: develop branch:
Introduction
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.
Actions:
- 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.
Examples
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 'overlord.example.com' {
class { 'certmaster':
use_puppet_certs => true,
}
class { 'func::minion':
use_puppet_certs => true,
}
class { 'func::overlord':
use_puppet_certs => true,
}
}
Notes
- Requires the razorsedge/cetmaster module even if using Puppet certificate authentication.
- Requires EPEL for RedHat family hosts.
Issues
- None
TODO
- 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.
Contributing
Please see DEVELOP.md for contribution information.
License
Please see LICENSE file.
Copyright
Copyright (C) 2012 Mike Arnold mike@razorsedge.org
2014-09-26 Michael Arnold github@razorsedge.org - 1.2.0
Michael Arnold github@razorsedge.org (10):
- Add a directory filter for Geppetto.
- Update Geppetto .project to version 4.
- Update Modulefile summary to be more concise.
- Convert fixtures repositories to use https.
- Expand Puppet versions tested in Travis-CI.
- Update Modulefile source to use https.
- Allow tracking of metadata.json.
- Switch to using metadata.json vs Modulefile.
- Remove unneeded dependency on stahnma/epel.
- Update versions for 1.2.0 release.
2013-09-01 Michael Arnold github@razorsedge.org - 1.1.0
Michael Arnold github@razorsedge.org (8):
- Update module build scaffolding.
- Expand Puppet versions tested in Travis-CI.
- Rake validate to also check ERB for syntax errors.
- Add contribution instructions to README.md.
- Update tests/init.pp to pass puppet-lint.
- Convert to Ruby instance variables in templates.
- Update the GFM in the README.md.
- Update versions for 1.1.0 release.
2012-11-20 Michael Arnold github@razorsedge.org - 1.0.2
Michael Arnold github@razorsedge.org (2):
- Fix for duplicate declaration of Class[Func]
- Update versions for 1.0.2 release.
2012-11-19 Michael Arnold github@razorsedge.org - 1.0.1
Michael Arnold github@razorsedge.org (4):
- Update tests.
- Replace include with parameterized class.
- Change Modulefile dependency.
- Update versions for 1.0.1 release.
2012-11-18 Michael Arnold github@razorsedge.org - 1.0.0
Dependencies
- puppetlabs/stdlib (>=2.1.0)
- razorsedge/certmaster (>=1.0.0)
Copyright (C) 2012 Mike Arnold <mike@razorsedge.org> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.