####Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with salt
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- TODO
Manage salt server, client, cloud, api, syndic and ssh via Puppet. By default no parameters are set for master, minion, cloud, api, syndic and salt-ssh because SaltStack provides sane defaults for most of these (exceptions being api_port and syndic_syndic_master).
##Module Description
This module can be used to install a single salt master, minion, cloud, api, syndic, ssh or all on one machine.
##Setup
###What salt affects
- salt master/minion/cloud/api/syndic/ssh package.
- salt master/minion/cloud/api/syndic/ssh configuration files.
- salt master/minion/api/syndic service.
###Beginning with salt
Just add manifest:
include salt
Or if you want to change params you need to include the underlying modules:
class { 'salt::minion': minion_package_name => 'salt-minion-git', }
class { 'salt::master': master_package_name => 'salt-master-git', }
##Usage
All interaction with the salt module can be done through the main salt class. All services EXCEPT salt-minion rely on salt-master and will be installed along side whatever additional service you specify.
###I just want salt, what's the minimum I need?
include '::salt'
###I just want a salt minion?
include '::salt::minion'
###I just want a salt master?
this will install a salt master and a minion for itself.
include '::salt::master'
This is applicable to all salt-$PACKAGENAME included in this module.
##Reference
###Classes
- 'salt': Main class, includes all the rest.
- 'salt::minion': Handles salt-minion.
- 'salt::master': Handles salt-master.
- 'salt::cloud': Handles salt-cloud.
- 'salt::api': Handles salt-api.
- 'salt::syndic': Handles salt-syndic.
- 'salt::ssh': Handles salt-ssh.
- 'salt::params': all parameters needed for the rest.
##Limitations
This module has been built on and tested against CentOS >= 5, Puppet >= 3.8.4 and Ruby >=2.0.0.
##TODO
- Add multi-distro support for latest package installs
- Add multi-os support
- Better test coverage