Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
- Puppet >= 7.0.0 < 9.0.0
- , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'markt-ssp', '1.2.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-ssp
Table of Contents
Description
This is a puppet module to install and manage Self Service Password. It is flexible to change and enable default Self Service Password functions for your location.
Requirements
This module should work with all officially supported versions of Self Service Password. The focus of this module is Self Service Password, so you should ensure that all additional components are available and ready to use:
- A webservice like Nginx or Apache puppetlabs/apache is recommended.
- A supported version of PHP (PHP-FPM is strongly recommended). The module is capable of providing a default installation of PHP, if the optional soft dependency puppet/php is available.
Usage
Basic usage
One parameter is required to setup Self Service Password:
class { 'ssp':
version => '1.5.2'
}
If you want to change the smarty version while installation process, you have to change the parameter in hiera OS-familys, like Debian-family.yaml
class { 'ssp':
smarty_package_name => 'smarty3'
If you want to change the default folder path of smarty, you have to change the one parameter in init.pp
class { 'ssp':
smarty_path => '/usr/share/php/Smarty/Smarty.class.php'
}
The folder of the Self Service Password installation is derived from two parameters: $installroot
and $symlink_name
. Using different folders is simple:
class { 'ssp':
installroot => '/opt',
symlink_name => 'ssp',
}
In this example the Self Service Password installation will live in /opt/self-service-password
, and this folder should be used as DocumentRoot for the webservice (and/or PHP-FPM).
Configure Self Service Password
Please note, never change the default config.inc.php. It is not recommended. All entries in config can be changed in Self Service Password.
For example:
class { 'ssp':
...
config => {
ldap_url => 'ldap://localhost',
ldap_binddn => 'cn=binduser',
ldap_base => 'dc=exaple,dc=com',
pwd_min_length => 20,
shadow_options => {
update_shadowLastChange => true,
shadow_expire_days => -1,
},
},
}
Directory structure
When using the module with default options...
class { 'ssp':
installroot => '/opt',
symlink_name => 'ssp',
version => '1.5.2',
}
...the directory structure will look like this:
/
|-- opt/
| |-- ssp@ # symlink to the current install dir (ssp-1.5.2)
| |-- self-service-password # default install dir
| |-- self-service-password-1.5.2 # install dir for the current version
| | |-- conf/ # default configuration folder
| | |-- config.inc.php # default configuration for SSP (do not change, recommended)
| | |-- config.inc.local.php # local config file to change settings in/for config.inc.php
Reference
Classes and parameters are documented in REFERENCE.md.
Documentation
You can read more settings in the Self Service Password Documentation
Development
Contributing
Please use the GitHub issues functionality to report any bugs or requests for new features. Feel free to fork and submit pull requests for potential contributions.
License
Copyright 2023 Daniel Renz
Reference
Table of Contents
Classes
Public Classes
ssp
: Setup LDAP Account Manager (SSP)ssp::config
: Configuration of Self Service Password
Private Classes
ssp::install
: Download and extract the distribution archive
Classes
ssp
Setup LDAP Account Manager (SSP)
Parameters
The following parameters are available in the ssp
class:
config
config_file
config_manage
config_mode
config_template
edition
group
installroot
manage_smarty
manage_symlink
mirror
smarty_path
smarty_package_name
symlink_name
user
version
config
Data type: Hash
This config Hash will be used in config.inc.local.epp
config_file
Data type: String
The path of the duplicate of the common ssp config file Specifies lookup for the installroot and ersion
config_manage
Data type: Boolean
You can enable/disable this funcion if you want to
config_mode
Data type: String
Folder permission
config_template
Data type: String
The location of the local config.inc.local.epp file
edition
Data type: Enum['oss', 'pro']
The edition of SSP that should be installed.
group
Data type: String
The name of the group that is used by the webserver process.
installroot
Data type: Stdlib::Compat::Absolute_path
Specifies the base directory where SSP should be installed. A new subdirectory for each version will be created.
manage_smarty
Data type: Boolean
You can enable/disable this funcion, if you already have php-smarty on your system
manage_symlink
Data type: Boolean
You can enable/disable this symlink funcion if you want to
mirror
Data type: Variant[Stdlib::HTTPUrl,Stdlib::HTTPSUrl]
Specifies the base URL where the distribution archive can be downloaded. Useful when providing a local mirror for the Pro edition.
smarty_path
Data type: Optional[String]
Optional, if the smarty have to be in an other path than default.
Default value: undef
smarty_package_name
Data type: String
Package Name for local OS installation. Can ben changed in hiera OS Type.
symlink_name
Data type: String
Create a symlink that points to the current version.
user
Data type: String
The name of the user that is used by the webserver process.
version
Data type: String
Specifies the version of SSP that should be installed.
ssp::config
Configuration of Self Service Password
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v1.2.0 - 2023-08-14
Changed
- Update module dependencies and Puppet version
Fixed
- Fix compatibility with puppetlabs/stdlib v9.0.0
v1.1.2 - 2023-08-08
Changed
- Update pdk from 2.7.1 to 3.0.0
v1.1.1 - 2023-04-06
Added
- Add simple unit tests
[v1.1.0] - 2023-03-15
Changed
- Add managed smarty installation and default OS hiera
v1.0.1 - 2023-03-01
Changed
- Replace lookups() in Hiera
Fixed
- Fix missing values when using resource-like class declaration and Hiera
v1.0.0 - 2023-02-28
Initial release
Dependencies
- puppetlabs/stdlib (>= 8.0.0 < 10.0.0)
- puppet/archive (>= 6.0.0 < 8.0.0)