Portainer is no longer a global activation flag, because it does not
make much sense in the context of kubernetes. Instead, we use a simpler
"make" command.
Creating soft links to files that do not exist is just madness, let's
stop it. Instead, we take advantage of the CONFIG_ROOT environment
variable, which allows to place lms/cms.env/auth.json files anywhere.
"env" now only generates the environment, and depends only on
config.json, which is run only when necessary. There exists only one
"make configure" command, which force-runs config.json and builds the
env.
By switching from ubuntu:18.04 to alpine, we reduce the local image size
from 510 to 87 Mb. Because we don't use bash anymore, it's difficult to
rely on chroot, so we just get rid of docker-entrypoint.sh
This allows us to deploy much faster: all we have to do is to copy the
assets from the container to the shared volume.
We also changed the way themes are managed: similarly to static assets,
they are now packaged inside the docker image.
By default, open response assessment files are sent to S3. Here, we
store uploaded files with the "filesystem" backend instead. To do so, we
must install a forked version of ora2 that fixes a couple issues.
Note that the "django" backend is not very usable, as file extensions
are lost on upload.
Close #97
We don't need to run "chmod" on openedx files outside of development
mode. So, there is no need to set the USERID environment variable in
most cases. This should considerably accelerate pretty much all commands
that involve the openedx container.
For discussion consult PR #98.
webpack requires the NODE_ENV environment variable which is incorrectly
set "paver update_assets" in development mode. To avoid this issue, we
split update_assets into its subparts.
Theme assets generation relies on a cache stored in memcache. We were
observing incorrect urls generated for theme/xblock assets whenever
assets had been generated for another platform. For instance, when
viewing an XBlock in the LMS right after running "paver update_assets"
in the cms.
To solve this problem, we cache staticfiles assets in entries with
different prefix.
Close #95