Add contributor edition
- added viaf resolver
- improve contributors list display
- add update of document objects
- propagate update to back office
- update back office
- add bo-client to back office
- setup language initializer
- add options mechanism
- add language information in language list
- add lexvo resolver service + api
- add language and lexvo resolver to js app
- correct env template
- refresh bootstrap
- download google font
- add version information
- update dev virtual machine to centos7
- add a readme + clean folders
- add local .env file to start commands
# == Class: elasticsearch::params
#
# This class exists to
# 1. Declutter the default value assignment for class parameters.
# 2. Manage internally used module variables in a central place.
#
# Therefore, many operating system dependent differences (names, paths, ...)
# are addressed in here.
#
#
# === Parameters
#
# This class does not provide any parameters.
#
#
# === Examples
#
# This class is not intended to be used directly.
#
#
# === Links
#
# * {Puppet Docs: Using Parameterized Classes}[http://j.mp/nVpyWY]
#
#
# === Authors
#
# * Richard Pijnenburg <mailto:richard@ispavailability.com>
#
class elasticsearch::params {
#### Default values for the parameters of the main module class, init.pp
# ensure
$ensure = 'present'
# autoupgrade
$autoupgrade = false
# service status
$status = 'enabled'
# restart on configuration change?
$restart_on_change = true
# Purge configuration directory
$purge_configdir = false
$purge_package_dir = false
# package download timeout
$package_dl_timeout = 600 # 300 seconds is default of puppet
$default_logging_level = 'INFO'
$logging_defaults = {
'action' => 'DEBUG',
'com.amazonaws' => 'WARN',
'index.search.slowlog' => 'TRACE, index_search_slow_log_file',
'index.indexing.slowlog' => 'TRACE, index_indexing_slow_log_file',
}
#### Internal module values
# User and Group for the files and user to run the service as.
case $::kernel {
'Linux': {
$elasticsearch_user = 'elasticsearch'
$elasticsearch_group = 'elasticsearch'
}
'Darwin': {
$elasticsearch_user = 'elasticsearch'
$elasticsearch_group = 'elasticsearch'
}
default: {
fail("\"${module_name}\" provides no user/group default value
for \"${::kernel}\"")
}
}
# Download tool
case $::kernel {
'Linux': {
$download_tool = 'wget --no-check-certificate -O'
}
'Darwin': {
$download_tool = 'curl --insecure -o'
}
default: {
fail("\"${module_name}\" provides no download tool default value
for \"${::kernel}\"")
}
}
# Different path definitions
case $::kernel {
'Linux': {
$configdir = '/etc/elasticsearch'
$logdir = '/var/log/elasticsearch'
$package_dir = '/opt/elasticsearch/swdl'
$installpath = '/opt/elasticsearch'
$homedir = '/usr/share/elasticsearch'
$plugindir = "${homedir}/plugins"
$plugintool = "${homedir}/bin/plugin"
$datadir = '/usr/share/elasticsearch/data'
}
default: {
fail("\"${module_name}\" provides no config directory default value
for \"${::kernel}\"")
}
}
# packages
case $::operatingsystem {
'RedHat', 'CentOS', 'Fedora', 'Scientific', 'Amazon', 'OracleLinux', 'SLC': {
# main application
$package = [ 'elasticsearch' ]
}
'Debian', 'Ubuntu': {
# main application
$package = [ 'elasticsearch' ]
}
'OpenSuSE': {
$package = [ 'elasticsearch' ]
}
default: {
fail("\"${module_name}\" provides no package default value
for \"${::operatingsystem}\"")
}
}
# service parameters
case $::operatingsystem {
'RedHat', 'CentOS', 'Fedora', 'Scientific', 'OracleLinux', 'SLC': {
$service_name = 'elasticsearch'
$service_hasrestart = true
$service_hasstatus = true
$service_pattern = $service_name
$defaults_location = '/etc/sysconfig'
$pid_dir = '/var/run/elasticsearch'
if versioncmp($::operatingsystemmajrelease, '7') >= 0 {
$init_template = 'elasticsearch.systemd.erb'
$service_providers = 'systemd'
} else {
$init_template = 'elasticsearch.RedHat.erb'
$service_providers = 'init'
}
}
'Amazon': {
$service_name = 'elasticsearch'
$service_hasrestart = true
$service_hasstatus = true
$service_pattern = $service_name
$defaults_location = '/etc/sysconfig'
$pid_dir = '/var/run/elasticsearch'
$init_template = 'elasticsearch.RedHat.erb'
$service_providers = 'init'
}
'Debian': {
$service_name = 'elasticsearch'
$service_hasrestart = true
$service_hasstatus = true
$service_pattern = $service_name
$defaults_location = '/etc/default'
if versioncmp($::operatingsystemmajrelease, '8') >= 0 {
$init_template = 'elasticsearch.systemd.erb'
$service_providers = 'systemd'
$pid_dir = '/var/run/elasticsearch'
} else {
$init_template = 'elasticsearch.Debian.erb'
$service_providers = [ 'init' ]
$pid_dir = false
}
}
'Ubuntu': {
$service_name = 'elasticsearch'
$service_hasrestart = true
$service_hasstatus = true
$service_pattern = $service_name
$defaults_location = '/etc/default'
if versioncmp($::operatingsystemmajrelease, '15') >= 0 {
$init_template = 'elasticsearch.systemd.erb'
$service_providers = 'systemd'
$pid_dir = '/var/run/elasticsearch'
} else {
$init_template = 'elasticsearch.Debian.erb'
$service_providers = [ 'init' ]
$pid_dir = false
}
}
'Darwin': {
$service_name = 'FIXME/TODO'
$service_hasrestart = true
$service_hasstatus = true
$service_pattern = $service_name
$service_providers = 'launchd'
$defaults_location = false
$pid_dir = false
}
'OpenSuSE': {
$service_name = 'elasticsearch'
$service_hasrestart = true
$service_hasstatus = true
$service_pattern = $service_name
$service_providers = 'systemd'
$defaults_location = '/etc/sysconfig'
$init_template = 'elasticsearch.systemd.erb'
$pid_dir = '/var/run/elasticsearch'
}
default: {
fail("\"${module_name}\" provides no service parameters
for \"${::operatingsystem}\"")
}
}
}