diff --git a/manifests/swh/deploy/objstorage_log_checker.pp b/manifests/swh/deploy/objstorage_log_checker.pp new file mode 100644 index 0000000..dee520a --- /dev/null +++ b/manifests/swh/deploy/objstorage_log_checker.pp @@ -0,0 +1,46 @@ +# Deployment of the swh.objstorage.api server + +class profile::swh::deploy::objstorage::log_checker { + $conf_directory = hiera('swh::deploy::objstorage::log_checker::conf_directory') + $conf_file = hiera('swh::deploy::objstorage::log_checker::conf_file') + $user = hiera('swh::deploy::objstorage::log_checker::user') + $group = hiera('swh::deploy::objstorage::log_checker::group') + + # configuration file + $directory = hiera('swh::deploy::objstorage::log_checker::directory') + $slicing = hiera('swh::deploy::objstorage::log_checker::slicing') + $checker_class = hiera('swh::deploy::objstorage::log_checker::class') + $batch_size = hiera('swh::deploy::objstorage::log_checker::batch_size') + $log_tag = hiera('swh::deploy::objstorage::log_checker::log_tag') + + $swh_packages = ['python3-swh.objstorage'] + + file {$conf_directory: + ensure => directory, + owner => 'root', + group => $group, + mode => '0750', + } + + file {$conf_file: + ensure => present, + owner => 'root', + group => $group, + mode => '0640', + content => template('profile/swh/deploy/storage/objstorage_log_checker.erb'), + notify => Service['uwsgi'], + } + + include ::systemd + + file {'/etc/systemd/system/objstorage_log_checker.service': + ensure => present, + owner => 'root', + group => 'root', + mode => '0644', + content => template('profile/swh/deploy/storage/objstorage_log_checker.service.erb'), + notify => Exec['systemd-daemon-reload'], + require => File[$conf_file], + } + +} diff --git a/templates/swh/deploy/storage/objstorage_log_checker.erb b/templates/swh/deploy/storage/objstorage_log_checker.erb new file mode 100644 index 0000000..ab6e5e0 --- /dev/null +++ b/templates/swh/deploy/storage/objstorage_log_checker.erb @@ -0,0 +1,11 @@ +# swh.objstorage.checker.LogContentChecker configuration file +# File managed by puppet - modifications will be overwritten + +storage: + cls: <%= @checker_class %> + args: + root: <%= @directory %> + slicing: <%= @slicing %> + +batch_size: <%= @batch_size %> +log_tag: <%= @log_tag %> diff --git a/templates/swh/deploy/storage/objstorage_log_checker.service.erb b/templates/swh/deploy/storage/objstorage_log_checker.service.erb new file mode 100644 index 0000000..5e5a128 --- /dev/null +++ b/templates/swh/deploy/storage/objstorage_log_checker.service.erb @@ -0,0 +1,13 @@ +# File managed by puppet - modifications will be overwritten +[Unit] +Description=ObjStorage Content Log Checker +After=network.target + +[Service] +ExecStart=python3 -m swh.objstorage.checker log --daemon +ExecReload=/bin/kill -HUP $MAINPID +KillMode=process +Restart=on-failure + +[Install] +WantedBy=multi-user.target