diff --git a/site-modules/profile/manifests/swh/deploy/worker/checker_deposit.pp b/site-modules/profile/manifests/swh/deploy/worker/checker_deposit.pp index 84d66b68..46b0927d 100644 --- a/site-modules/profile/manifests/swh/deploy/worker/checker_deposit.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/checker_deposit.pp @@ -1,14 +1,15 @@ # Deployment for deposit's archive checker class profile::swh::deploy::worker::checker_deposit { $packages = ['python3-swh.deposit.loader'] package {$packages: ensure => 'present', } $private_tmp = lookup('swh::deploy::worker::checker_deposit::private_tmp') ::profile::swh::deploy::worker::instance {'checker_deposit': ensure => 'present', + sentry_name => 'deposit', private_tmp => $private_tmp, } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_content_ctags.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_content_ctags.pp index 553902be..bf1b489c 100644 --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_content_ctags.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_content_ctags.pp @@ -1,18 +1,19 @@ # Deployment for swh-indexer-ctags class profile::swh::deploy::worker::indexer_content_ctags { include ::profile::swh::deploy::indexer $packages = ['universal-ctags'] package {$packages: ensure => 'present', } Package[$::profile::swh::deploy::base_indexer::packages] ~> ::profile::swh::deploy::worker::instance {'indexer_content_ctags': ensure => 'stopped', + sentry_name => 'indexer', require => [ Class['profile::swh::deploy::indexer'], Package[$packages], ], } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_content_mimetype.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_content_mimetype.pp index 7614c706..e69727fb 100644 --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_content_mimetype.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_content_mimetype.pp @@ -1,12 +1,13 @@ # Deployment for swh-indexer-mimetype class profile::swh::deploy::worker::indexer_content_mimetype { include ::profile::swh::deploy::indexer Package[$::profile::swh::deploy::base_indexer::packages] ~> ::profile::swh::deploy::worker::instance {'indexer_content_mimetype': ensure => present, + sentry_name => 'indexer', require => [ Class['profile::swh::deploy::indexer'] ], } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_fossology_license.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_fossology_license.pp index 42377f82..68e3d2cd 100644 --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_fossology_license.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_fossology_license.pp @@ -1,17 +1,18 @@ # Deployment for swh-indexer-fossology-license class profile::swh::deploy::worker::indexer_fossology_license { include ::profile::swh::deploy::indexer $packages = ['fossology-nomossa'] package {$packages: ensure => 'present', } Package[$::profile::swh::deploy::base_indexer::packages] ~> ::profile::swh::deploy::worker::instance {'indexer_fossology_license': ensure => present, + sentry_name => 'indexer', require => [ Class['profile::swh::deploy::indexer'], Package[$packages], ], } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_origin_intrinsic_metadata.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_origin_intrinsic_metadata.pp index 61bdfc28..ac201309 100644 --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_origin_intrinsic_metadata.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_origin_intrinsic_metadata.pp @@ -1,12 +1,13 @@ # Deployment for swh-indexer-origin-intrinsic-metadata class profile::swh::deploy::worker::indexer_origin_intrinsic_metadata { include ::profile::swh::deploy::indexer Package[$::profile::swh::deploy::base_indexer::packages] ~> ::profile::swh::deploy::worker::instance {'indexer_origin_intrinsic_metadata': ensure => present, + sentry_name => 'indexer', require => [ Class['profile::swh::deploy::indexer'], ], } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_rehash.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_rehash.pp index f2cdc7ad..65ef2866 100644 --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_rehash.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_rehash.pp @@ -1,12 +1,13 @@ # Deployment for swh-indexer-rehash class profile::swh::deploy::worker::indexer_rehash { include ::profile::swh::deploy::indexer Package[$::profile::swh::deploy::base_indexer::packages] ~> ::profile::swh::deploy::worker::instance {'indexer_rehash': ensure => 'stopped', + sentry_name => 'indexer', require => [ Class['profile::swh::deploy::indexer'] ], } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/instance.pp b/site-modules/profile/manifests/swh/deploy/worker/instance.pp index 13397ccb..ad942bca 100644 --- a/site-modules/profile/manifests/swh/deploy/worker/instance.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/instance.pp @@ -1,61 +1,65 @@ # Instance of a worker define profile::swh::deploy::worker::instance ( $ensure = present, $max_tasks_per_child = 5, $instance_name = $title, + $sentry_name = $title, $limit_no_file = undef, $private_tmp = undef) { include ::profile::swh::deploy::worker::base $service_basename = "swh-worker@${instance_name}" $service_name = "${service_basename}.service" $concurrency = lookup("swh::deploy::worker::${instance_name}::concurrency") $loglevel = lookup("swh::deploy::worker::${instance_name}::loglevel") $config_file = lookup("swh::deploy::worker::${instance_name}::config_file") $config = lookup("swh::deploy::worker::${instance_name}::config", Hash, 'deep') + $sentry_dsn = lookup("swh::deploy::${sentry_name}::sentry_dsn", Optional[String], 'first', undef) + case $ensure { 'present', 'running': { # Uses variables # - $concurrency # - $loglevel # - $max_tasks_per_child + # - $sentry_dsn ::systemd::dropin_file {"${service_basename}/parameters.conf": ensure => present, unit => $service_name, filename => 'parameters.conf', content => template('profile/swh/deploy/worker/parameters.conf.erb'), } file {$config_file: ensure => 'present', owner => 'swhworker', group => 'swhworker', mode => '0644', content => inline_template("<%= @config.to_yaml %>\n"), } if $ensure == 'running' { $service_ensure = 'running' } else { $service_ensure = undef } service {$service_basename: ensure => $service_ensure, enable => true, require => [ File[$config_file], ] } } default: { ::systemd::dropin_file {"${service_basename}/parameters.conf": ensure => absent, unit => $service_name, filename => 'parameters.conf', } } } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/loader_archive.pp b/site-modules/profile/manifests/swh/deploy/worker/loader_archive.pp index 617d2aa1..92993313 100644 --- a/site-modules/profile/manifests/swh/deploy/worker/loader_archive.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/loader_archive.pp @@ -1,20 +1,21 @@ # Deployment for loader-archive class profile::swh::deploy::worker::loader_archive { include ::profile::swh::deploy::worker::loader_package $private_tmp = lookup('swh::deploy::worker::loader_archive::private_tmp') # Extra dependencies to improve the tarball support package {'lzip': ensure => 'present', } ::profile::swh::deploy::worker::instance {'loader_archive': ensure => present, private_tmp => $private_tmp, + sentry_name => 'loader_core', require => [ Package[$packages], Package['lzip'], ], } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/loader_deposit.pp b/site-modules/profile/manifests/swh/deploy/worker/loader_deposit.pp index fd448a36..8dd1e74e 100644 --- a/site-modules/profile/manifests/swh/deploy/worker/loader_deposit.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/loader_deposit.pp @@ -1,10 +1,11 @@ # Deployment for deposit's loader class profile::swh::deploy::worker::loader_deposit { include ::profile::swh::deploy::worker::loader_package $private_tmp = lookup('swh::deploy::worker::loader_deposit::private_tmp') ::profile::swh::deploy::worker::instance {'loader_deposit': ensure => 'present', + sentry_name => 'loader_core', private_tmp => $private_tmp, } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/vault_cooker.pp b/site-modules/profile/manifests/swh/deploy/worker/vault_cooker.pp index f4243376..cad5ff41 100644 --- a/site-modules/profile/manifests/swh/deploy/worker/vault_cooker.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/vault_cooker.pp @@ -1,12 +1,13 @@ # Deployment of a vault cooker class profile::swh::deploy::worker::vault_cooker { include ::profile::swh::deploy::base_vault ::profile::swh::deploy::worker::instance {'vault_cooker': ensure => present, + sentry_name => 'vault', require => [ Package[$packages], ], } } diff --git a/site-modules/profile/templates/swh/deploy/worker/parameters.conf.erb b/site-modules/profile/templates/swh/deploy/worker/parameters.conf.erb index 80487de1..df327a1e 100644 --- a/site-modules/profile/templates/swh/deploy/worker/parameters.conf.erb +++ b/site-modules/profile/templates/swh/deploy/worker/parameters.conf.erb @@ -1,13 +1,16 @@ # Managed by puppet - modifications will be overwritten # In defined class profile::swh::deploy::worker::instance [Service] Environment=CONCURRENCY=<%= @concurrency %> Environment=MAX_TASKS_PER_CHILD=<%= @max_tasks_per_child %> Environment=LOGLEVEL=<%= @loglevel %> +<%- if !@sentry_dsn.nil? and !@sentry_dsn.empty? -%> +Environment=SWH_SENTRY_DSN=<%= @sentry_dsn %> +<%- end -%> <% if @limit_no_file %> LimitNOFILE=<%= @limit_no_file %> <% end %> <% if @private_tmp %> PrivateTmp=<%= @private_tmp %> <% end %>