diff --git a/site-modules/profile/manifests/swh/deploy/indexer_journal_client.pp b/site-modules/profile/manifests/swh/deploy/indexer_journal_client.pp index 713eaf78..23f40c12 100644 --- a/site-modules/profile/manifests/swh/deploy/indexer_journal_client.pp +++ b/site-modules/profile/manifests/swh/deploy/indexer_journal_client.pp @@ -1,37 +1,43 @@ # Deployment of the swh.indexer.journal_client class profile::swh::deploy::indexer_journal_client { include ::profile::swh::deploy::base_indexer include ::profile::swh::deploy::journal $config_file = lookup('swh::deploy::indexer_journal_client::config_file') $config_directory = lookup('swh::deploy::base_indexer::config_directory') $config_path = "${config_directory}/${config_file}" $config = lookup('swh::deploy::indexer_journal_client::config') $user = lookup('swh::deploy::indexer_journal_client::user') $group = lookup('swh::deploy::indexer_journal_client::group') $service_name = 'swh-indexer-journal-client' $unit_name = "${service_name}.service" + $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: ensure => present, owner => 'root', group => $group, mode => '0640', content => inline_template("<%= @config.to_yaml %>\n"), notify => Service[$service_name], } # Template uses variables # - $user # - $group - # + # - $sentry_dsn + # - $sentry_environment + # - $sentry_swh_package ::systemd::unit_file {$unit_name: ensure => present, content => template("profile/swh/deploy/journal/${unit_name}.erb"), } ~> service {$service_name: ensure => running, enable => true, } } diff --git a/site-modules/profile/templates/swh/deploy/journal/swh-indexer-journal-client.service.erb b/site-modules/profile/templates/swh/deploy/journal/swh-indexer-journal-client.service.erb index 146035c0..93dfda2b 100644 --- a/site-modules/profile/templates/swh/deploy/journal/swh-indexer-journal-client.service.erb +++ b/site-modules/profile/templates/swh/deploy/journal/swh-indexer-journal-client.service.erb @@ -1,18 +1,27 @@ # Indexer Journal Client unit file # Managed by puppet class profile::swh::deploy::indexer_journal_client # Changes will be overwritten [Unit] Description=Software Heritage Indexer Journal Client After=network.target [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 -%> User=<%= @user %> Group=<%= @group %> Type=simple ExecStart=/usr/bin/swh indexer --config-file <%= @config_path %> journal-client Restart=always RestartSec=10 [Install] WantedBy=multi-user.target