rsync
Version information
Start using this module
Add this module to your Puppetfile:
mod 'puppetlabs-rsync', '0.4.0'
Learn more about managing modules with a PuppetfileDocumentation
puppetlabs-rsync
puppetlabs-rsync manages rsync clients, repositories, and servers as well as providing defines to easily grab data via rsync.
Class: rsync
Manage rsync package
Parameters:
$package_ensure - any of the valid values for the package resource: present, absent, purged, held, latest
Sample Usage:
class { 'rsync': package_ensure => 'latest' }
Definition: rsync::get
get files via rsync
Parameters:
$source - source to copy from
$path - path to copy to, defaults to $name
$user - username on remote system
$purge - if set, rsync will use '--delete'
$recursive - if set, rsync will use '-r'
$links - if set, rsync will use '--links'
$hardlinks - if set, rsync will use '--hard-links'
$copylinks - if set, rsync will use '--copy-links'
$times - if set, rsync will use '--times'
$include - string (or array) to be included
$exclude - string (or array) to be excluded
$keyfile - ssh key used to connect to remote host
$timeout - timeout in seconds, defaults to 900
$execuser - user to run the command (passed to exec)
$options - default options to pass to rsync (-a)
$chown - USER:GROUP simple username/groupname mapping
$onlyif - condition to run the rsync command
Actions:
get files via rsync
Requires:
$source must be set
Sample Usage:
# get file 'foo' via rsync
rsync::get { '/foo':
source => "rsync://${rsyncServer}/repo/foo/",
require => File['/foo'],
}
Definition: rsync::put
put files via rsync
Parameters:
$source - source to copy from
$path - path to copy to, defaults to $name
$user - username on remote system
$purge - if set, rsync will use '--delete'
$include - string (or array) to be included
$exclude - string (or array) to be excluded
$keyfile - path to ssh key used to connect to remote host, defaults to /home/${user}/.ssh/id_rsa
$timeout - timeout in seconds, defaults to 900
$options - default options to pass to rsync (-a)
Actions:
put files via rsync
Requires:
$source must be set
Sample Usage:
rsync::put { '${rsyncDestHost}:/repo/foo':
user => 'user',
source => "/repo/foo/",
}
Definition: rsync::server::module
sets up a rsync server
Parameters:
$path - path to data
$comment - rsync comment
$motd - file containing motd info
$read_only - yes||no, defaults to yes
$write_only - yes||no, defaults to no
$list - yes||no, defaults to no
$uid - uid of rsync server, defaults to 0
$gid - gid of rsync server, defaults to 0
$incoming_chmod - incoming file mode, defaults to 644
$outgoing_chmod - outgoing file mode, defaults to 644
$max_connections - maximum number of simultaneous connections allowed, defaults to 0
$lock_file - file used to support the max connections parameter, defaults to /var/run/rsyncd.lock only needed if max_connections > 0
$secrets_file - path to the file that contains the username:password pairs used for authenticating this module
$auth_users - list of usernames that will be allowed to connect to this module (must be undef or an array)
$hosts_allow - list of patterns allowed to connect to this module (man 5 rsyncd.conf for details, must be undef or an array)
$hosts_deny - list of patterns allowed to connect to this module (man 5 rsyncd.conf for details, must be undef or an array)
$refuse_options - list of rsync command line options that will be refused by your rsync daemon.
Actions:
sets up an rsync server
Requires:
$path must be set
Sample Usage:
# setup default rsync repository
rsync::server::module{ 'repo':
path => $base,
require => File[$base],
}
To disable default values for incoming_chmod
and outgoing_chmod
, and
do not add empty values to the resulting config, set both values to false
rsync::server::module { 'repo':
path => $base,
incoming_chmod => false,
outgoing_chmod => false,
require => File[$base],
}
##2015-01-20 - Release 0.4.0 ###Summary
This release includes several new parameters and improvements.
####Features
- Update
$include
and$exclude
to support arrays - Updated to use puppetlabs/concat instead of execs to build file!
- New parameters
- rsync::get
$options
$onlyif
- rsync::put
$include
$options
- rsync::server::module
$order
$refuse_options
- rsync::get
####Bugfixes
- Fix auto-chmod of incoming and outgoing files when
incoming_chmod
oroutgoing_chmod
is set to false
##2014-07-15 - Release 0.3.1 ###Summary
This release merely updates metadata.json so the module can be uninstalled and upgraded via the puppet module command.
##2014-06-18 - Release 0.3.0 ####Features
- Added rsync::put defined type.
- Added 'recursive', 'links', 'hardlinks', 'copylinks', 'times' and 'include' parameters to rsync::get.
- Added 'uid' and 'gid' parameters to rsync::server
- Improved support for Debian
- Added 'exclude' parameter to rsync::server::module
####Bugfixes
- Added /usr/local/bin to path for the rsync command exec.
##2013-01-31 - Release 0.2.0
- Added use_chroot parameter.
- Ensure rsync package is installed.
- Compatability changes for Ruby 2.0.
- Added execuser parameter to run command as specified user.
- Various typo and bug fixes.
##2012-06-07 - Release 0.1.0
- Initial release
Dependencies
- puppetlabs/stdlib (>=2.2.1)
- puppetlabs/xinetd (>=1.1.0)
- puppetlabs/concat (>= 1.1.1)
Puppet Labs Rsync Module - Puppet module for managing Rsync Copyright (C) 2012 Puppet Labs Inc Puppet Labs can be contacted at: info@puppetlabs.com 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.