Puppet Class: salt::master

Defined in:
manifests/master.pp

Overview

Init class for the salt-master. Contains all necessary classes and dependencies to manage salt-master.

Examples:

install salt-master

include salt::master

Parameters:

  • repo_manage (Boolean)

    true or false. Manage the repo Default: true

  • package_manage (Boolean)

    true or false. Manage the package Default: true

  • package_name (String[1])

    Name of the package to install Default: salt-master

  • package_ensure (String)

    absent or present or any valid package version. Example: 2019.2.0+ds-1 (to install a specific version) Default: present

  • package_release (String)

    latest, major or minor. This variable is used for the repo url. More infos here: [repo.saltstack.com/] Default: latest

  • package_release_version (Optional[String])

    Any valid release version. Only relevant if you set salt_release to major or minor! Example: 3002 (To pin the repo url to a major version) Example: 3002.1 (To pin the repo url to a minor version) Default: undef

  • additional_packages (Optional[Variant[Array, Hash]])

    Any additional packages you want to install. More infos, what you can set here: [forge.puppet.com/puppetlabs/stdlib/5.2.0/readme#ensure_packages] Default: undef

  • service_enable (Boolean)

    true or false. Enable or disable the service Default: true

  • service_ensure (Enum['stopped', 'running'])

    stopped or running. Default: running

  • service_name (String)

    Set the service name to manage. Default: salt-master

  • config_dir (Optional[Stdlib::Absolutepath])

    Set the config dir. Default: /etc/salt

  • config_file (Stdlib::Absolutepath)

    Set the absolute config file path. Default: %lookup(‘saltlookup(‘salt::masterlookup(‘salt::master::config_dir’)/master

  • configs (Optional[Hash])

    Any config parameter you want to deploy. You can copy the YAML structure from your existing config file and paste it here. Example:

    log_level: info
    fileserver_backend:
      - roots
    

    Default: undef



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'manifests/master.pp', line 71

class salt::master (
  Boolean                        $repo_manage,
  Boolean                        $package_manage,
  String[1]                      $package_name,
  String                         $package_ensure,
  String                         $package_release,
  Optional[String]               $package_release_version,
  Optional[Variant[Array, Hash]] $additional_packages,
  Boolean                        $service_enable,
  Enum['stopped', 'running']     $service_ensure,
  String                         $service_name,
  Optional[Stdlib::Absolutepath] $config_dir,
  Stdlib::Absolutepath           $config_file,
  Optional[Hash]                 $configs,
  ){

  if $repo_manage {
    ensure_resource('salt::repo', $package_release, {'salt_release_version' => $package_release_version })
  }

  contain salt::master::install
  contain salt::master::service
  contain salt::master::config

  Class['salt::master::install']
  -> Class['salt::master::config']

  Class['salt::master::install']
  -> Class['salt::master::service']

  Salt::Master::Config::Create <| |>
  ~> Service["${salt::master::service_name} service"]

}