Allow serving of content from a remote URL #7980
Labels
DEV: backend
Python, databases, networking, filesystem...
DEV: dev-ops
Continuous integration & deployment
P1 - important
Priority: High impact on UX
Observed behavior
Currently we are only able to serve content from the local file system - this means that for cloud based deployments of Kolibri, a persistent local file store is required for serving content.
Expected behavior
Add an option to our options.ini in
options.py
underDeployment
with a value ofREMOTE_CONTENT_URL
- which will default to an empty string. Validation should require a fully formed URL or empty string.In
kolibri/core/content/utils/paths.py
we should conditionalise storage URL creation based on this value, so that storage URLs would now point to this remote URL as the base. This means that content would need to be available at the value ofREMOTE_CONTENT_URL
+/storage/1/1/1111111111111111111111111.mp3
for example.In addition, when this value is not empty, we should skip any attempts to import content to the local file system, and base our annotation mechanisms solely off the assumptions that:
We should also skip any content deletion.
This should also be used in conjunction with options currently in development to serve zipcontent from an alternative server, as zipcontent endpoints would still expect local files to be present.
Context
This is mostly a consideration for cloud deployments of Kolibri.
The text was updated successfully, but these errors were encountered: