Skip to content

Latest commit

 

History

History
323 lines (199 loc) · 7.21 KB

REFERENCE.md

File metadata and controls

323 lines (199 loc) · 7.21 KB

Reference

Table of Contents

Classes

Public Classes

  • sssd: A short summary of the purpose of this class

Private Classes

  • sssd::base_config: ensure packages match our expected state
  • sssd::install: ensure packages match our expected state
  • sssd::service: take care of the sssd service(s)

Defined types

Classes

sssd

A description of what this class does

Examples

class { 'sssd':
  main_config => {
    'sssd' => {
       'domains' => 'a, b',
       'services => ['pam', 'nss']
     }},
  configs => {
    'enable debug' => {
      'sssd' => { 'debug' => 0 }},
    'setup different domains' => {
      'sssd' => { 'domains' => ['c', 'd'] },
      'domain/c' => { 'id_provider' => 'ldap' },
      'domain/d' => { 'id_provider' => 'ipa'}
    setup_empty_nss_section => { 'nss' => {} }
}

Parameters

The following parameters are available in the sssd class:

packages_manage

Data type: Boolean

Should we manage the package?

packages_ensure

Data type: String[1]

package ensure parameter

package_names

Data type: Array[String]

Array of packages to manage

config_manage

Data type: Boolean

Should we manage the config?

main_pki_dir

Data type: Stdlib::Absolutepath

This is probably /etc/sssd/pki on your system

main_config_dir

Data type: Stdlib::Absolutepath

This is probably /etc/sssd on your system

main_config_file

Data type: Stdlib::Absolutepath

This is probably /etc/sssd/sssd.conf on your system

config_d_location

Data type: Stdlib::Absolutepath

This is probably /etc/sssd/conf.d on your system

purge_unmanaged_conf_d

Data type: Boolean

Should we remove any files unknown to puppet in the conf_d location?

pki_owner

Data type: String

Owner for the pki directory - should probably be 'root' or 'sssd'

pki_group

Data type: String

Group for the pki directory - should probably be 'root' or 'sssd'

pki_mode

Data type: String

Group for the pki directory - should probably be '0711'

config_owner

Data type: String

Owner for the config files - should probably be 'root' or 'sssd'

config_group

Data type: String

Group for the config files - should probably be 'root' or 'sssd'

config_mode

Data type: String

chmod for the config files - should be '0600'

main_config

Data type: Hash

Hash containing the content of $main_config_file broken out by section Entries in $config_d_location can replace these elements in a last file wins methodology.

configs

Data type: Hash

A Hash similar to $main_config, but with one more level of nesting 'any text you want': section: key: value

services_manage

Data type: Boolean

Should this class manage the service states

services_ensure

Data type: Enum['stopped','running']

Service ensure parameter

services_enable

Data type: Boolean

Service enable parameter

service_names

Data type: Array[String]

Array of services that are part of sssd

Defined types

sssd::config

Transform a Hash of settings into a deterministic sssd compatible config file.

The strings will be used "as is", and arrays will be joined with ', ' which should let you set things in a number of useful ways.

Examples

sssd::config { 'main conf':
  stanzas             => {
    'sssd'        => {
      'domains'  => ['example.com', 'otherdomain.tld'],
      'services' => ['pam', 'nss', 'sudo'],
      'debug'    => 0,
    },
    'example.com' => {
      'id_provider'   => 'ldap',
    },
  },
  force_this_filename => '/etc/sssd/sssd.conf',
}

sssd::config { 'LDAP':
  stanzas => {
    'domain/LDAP'   => {
      'id_provider' => 'ldap',
    },
  },
}

Parameters

The following parameters are available in the sssd::config defined type:

stanzas

Data type: Hash

A hash of stanzas with key/value pairs of their entries

owner

Data type: String

Who should own

Default value: 'root'

group

Data type: String

Who should own

Default value: 'root'

mode

Data type: String

permissions

Default value: '0600'

order

Data type: Integer[0, 99]

prefix used to get these files in the order you want

Default value: 50

config_d_location

Data type: Stdlib::Absolutepath

This is probably /etc/sssd/conf.d on your system

Default value: '/etc/sssd/conf.d'

filename

Data type: Optional[Pattern[/\.conf$/]]

Name of the config file to write out into $config_d_location. The filename must end in .conf or sssd will not see it.

Default value: undef

force_this_filename

Data type: Optional[Stdlib::Absolutepath]

Ignore the helper logic, write out this file

Default value: undef