Puppet Class: solr

Defined in:
manifests/init.pp

Summary

Installs and configures the Solr search platform.

Overview

Parameters:

  • additional_packages (Array)

    Specifies a list of additional packages that are required for Solr or one of its components.

  • allow_paths (Array)

    Specifies a list of directories that should be added to the allowPath Solr option.

  • cloud (Boolean)

    Determines whether to enable Solr Cloud.

  • custom_plugins (Array)

    A list of custom plugins that will be installed.

  • custom_plugins_dir (Stdlib::Absolutepath)

    Sets the target directory for custom plugins.

  • custom_plugins_id (String)

    Sets the Solr config option that is used to configure custom plugins.

  • enable_prometheus_exporter (Boolean)

    Determines whether to enable embedded prometheus exporter as a service.

  • enable_remote_jmx (Boolean)

    Determines whether to enable remote JMX support.

  • enable_security_manager (Boolean)

    Enable Java Security Manager. This affects filesystem access permissions and may require to provide a custom security policy.

  • enable_syslog (Boolean)

    Configure syslog appender instead of file.

  • extract_dir (Stdlib::Absolutepath)

    Sets the directory where the Solr installation archive should be extracted.

  • gc_log_opts (Optional[Array])

    Sets the contents of the GC_LOG_OPTS environment variable to enable verbose GC logging.

  • gc_tune (Optional[Array])

    Sets the contents of the GC_TUNE environment variable to enable custom GC settings.

  • java_home (Optional[Stdlib::Absolutepath])

    Sets the path to a Java installation that should be used by Solr instead of the default.

  • java_mem (String)

    Sets JVM memory settings for Solr.

  • jetty_host (Optional[String])

    Sets the IP address that Solr binds to.

  • limit_file_max (Integer)

    Sets the maximum number of file descriptors.

  • limit_proc_max (Integer)

    Sets the maximum number of processes.

  • log_dir (Stdlib::Absolutepath)

    Sets the directory for Solr logs.

  • manage_allow_paths (Boolean)

    Whether to add the allowPaths option to the Solr config. When storing data outside the default paths, allowPaths must be used.

  • manage_additional_packages (Boolean)

    Whether to manage the installation of additional packages.

  • manage_custom_plugins (Boolean)

    Determines whether to enable support for custom plugins.

  • manage_service_limits (Boolean)

    Determines whether to set resource limits for the Solr service. The service is NOT restarted when limits are changed.

  • mirror (Variant[Stdlib::HTTPUrl,Stdlib::HTTPSUrl])

    Sets the download location for Solr archives. It will be used during installations and upgrades.

  • service_name (String)

    Sets the name of the system service that should be setup.

  • prometheus_exporter_user (String)

    Sets the user running the solr-exporter binary.

  • prometheus_exporter_env_vars (Optional[Hash])
  • prometheus_exporter_extra_options (Optional[String])
  • prometheus_exporter_service_name (String)

    Sets the name of the prometheus exporter system service that should be setup.

  • solr_base (Stdlib::Absolutepath)

    Internal module parameter, SHOULD NOT BE CHANGED! Specifies a symlink that is created by the Solr installer.

  • solr_home (Stdlib::Absolutepath)

    Sets the Solr data directory.

  • solr_host (String)

    Sets the hostname that should be used for Solr.

  • solr_opts (Array)

    Changes optional parameters to customize Solr’s startup parameters.

  • solr_port (Integer)

    Sets the TCP port that should be used to access the Solr service.

  • solr_time (String)

    Sets the timezone that shoule be used by Solr.

  • solr_user (String)

    Sets the name of the user to use for Solr.

  • staging_dir (String)

    Sets the staging directory that is used when installing or upgrading Solr.

  • syslog_app_name (String)

    Sets the appName for syslog.

  • syslog_facility (String)

    Sets the destination facility for syslog.

  • syslog_host (String)

    Sets the destination host for syslog.

  • syslog_port (Integer)

    Sets the destination port for syslog.

  • syslog_protocol (String)

    Sets the protocol for syslog.

  • upgrade (Boolean)

    Determines whether to enable upgrades to a new Solr version (see ‘$version`).

  • var_dir (Stdlib::Absolutepath)

    Sets the base directory for Solr configuration, data and logs.

  • version (String)

    Sets the version of Solr that should be installed or the target version for an upgrade (see ‘$upgrade`).

  • zk_chroot (Optional[String])

    Sets the ZooKeeper chroot path when using Solr Cloud (see ‘$cloud`).

  • zk_ensemble (Optional[String])

    Sets the host:port information for every machine that is part of the ZooKeeper ensemble when using Solr Cloud (see ‘$cloud`).

  • zk_timeout (Integer)

    Sets the timeout (in milliseconds) for connections to machines in the ZooKeeper ensemble.



151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# File 'manifests/init.pp', line 151

class solr (
  String $version,
  Variant[Stdlib::HTTPUrl,Stdlib::HTTPSUrl] $mirror,
  Stdlib::Absolutepath $extract_dir,
  Stdlib::Absolutepath $var_dir,
  Stdlib::Absolutepath $solr_home,
  Stdlib::Absolutepath $log_dir,
  Boolean $enable_syslog,
  String $syslog_host,
  Integer $syslog_port,
  String $syslog_protocol,
  String $syslog_app_name,
  String $syslog_facility,
  Integer $solr_port,
  String $solr_user,
  String $java_mem,
  Boolean $cloud,
  Boolean $upgrade,
  Optional[String] $zk_ensemble,
  Optional[String] $zk_chroot,
  Integer $zk_timeout,
  String $solr_host,
  String $solr_time,
  Boolean $enable_security_manager,
  Boolean $enable_prometheus_exporter,
  Boolean $enable_remote_jmx,
  String $service_name,
  Stdlib::Absolutepath $solr_base,
  Array $additional_packages,
  Array $allow_paths,
  Boolean $manage_allow_paths,
  Boolean $manage_additional_packages,
  Boolean $manage_custom_plugins,
  Array $custom_plugins,
  Stdlib::Absolutepath $custom_plugins_dir,
  String $custom_plugins_id,
  String $staging_dir,
  Boolean $manage_service_limits,
  Integer $limit_file_max,
  Integer $limit_proc_max,
  String $prometheus_exporter_service_name,
  String $prometheus_exporter_user,
  Array $solr_opts,
  Optional[Hash] $prometheus_exporter_env_vars,
  Optional[String] $prometheus_exporter_extra_options,
  Optional[Array] $gc_log_opts,
  Optional[Array] $gc_tune,
  Optional[Stdlib::Absolutepath] $java_home,
  Optional[String] $jetty_host,
) {
  Class { 'solr::install': }
  -> Class { 'solr::config': }
  -> Class { 'solr::customplugins': }
  -> Class { 'solr::service': }
  -> Class['solr']

  if $enable_prometheus_exporter {
    Class { 'solr::prometheus_exporter':
      require => Class['solr'],
    }
  }
}