diff --git a/site-modules/profile/manifests/swh/deploy/search/journal_client_instance.pp b/site-modules/profile/manifests/swh/deploy/search/journal_client_instance.pp --- a/site-modules/profile/manifests/swh/deploy/search/journal_client_instance.pp +++ b/site-modules/profile/manifests/swh/deploy/search/journal_client_instance.pp @@ -6,7 +6,8 @@ { include profile::swh::deploy::base_search - $service_name = "swh-search-journal-client@${instance_name}" + $service_basename = "swh-search-journal-client@${instance_name}" + $service_name = "swh-search-journal-client@${instance_name}.service" $config_path = lookup("swh::deploy::search::journal_client::${instance_name}::config_file") $config = lookup("swh::deploy::search::journal_client::${instance_name}::config", Hash, 'deep') @@ -14,6 +15,19 @@ $user = lookup('swh::deploy::base_search::user') $group = lookup('swh::deploy::base_search::group') + $sentry_dsn = lookup("swh::deploy::search::sentry_dsn", Optional[String], 'first', undef) + $sentry_environment = lookup("swh::deploy::search::sentry_environment", Optional[String], 'first', undef) + $sentry_swh_package = lookup("swh::deploy::search::sentry_swh_package", Optional[String], 'first', undef) + + # Uses: + # - $sentry_{dsn,environment,swh_package} + ::systemd::dropin_file {"${service_name}.d/parameters.conf": + ensure => present, + unit => $service_name, + filename => 'parameters.conf', + content => template('profile/swh/deploy/journal/parameters.conf.erb'), + } + case $ensure { 'present', 'running': { @@ -23,7 +37,7 @@ group => $group, mode => '0640', content => inline_template("<%= @config.to_yaml %>\n"), - notify => Service[$service_name], + notify => Service[$service_basename], } if $ensure == 'running' { @@ -32,7 +46,7 @@ $service_ensure = undef } - service {$service_name: + service {$service_basename: ensure => $service_ensure, enable => true, require => [ @@ -42,7 +56,7 @@ } default: { # clean up - service {$service_name: + service {$service_basename: ensure => absent, } -> file {$config_path: diff --git a/site-modules/profile/templates/swh/deploy/journal/parameters.conf.erb b/site-modules/profile/templates/swh/deploy/journal/parameters.conf.erb new file mode 100644 --- /dev/null +++ b/site-modules/profile/templates/swh/deploy/journal/parameters.conf.erb @@ -0,0 +1,13 @@ +# Managed by puppet - modifications will be overwritten +# In defined class profile::swh::deploy::search::journal_client + +[Service] +<%- if !@sentry_dsn.nil? and !@sentry_dsn.empty? -%> +Environment=SWH_SENTRY_DSN=<%= @sentry_dsn %> +<%- end -%> +<%- if !@sentry_environment.nil? and !@sentry_environment.empty? -%> +Environment=SWH_SENTRY_ENVIRONMENT=<%= @sentry_environment %> +<%- end -%> +<%- if !@sentry_swh_package.nil? and !@sentry_swh_package.empty? -%> +Environment=SWH_MAIN_PACKAGE=<%= @sentry_swh_package %> +<%- end -%>