Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Module to install and configure Apache - Solr
Puppet Ruby
branch: master
Failed to load latest commit information.


Puppet module: solr

This is a Puppet solr module from the second generation of Example42 Puppet Modules.

Made by Alessandro Franceschi / Lab42 -

Released under the terms of Apache 2 License.

Check Modulefile for dependencies.

Development has been sponsored by Elce -

USAGE - Basic management

  • Install solr with default settings

    class { "solr": }
  • Remove solr

    class { "solr":
      absent => true,
  • Define solr installation method: Valid values for install => are "package" (default), "source" and "puppi".

    class { "solr":
      install => "source",
  • Install source from a custom url to a custom install_destination path. The following parameters apply both for "source" and "puppi" install methods. Puppi method may be used to manage deployment updates (given the $install_source is updated). By default install_source is set to upstream developer and install_destination to Web (App) server document root Pre and post installation commands may be already defined (check solr/manifests/params.pp) override them only if needed. Url_check and url_pattern are used for application checks, if monitor is enabled. Override only if needed.

      class { "solr":
        install             => "source",
        install_source      => "",
        install_destination => "/opt/apps/",
        # install_precommand  => "...",
        # install_postcommand => "...",
        # url_check           => "...",
        # url_pattern         => "...",

USAGE - Overrides and Customizations

  • Use custom sources for main config file

    class { "solr":
      source => [ "puppet:///modules/lab42/solr/solr.conf-$hostname" , "puppet:///modules/lab42/solr/solr.conf" ], 
  • Use custom template for main config file

    class { "solr":
      template => "example42/solr/solr.conf.erb",      
  • Define custom options that can be used in a custom template without the need to add parameters to the solr class

      class { "solr":
        template => "example42/solr/solr.conf.erb",    
        options  => {
          'LogLevel' => 'INFO',
          'UsePAM'   => 'yes',
  • Automaticallly include a custom subclass

    class { "solr:"
      my_class => 'lab42::solr',

USAGE - Example42 extensions management

  • Activate puppi (recommended, but disabled by default) Note that this option requires the usage of Example42 puppi module

      class { "solr": 
        puppi    => true,
  • Activate automatic monitoring (recommended, but disabled by default) This option requires the usage of Example42 monitor and relevant monitor tools modules

      class { "solr":
        monitor      => true,
        monitor_tool => [ "nagios" , "monit" , "munin" ],
Something went wrong with that request. Please try again.