Forge Home

afp

Puppet module for configuring apple file sharing on EL variants

9,268 downloads

9,268 latest version

1.6 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

  • 0.0.1 (latest)
released Feb 26th 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-afp', '0.0.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

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

Manually install this module globally with Puppet module tool:

puppet module install swizzley88-afp --version 0.0.1

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.

Download

Documentation

swizzley88/afp — version 0.0.1 Feb 26th 2015

afp

Table of Contents

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

Overview

This is the afp module. It configures POSIX compatibility for the apple filing protocol "Appletalk" (afp://)

Module Description

This module is derived from swizzley88-timecapsule to configure your linux host for mac file sharing. By default, if the user or group you're logged in as on your Mac exists on the afp server, a share will be available.

Setup

You can configure the user, group, password, and as many shares as you want, so long as the absolute paths exist, and for the preconfigured user 'afp', it will.

class afp::params{
  
  $user = 'afp'
  $password = 'zo2Ps8mHNzFmY' #this equals "afp" 
  $group = 'afp'

  # comment out & or modify the volumes hash below as you wish.
  # these are intended only to be working examples
  $volumes = {
    'mnt'    => {
      volume => '/mnt',
      name   => 'Mountdir',
    }
    ,
    'users'  => {
      volume => '/home/$u',
      name   => 'Homedir for $u',
    }
    ,
    'groups' => {
      volume => '/home/$g',
      name   => 'Groupdir for $g',
    }
    ,
    'home'   => {
      volume => '/home',
      name   => 'Homedir',
    }
    ,
  }
}

Presumptions

  1. You cannot use the swizzley88-timecapsule module in conjuction with this one.
  2. You probably already have the same user on your Mac as on your afp server, in this case, configuration is taken care of by the $volume['users'] value.

Credentials

Credentials are not required, but if you wish to require them, simply modify the AppleVolumes.default.erb options and reference http://netatalk.sourceforge.net/2.0/htmldocs/AppleVolumes.default.5.html for proper values and syntax If you simply wish to use 'afp' you can connect from any capable OS using the preconfigured credentials. In order to set your default password hash to be managed, use the following command:

openssl passwd -crypt "secretPassword"

Usage

Server

include afp

Client

Open up finder and click the hostname of your server, click 'Connect As' from the upper right hand corner if your logged in user differs from $user

Considerations

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 afp::params{
  $use_epel = true
}

Requirements

puppetlabs/stdlib >= 4.2.0

puppetlabs/firewall >= 1.1.3

Compatibility

  • RHEL 6, 7
  • CentOS 6, 7
  • Fedora 18, 19, 20, 21

Limitations

This module has been tested on:

Server:

  • Fedora 20
  • CentOS 7

Client:

  • OSX 10.10.2 (Yosemite)

This module should work on:

Server:

  • Fedora 15, 16, 17, 18, 19, 21
  • CentOS 5, 6, 7
  • RHEL Server 5, 6, 7
  • RHEL Client 7
  • RHEL Workstation 5, 6, 7

Client:

  • OSX 10.x
  • OS < 9.x (limited to 2GB volume reporting)
  • Windows (issues with name conventions)
  • *nix (with afp client enabled)
  • Dropbox (depricated)

Development

Any updates or contibutions are welcome.

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

TODO

  • Add support for netatalk >= 3.0.0
  • Add Debian support
  • Add selinux support
Contact

Email: morgan@aspendenver.org

WWW: www.aspendenver.org

Github: https://github.com/swizzley