diff --git a/site-modules/profile/manifests/swh/deploy/scheduler/journal_client.pp b/site-modules/profile/manifests/swh/deploy/scheduler/journal_client.pp index e6b03715..83f3f0d2 100644 --- a/site-modules/profile/manifests/swh/deploy/scheduler/journal_client.pp +++ b/site-modules/profile/manifests/swh/deploy/scheduler/journal_client.pp @@ -1,49 +1,56 @@ # Deployment of the swh.search.journal_client class profile::swh::deploy::scheduler::journal_client { include ::profile::swh::deploy::base_scheduler include ::profile::swh::deploy::journal $config_file = lookup('swh::deploy::scheduler::journal_client::config_file') $config = lookup('swh::deploy::scheduler::journal_client::config') $user = lookup('swh::deploy::scheduler::journal_client::user') $group = lookup('swh::deploy::scheduler::journal_client::group') $service_name = 'swh-scheduler-journal-client' $unit_name = "${service_name}.service" + $sentry_dsn = lookup("swh::deploy::scheduler::sentry_dsn", Optional[String], 'first', undef) + $sentry_environment = lookup("swh::deploy::scheduler::sentry_environment", Optional[String], 'first', undef) + $sentry_swh_package = lookup("swh::deploy::scheduler::sentry_swh_package", Optional[String], 'first', undef) + file {$config_file: 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_package # ::systemd::unit_file {$unit_name: ensure => present, content => template("profile/swh/deploy/journal/${unit_name}.erb"), } ~> service {$service_name: ensure => running, enable => true, } @@::icinga2::object::service {"check_scheduler_journal_client_${::fqdn}": import => ['generic-service'], name => "Check swh scheduler journal client service ${::fqdn}", check_command => "check_systemd", host_name => $::fqdn, command_endpoint => $::fqdn, vars => { check_systemd_unit => $unit_name, }, target => '/etc/icinga2/zones.d/master/exported-checks.conf', tag => 'icinga2::exported', } } diff --git a/site-modules/profile/templates/swh/deploy/journal/swh-scheduler-journal-client.service.erb b/site-modules/profile/templates/swh/deploy/journal/swh-scheduler-journal-client.service.erb index fcc57c23..b92e402d 100644 --- a/site-modules/profile/templates/swh/deploy/journal/swh-scheduler-journal-client.service.erb +++ b/site-modules/profile/templates/swh/deploy/journal/swh-scheduler-journal-client.service.erb @@ -1,18 +1,27 @@ # Scheduler Journal Client unit file # Managed by puppet class profile::swh::deploy::scheduler_journal_client # Changes will be overwritten [Unit] Description=Software Heritage Scheduler 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 scheduler --config-file <%= @config_file %> journal-client Restart=always RestartSec=1min [Install] WantedBy=multi-user.target