Forge Home


Puppet module for an open time capsule / time machine backup server working with latest Mac OSX Yosemite client for EL7, Fedora 20.


9,146 latest version

3.1 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.0.2 (latest)
  • 1.0.1
  • 1.0.0
  • 0.1.0
released Feb 25th 2015
This version is compatible with:
  • Puppet Enterprise >= 3.3.0 < 4.0.0
  • Puppet >= 3.0.0 < 4.0.0
  • , ,

Start using this module

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

Add this module to your Puppetfile:

mod 'swizzley88-timecapsule', '1.0.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add swizzley88-timecapsule
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install swizzley88-timecapsule --version 1.0.2

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.



swizzley88/timecapsule — version 1.0.2 Feb 25th 2015


Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage
  5. Troubleshooting
  6. Requirements
  7. Compatibility
  8. Limitations
  9. Development


This is the timecapsule module. It provides an open-source "Time Capsule" to be used for OSX automated backups via the "Time Machine".

Module Description

The timecapsule module turns your Redhat based system into a Time Machine server. It depends on netatalk 2.2.3 rpm which is included by in the fedora repo but not in EPEL or BASE of RHEL/CentOS. Therefore an external mirror is used to download the package (netatalk-2.2.3-9.fc20) for CentOS/RHEL systems.



The timecapsule module requires layer 2 connectivity from your Mac to your time capsule server for announcements. Your timecapsule server will need to be able to access the web to download the required packages, and this module assumes you are not using a proxy, if you are, you will need to configure that manually.


Even if you prefer to use another user/group than 'timecapsule', you still want to set the $password to something to use from you mac, or just use 'timecapsule'. In order to set your password hash to be managed, use the following command:

openssl passwd -crypt "secretPassword"



include timecapsule
class timecapsule::params{
$user = 'timecapsule'
$password = '5XjeYxRW0bohs' #this equals "timecapsule" 
$group = 'timecapsule'
$mount = '/mnt/timecapsule'


Open up Time Machine from Settings and flip it on, you will see the hostname of your timecapsule server appear and the disk icon, select it, and voila.


If you use a spacewalk or satellite server for package management, or just plain don't want to enable the whole repo because you want to download and install the requirements manually for some reason, then just disable the $use_epel in params.

class timecapsule::params{
  $use_epel = true



selinux was completely ignored, so maybe start there... setenfoce 0


  1. Close "settings" on your Mac and re-open it for Time Machine to rescan/listen.
  2. Open finder and you should see your server, click it. If you're logged in as a different user than $user, or the password on your mac is different than $password, then you will need to type them in once manually.
  3. Open the mount in finder. You should see your $mount directory.

If you are connecting through finder, but Time Machine still doesn't find your server, then bounce the netatalk service a couple times on the server.

[root@timecapsule]# /usr/bin/systemctl stop netatalk.service
[root@timecapsule]# /usr/bin/systemctl start netatalk.service


Your mounts to the time capsule will drop if your Mac goes to sleep, which can cause backup failures. I reccomend a couple of things to combat this issue.

  1. By installing caffeine. Linked here:
  2. Ensure $mount is not a symlink, but an actual mount point with enough space to backup to, because puppet will ensure it is a directory.
  3. If you intend to use a remote mount point, I advise you add the mount parameters to init.pp first, and ensure => mounted


puppetlabs/stdlib >= 4.2.0

puppetlabs/firewall >= 1.1.3


  • RHEL 7
  • CentOS 7
  • Fedora 20


This module has been tested on:


  • Fedora 20
  • CentOS 7


  • OSX 10.10.2 (Yosemite)

This module should work on:


  • Fedora 21
  • CentOS 7.1
  • RHEL Server 7.x
  • RHEL Client 7.x
  • RHEL Workstation 7.x


  • OSX 10.10.x (Yosemite)
  • OSX 10.9.x (Maverics)
  • OSX 10.8.x (Mountain Lion)
  • OSX 10.7.x (Lion)
  • OSX 10.6.x (Snow Leopard)
  • OSX 10.5.x (Leopard)


Any updates or contibutions are welcome.

Report any issues with current release, as any input will be considered valuable.


  • Add support for Debian operating system family
  • Add support for netatalk >= 3.0.0
  • Add selinux support
  • Add configurable options for additional apple shares