Hi all,
I would like to start working on the replacement application for PDC in Fedora. So far I have been mostly looking at the technical side of the application and how it will be setup in our infrastructure.
Below is a list of the design decisions I am looking to take. I would really value some feedback on this in order to see if this is realistic or not.
# Technical stack
* Python 3 (just making it obvious)
* Django 1.11 LTS (supported until at least April 2020) [0]
* DRF 3.8.2 (latest version)
Using Django and DRF (Django REST Framework) should allow us to reuse some of PDC code.
# Application architecture
* 1 backend service used to update the PDC database (currently pdc-updater [1])
* 1 frontend service serving the API HTTP endpoint and the HTML documentation of these endpoint.
* 1 database
# Deployment architecture
* Backend service runs in Openshift (need access to the fedora-messaging bus)
* Frontend service runs in Openshift
* Database runs in on Fedora Infrastructure database hosts.
# Development Workflow
* I would like to have the possibility for these services to be automatically deployed on our Openshift instances (stg and prod) using the Github build trigger [2] available in Openshift.
An idea to achieve this is to use Openshift S2I (source-to-image) [3] feature and use PyPi to install the application dependencies. In order to control which dependencies we are using and pulling from PyPi we could use devpi [4] as a caching proxy.
Thanks,
Clément
_______________________________________________ infrastructure mailing list -- infrastructure@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to infrastructure-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@xxxxxxxxxxxxxxxxxxxxxxx