Skip to content
Pull request Compare This branch is 1 commit ahead, 679 commits behind master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Puppet module: samba

# Written by Lab42 #

Licence: Apache2

This module installs and manages samba.
It's based on Example42's module structure and features standard and
extended classes for automatic monitoring, backup and firewalling.

All the variables used in this module are defined in the samba::params class
(File: $MODULEPATH/samba/manifests/params.pp). Here you can:
- Set default settings and filtering module's specific Users variables
- Add selectors for internal variables to adapt the module to different OSes
- Review and eventually change default settings for variables that affect the
  Example42 extended classes.

Customizations for different projects and logic on how to populate configuration
files should be placed in the $my_project classes.


# Standard Classes 
include samba              # Install and run samba 

include samba::disable     # Disable samba service.
include samba::disableboot # Disable samba service at boot time, but don't stop if is running.
include samba::absent      # Remove samba package.
include samba::debug       # Used for debugging purposes (not resource hungry)
                         # Automatically included if $debug=yes
                         # Requires Example42's puppet::params and puppet::debug

# Extended Classes
include samba::puppi       # Puppi extensions for the samba module
                         # Requires Example42's puppi module
include samba::monitor     # Monitor samba
                         # Automatically included if $monitor=yes
                         # Requires Example42's monitor module
include samba::backup      # Backup samba data
                         # Automatically included if $backup=yes
                         # Requires Example42's backup module
include samba::firewall    # Manages firewall rules for samba service
                         # Automatically included if $firewall=yes
                         # Requires Example42's firewall module

# Generic define to set parameters in the main configuration file. EXPERIMENTAL.
samba::conf { "ParameterName": value="YourValue"} # Generic 

# Module specific classes

# Module specific defines

Example42 modules collection uses some general variables that can influence the
behaviour of this module. You can happily live without considering or setting them,
but they can be useful to get many useful features out of the box.
$my_project - If set, permits you to alter and customize the module behaviour
  and files's deploy logic in custom project classes than can be placed in a separated module.   
$base_source - Lets you define an alternative source for static files:
  - $base_source not set -> Files are looked in puppet://$servername/ (the PuppetMaster)
  - $base_source set -> Files are in $base_source ( Ex: puppet://$servername/$my_module ) 
  Note that the module automatically manages the different paths for Puppet pre 0.25
$debug - If set to yes writes in /var/lib/puppet/debug/ useful debugging info

$puppi - Set to "yes" to enable samba plugins for puppi
Check samba/manifests/puppi.pp for more info.

$monitor - Set to "yes" to enable auto monitoring classes 
$monitor_tool - Defines the monitor tools to activate (At leat one, can be an array)
Check samba/manifests/monitor.pp for more info on samba monitoring related variables.

$backup - Set to "yes" to enable auto backuping classes 
$backup_tool - Defines the backup tools to activate (At leat one, can be an array)
Check samba/manifests/backup.pp for more info on samba backuping related variables.

$firewall - Set to "yes" to enable auto firewalling classes
$firewall_tool - Defines the firewall tools to activate
Check samba/manifests/firewall.pp for more info on samba firewalling related variables.

Standard classes generally don't need external modules.
Extended classes need the relevant external modules.
samba::conf generic infile configuration define needs the Example42 "common" module

OPERATING SYSTEMS SUPPORT (Planned, Development, Testing, Production):
RedHat/Centos 5 : Testing
RedHat/Centos 6 : Testing
Debian 5        : Testing
Debian 6        : Planned
Ubuntu 8.04     : Testing
Ubuntu 10.04    : Testing
SLES 10         : Planned
SLES 11         : Testing
Something went wrong with that request. Please try again.