Puppet Class: salt::api

Defined in:
manifests/api.pp

Overview

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

Examples:

install salt-api

include salt::api

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-api

  • package_ensure (String)

    absent or present or any valid package version. Example: 2019.2.0+ds-1 (to install a specific version) Default: lookup(‘salt::master::package_ensure’)

  • package_release (String)

    latest, major or minor. This variable is used for the repo url. More infos here: [repo.saltstack.com/] Default: lookup(‘salt::master::package_release’)

  • 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: lookup(‘salt::master::package_release_version’)

  • 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-api

  • 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::apilookup(‘salt::api::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. Default: undef



67
68
69
70
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
105
# File 'manifests/api.pp', line 67

class salt::api (
  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 ! defined(Class['salt::master']) {
    fail('You must include the salt::master class before using salt::api')
  }

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

  contain salt::api::install
  contain salt::api::service
  contain salt::api::config

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

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

  # Special, because salt-api config takes place in the master file
  Concat[$salt::api::config_file]
  ~> Service["${salt::api::service_name} service"]

}