staging infra: Reproduce existing production setup in a compact way
Dependency order to follow
-
gateway (routing) -
swh-storage (db, swh-storage service) -
swh-objstorage (disks, swh-objstorage service) -
swh-indexer storage (db, service) -
swh-web -
swh-scheduler (db, rabbitmq, swh-scheduler services) -
swh-deposit (db, service) -
1 worker with at least 1 loader (worker0 & worker1 with loader-git) -
swh-vault -
update workers with checker/loader deposit -
update workers with 1 lister (forge=gitlab, instance=inria) -
update workers with 1 indexer -
Make icinga checks green on the expected origins (parmap, cpython, etc...)
Note:
- Should be a matter of creating the right branch ('staging' for example) in swh-site's repository
- calling the right environment when `puppet agent --test --noop --environment='staging'
- production code should only be modified if there are issues identified (there was ;)
- in the end the
staging
branch should be merged into production (without any impact on production, that's somehow has been my implicit plan)
Plan: From provisioning node (creation in our hypervisor) to delegating puppet for the configuration/installation services For some of our services, this is ambitious:
-
postgres: puppetized the db creation and user done -
postgres: bootstrap db schema (-> this one needs work upfront in our different services to have a common use interface)[1] -
rabbitmq: server installation with users setup -
rabbitmq: improve the configuration option to be in sync with our current instance (migrated/migration$490)
Tests:
-
from webapp: save code now -> browsing ok -
push a deposit via deposit client cli -> browsing in webapp ok -
from webapp: request vault cooking -> download in webapp ok -
listing one forge and see new origins from that forge [2] -
origin-content-metadata running -
[1] I consider this out of scope (i need to draw a line somewhere ;) Also we as a team started this, that needs to be finalized IIRC.
-
[2] https://webapp.internal.staging.swh.network/browse/search/?q=gitlab.inria.fr&with_visit&with_content
Migrated from T1875 (view on Phabricator)
Edited by Antoine R. Dumont