This is the documentation on the mentors.debian.net deployment of Debexpo.

Basics

Here are the basic facts:

Shell account(s)

Do not make local changes. To deploy a new version, follow those steps:

If you have access to the expo account, I think that will be all you need to maintain the service. If you need sudo for something, do ping the current maintainers.

configuration files

Configuration files are found into /home/expo/debexpo/debexpo/settings. The following files are loaded:

Make all the changes to prod.py.

Additionally, two private files are used to store credentials and secret tokens. Those files are not tracked in the repository (only available locally).

postgresql

We use Postgres as the database for storing debexpo data.

backups

Backup are run daily via /etc/cron.d/backup, invoking /root/scripts/backup.sh. They are stored in /root/backup. Retention period is 5 days.

The backup include a copy of /var/lib/debexpo/ and the database.

A copy is sent to a personal server (contact Baptiste Beauplat to restore the copy).

Dependencies

We use dependencies packaged in Debian to run the application. The meta-package mentors.debian.net is kept up-to date with the application requirements.

A copy of the package is retained in /root/m.d.n-pkg.

Getting access

If you want access to deploy code, the process is pretty simple:

Right now, the following people have shell access:

We also hang out on #debexpo on irc.debian.org.

Automatic test suite running with Salsa CI

On creating or merging a merge request, the Salsa CI is automatically triggered. It will check the coding style (flake8), the database migrations, the translations and run the actual test suite. Make sure everything passes before merging or deploying the code.

You can see pipelines results at https://salsa.debian.org/mentors.debian.net-team/debexpo/-/pipelines.