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

[0] - https://www.djangoproject.com/download/
[1] - https://github.com/fedora-infra/pdc-updater
[2] -
https://docs.openshift.com/online/dev_guide/builds/triggering_builds.html#github-webhooks
[3] - https://github.com/openshift/source-to-image
[4] - https://devpi.net/docs/devpi/devpi/latest/%2Bd/index.html
_______________________________________________
infrastructure mailing list -- [email protected]
To unsubscribe send an email to [email protected]
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/[email protected]

Reply via email to