Skip to content

Latest commit

 

History

History
96 lines (66 loc) · 2.9 KB

README.markdown

File metadata and controls

96 lines (66 loc) · 2.9 KB

Puppet module: solr

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

Made by Alessandro Franceschi / Lab42 - http://www.example42.com

Released under the terms of Apache 2 License.

Check Modulefile for dependencies.

Development has been sponsored by Elce - http://www.elce.us

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      => "http://deploy.example42.com/solr/solr.tar.gz",
        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" ],
      }