Changeset View
Changeset View
Standalone View
Standalone View
site-modules/profile/manifests/swh/deploy/indexer_journal_client.pp
# Deployment of the swh.indexer.journal_client | # Deployment of the swh.indexer.journal_client | ||||
class profile::swh::deploy::indexer_journal_client { | define profile::swh::deploy::indexer_journal_client ( | ||||
$ensure = present, | |||||
$instance_name = $title, | |||||
$sentry_name = $title, | |||||
) | |||||
{ | |||||
include ::profile::swh::deploy::base_indexer | include ::profile::swh::deploy::base_indexer | ||||
include ::profile::swh::deploy::journal | include ::profile::swh::deploy::journal | ||||
$config_file = lookup('swh::deploy::indexer_journal_client::config_file') | $config_file = lookup("swh::deploy::indexer_journal_client::${instance_name}::config_file") | ||||
$config_directory = lookup('swh::deploy::base_indexer::config_directory') | $config_directory = $::profile::swh::deploy::base_indexer::config_directory | ||||
$config_path = "${config_directory}/${config_file}" | $config_path = "${config_directory}/${config_file}" | ||||
$config = lookup('swh::deploy::indexer_journal_client::config') | |||||
$user = lookup('swh::deploy::indexer_journal_client::user') | $service_basename = $::profile::swh::deploy::base_indexer::service_basename | ||||
$group = lookup('swh::deploy::indexer_journal_client::group') | $service_name = "${service_basename}@${instance_name}.service" | ||||
$parameters_conf_path = "${service_name}/parameters.conf" | |||||
$service_name = 'swh-indexer-journal-client' | |||||
$unit_name = "${service_name}.service" | case $ensure { | ||||
'present', 'running': { | |||||
$sentry_dsn = lookup("swh::deploy::indexer::sentry_dsn", Optional[String], 'first', undef) | $config = lookup("swh::deploy::indexer_journal_client::${instance_name}::config") | ||||
$sentry_environment = lookup("swh::deploy::indexer::sentry_environment", Optional[String], 'first', undef) | $loglevel = lookup("swh::deploy::indexer_journal_client::${instance_name}::loglevel") | ||||
$sentry_swh_package = lookup("swh::deploy::indexer::sentry_swh_package", Optional[String], 'first', undef) | |||||
$sentry_dsn = lookup("swh::deploy::indexer::sentry_dsn", Optional[String], "first", undef) | |||||
$sentry_environment = lookup("swh::deploy::indexer::sentry_environment", Optional[String], "first", undef) | |||||
$sentry_swh_package = lookup("swh::deploy::indexer::sentry_swh_package", Optional[String], "first", undef) | |||||
file {$config_path: | file {$config_path: | ||||
ensure => present, | ensure => present, | ||||
owner => 'root', | owner => "root", | ||||
group => $group, | group => $::profile::swh::deploy::base_indexer::group, | ||||
mode => '0640', | mode => "0640", | ||||
content => inline_template("<%= @config.to_yaml %>\n"), | content => inline_template("<%= @config.to_yaml %>\n"), | ||||
notify => Service[$service_name], | notify => Service[$service_name], | ||||
require => File[$config_directory], | |||||
} | } | ||||
# Template uses variables | # Template uses variables | ||||
# - $user | # - $config_path | ||||
# - $group | |||||
# - $sentry_dsn | # - $sentry_dsn | ||||
# - $sentry_environment | # - $sentry_environment | ||||
# - $sentry_swh_package | # - $sentry_swh_package | ||||
::systemd::unit_file {$unit_name: | # - $loglevel | ||||
::systemd::dropin_file {$parameters_conf_path: | |||||
ensure => present, | ensure => present, | ||||
content => template("profile/swh/deploy/journal/${unit_name}.erb"), | unit => $service_name, | ||||
} ~> service {$service_name: | filename => 'parameters.conf', | ||||
content => template('profile/swh/deploy/journal/parameters.conf.erb'), | |||||
} | |||||
service {$service_name: | |||||
ensure => running, | ensure => running, | ||||
enable => true, | enable => true, | ||||
require => [ | |||||
File[$config_path], | |||||
], | |||||
} | |||||
} | |||||
# Otherwise, clean up everything | |||||
default: { | |||||
::systemd::dropin_file {$parameters_conf_path: | |||||
ensure => absent, | |||||
unit => $service_name, | |||||
filename => 'parameters.conf', | |||||
} | |||||
service {$service_basename: | |||||
ensure => stopped, | |||||
} | |||||
file {$config_path: | |||||
ensure => absent, | |||||
} | |||||
} | |||||
} | } | ||||
} | } |