LibUp/Architecture

LibUp is split into a few different components that all come from a shared codebase.

Web interface
The web interface is a Flask application that reads data from MariaDB using SQLAlchemy. It is managed by the  systemd unit. This application runs directly on the host and is not isolated, however it does not have access to the ssh-agent.

Runner
A daily systemd timer triggers the  script, which fetches the latest configuration, obtains latest upstream versions, and queues jobs into celery

Upgrader (libup-celery)
The actual upgrading process