diff --git a/manifests/site.pp b/manifests/site.pp --- a/manifests/site.pp +++ b/manifests/site.pp @@ -75,7 +75,7 @@ } node /^getty.(internal.)?softwareheritage.org$/ { - include role::swh_journal_orchestrator + include role::swh_journal_orchestrator_with_backfill_config } node /^worker\d+\.(internal\.)?softwareheritage\.org$/ { @@ -151,9 +151,7 @@ } node /^storage\d\.internal\.staging\.swh\.network$/ { - include role::swh_base_storage - include profile::postgresql::client - include profile::swh::deploy::journal::backfill + include role::swh_storage_with_backfill_config } node /^worker\d\.internal\.staging\.swh\.network$/ { diff --git a/site-modules/profile/manifests/swh/deploy/base_storage.pp b/site-modules/profile/manifests/swh/deploy/base_storage.pp --- a/site-modules/profile/manifests/swh/deploy/base_storage.pp +++ b/site-modules/profile/manifests/swh/deploy/base_storage.pp @@ -8,4 +8,8 @@ mode => '0755', } + $package = 'python3-swh.storage' + package {$package: + ensure => 'present', + } } diff --git a/site-modules/profile/manifests/swh/deploy/journal/backfill.pp b/site-modules/profile/manifests/swh/deploy/journal/backfill.pp --- a/site-modules/profile/manifests/swh/deploy/journal/backfill.pp +++ b/site-modules/profile/manifests/swh/deploy/journal/backfill.pp @@ -1,5 +1,8 @@ # Deployment of journal backfill configuration class profile::swh::deploy::journal::backfill { + include profile::swh::deploy::base_storage + include profile::swh::deploy::journal + $config_path = lookup('swh::deploy::journal::backfill::config_file') $config = lookup('swh::deploy::journal::backfill::config') diff --git a/site-modules/profile/manifests/swh/deploy/storage.pp b/site-modules/profile/manifests/swh/deploy/storage.pp --- a/site-modules/profile/manifests/swh/deploy/storage.pp +++ b/site-modules/profile/manifests/swh/deploy/storage.pp @@ -3,12 +3,13 @@ class profile::swh::deploy::storage { include ::profile::swh::deploy::base_storage - package {'python3-swh.storage': - ensure => 'present', - } ~> ::profile::swh::deploy::rpc_server {'storage': + $package = $::profile::swh::deploy::base_storage::package + + ::profile::swh::deploy::rpc_server {'storage': executable => 'swh.storage.api.server:make_app_from_configfile()', worker => 'sync', http_check_string => 'Software Heritage storage server', + subscribe => Package[$package] } $storage_config = lookup('swh::deploy::storage::config')['storage'] diff --git a/site-modules/role/manifests/swh_journal_orchestrator_with_backfill_config.pp b/site-modules/role/manifests/swh_journal_orchestrator_with_backfill_config.pp new file mode 100644 --- /dev/null +++ b/site-modules/role/manifests/swh_journal_orchestrator_with_backfill_config.pp @@ -0,0 +1,3 @@ +class role::swh_journal_orchestrator_with_backfill_config inherits role::swh_journal_orchestrator { + include profile::swh::deploy::journal::backfill +} diff --git a/site-modules/role/manifests/swh_storage_with_backfill_config.pp b/site-modules/role/manifests/swh_storage_with_backfill_config.pp new file mode 100644 --- /dev/null +++ b/site-modules/role/manifests/swh_storage_with_backfill_config.pp @@ -0,0 +1,4 @@ +class role::swh_storage_with_backfill_config inherits role::swh_base_storage { + include profile::postgresql::client + include profile::swh::deploy::journal::backfill +}