#3 Separate pungi-execution and expiration from the frontend web process.
Closed Opened by ralph.

Currently, the frontend flask application is responsible for running pungi directly. We should change this and split it out into a separate backend process.

It's "ok" to do this using only the database as a medium between frontend and backend. Also, using fedmsg, or celery, or whatever else is okay too... those things just increase the operational/deployment complexity. DB as a medium is probably simplest.

We need this for multiple reasons:

  • Permissions - the frontend shouldn't have to run privileged so that it can do composes itself.
  • Resources - if the pungi task grows, it could exhaust resources on the frontend and crash the webapp.
  • There are scaling oddities. We might want two webapp nodes for load balancing, but .. do they both run composes? which ones where? Separate the compose execution out a separate backend process to make the question moot.

Metadata Update from @jkaluza:
- Issue assigned to jkaluza

Metadata Update from @jkaluza:
- Issue status updated to: Closed (was: Open)

https://pagure.io/odcs/c/74953128bde67cb647085d92667037feff760d44?branch=master

This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/pungi/odcs/issues/3

Please continue any further discussion there.

Metadata