The backend requires direct filesystem access to a CPAN and BackPAN repository in order to function: As part of creating the uploads table, the CPAN directory is scanned for new distributions and any new data is added to the uploads table in the database.
Since this mirror is required by the backend, we should deploy it and its corresponding daemons as part of the backend deploy. This includes:
Installing the rrr-client distribution
Starting the rrr-client with a runit service file
This is presently started by /media/web/pause/pause-run.sh which maintains /media/web/pause/pause.sh and restarts it when needed.
If we use a runit service file, we only need what's in /media/web/pause/pause.sh
Barbie's process controller also manages memory size, so if rrr-client needs that, we'll likely have to find an runit-style memory watchdog
Deploy and configure the BackPAN cron job
This job is currently located at /media/web/pause/backpan.sh but it will need to be moved into this repository
This should be run once an hour
The configuration for rrr-client requires a password, so we will need a secure way to enter that data which is not tracked by any git repository. The password is currently in /media/web/pause/pause.sh.
The CPAN and BackPAN directories should be easily configurable in the Rexfile.
This ticket is no longer appropriate for this repository: All deployment code is moving into the cpantesters-deploy repository (see cpan-testers/cpantesters-deploy#31).
The backend requires direct filesystem access to a CPAN and BackPAN repository in order to function: As part of creating the uploads table, the CPAN directory is scanned for new distributions and any new data is added to the uploads table in the database.
Since this mirror is required by the backend, we should deploy it and its corresponding daemons as part of the backend deploy. This includes:
rrr-client
distributionrrr-client
with a runit service file/media/web/pause/pause-run.sh
which maintains/media/web/pause/pause.sh
and restarts it when needed./media/web/pause/pause.sh
rrr-client
needs that, we'll likely have to find an runit-style memory watchdogThe configuration for
rrr-client
requires a password, so we will need a secure way to enter that data which is not tracked by any git repository. The password is currently in/media/web/pause/pause.sh
.The CPAN and BackPAN directories should be easily configurable in the Rexfile.