6
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-11-11 07:41:02 +00:00
Commit Graph

262 Commits

Author SHA1 Message Date
Régis Behmo
a11f803af5 Fix SAML plugin example in docs
See https://discuss.overhang.io/t/saml-authentication-not-working/975
2020-10-06 09:56:51 +02:00
Régis Behmo
82b06034f9 Add big fat warning about podman-compose 2020-09-21 10:35:36 +02:00
Florian Haas
0f50300ad6 doc: Add warning about docker-compose/podman-compose compatibility issues
Users appear to run into compatibility issues where podman-compose
does not behave exactly as docker-compose. Add a warning that those
issues exist, and that reports about them are welcome on the
Tutor Discourse.

Reference:
https://discuss.overhang.io/t/tutor-with-podman-not-working/905/2
2020-09-21 10:20:37 +02:00
Régis Behmo
ea3839eb74 Introduce the OPENEDX_COMMON_VERSION setting 2020-09-03 17:33:25 +02:00
Régis Behmo
0b4619ff90 Upgrade to juniper.3
Close #365.
2020-08-27 17:48:07 +02:00
Régis Behmo
6980550b7c Clarify image downloading in k8s docs
Close #362
2020-08-16 16:05:06 +02:00
Régis Behmo
70872dfa9b Fix instructions for running "openedx-assets" 2020-08-04 09:24:58 +02:00
Régis Behmo
8e2a06dc6f Apply edx-platform upstream xss security fixes 2020-07-23 16:18:40 +02:00
Régis Behmo
00573d69d6 Fix asset collection docs in dev mode
`paver update_assets` generates errors.

See
https://discuss.overhang.io/t/local-edx-platform-paver-and-juniper/773/2
2020-07-21 11:27:50 +02:00
Régis Behmo
bbd92223ee Make it possible to override the docker registry for individual services
Previously, it was not possible to override the docker registry for just
one or a few services. Setting the DOCKER_REGISTRY configuration
parameter would apply to all images. This was inconvenient. To resolve
this, we include the docker registry value in the DOCKER_IMAGE_*
configuration parameters. This allows users to override the docker
registry individually by defining the DOCKER_IMAGE_SERVICENAME
configuration parameter.

See https://discuss.overhang.io/t/kubernetes-ci-cd-pipeline/765/3
2020-07-21 09:16:51 +02:00
Régis Behmo
ef6b1c3433 Upgrade to open-release/juniper.2 2020-07-16 11:57:35 +02:00
Régis Behmo
27d74c1343 Fix pip install instructions
Close #352.
2020-07-16 09:21:10 +02:00
Régis Behmo
3956abb9aa Clarify instructions to manually upgrade from ironwood 2020-06-17 14:38:54 +02:00
Régis Behmo
c88ffd2994 Fix theme installation instructions
Close #339.
2020-06-17 11:53:41 +02:00
Régis Behmo
4d6de0138a v10.0.0 Upgrade to Juniper (2020-06-15)
Here, we upgrade the Open edX platform from Ironwood to Juniper. This
upgrade does not come with many feature changes, but there are many
technical improvements under the hood:

- Upgrade from Python 2.7 to 3.5
- Upgrade from Mongodb v3.2 to v3.6
- Upgrade Ruby to 2.5.7

We took the opportunity to completely rething the way locally running
platforms should be accessed for testing purposes. It is no longer
possible to access a running platform from http://localhost and
http://studio.localhost. Instead, users should access
http://local.overhang.io and https://studio.local.overhang.io. This
drastically simplifies internal communication between Docker containers.

To upgrade, users should simply run:

    tutor local quickstart

For Kubernetes platform, the upgrade process is outlined when running:

    tutor k8s upgrade --from=ironwood
2020-06-15 10:19:07 +02:00
antoine
5bbc196259 docs: fix typo 2020-06-14 22:38:58 +02:00
Régis Behmo
ca39b87ab6 Fix docs on restarting platform after custom openedx image build
Close #338
2020-06-07 17:52:03 +02:00
Régis Behmo
7f7ded0680 Add SK GM testimonial 2020-06-07 15:32:16 +02:00
Régis Behmo
3831e2e53d Make the mysql root username a configuration parameter
This allows users who connect to an external database to customise the
root username. Indeed, quite often the "root" username is reserved.

Close #328
2020-06-01 17:11:10 +02:00
Régis Behmo
8b8e27a781 Fix android app custom build instructions 2020-05-18 20:30:36 +02:00
Régis Behmo
687066e598 Better documentation of simple yaml plugins 2020-05-18 11:31:29 +02:00
Régis Behmo
ca98507542 Add link to mobile android app in docs 2020-05-11 15:42:54 +02:00
Claudio Acciaresi
be195d5162 Finishing sentence.
Fixing spacing.
2020-05-06 16:52:17 +02:00
Régis Behmo
a52884a311 Remove ingress/issuer from default k8s deployment
There are too many different ways to deploy an Ingress resource and to
generate SSL/TLS certificates: it's too much responsibility to make that
decision for the end user.
2020-04-25 23:12:42 +02:00
Régis Behmo
bce6432d85 Improve job running in local and k8s
Running jobs was previously done with "exec". This was because it
allowed us to avoid copying too much container specification information
from the docker-compose/deployments files to the jobs files. However,
this was limiting:

- In order to run a job, the corresponding container had to be running.
This was particularly painful in Kubernetes, where containers are
crashing as long as migrations are not correctly run.
- Containers in which we need to run jobs needed to be present in the
docker-compose/deployments files. This is unnecessary, for example when
mysql is disabled, or in the case of the certbot container.

Now, we create dedicated jobs files, both for local and k8s deployment.
This introduces a little redundancy, but not too much. Note that
dependent containers are not listed in the docker-compose.jobs.yml file,
so an actual platform is still supposed to be running when we launch the
jobs.

This also introduces a subtle change: now, jobs go through the container
entrypoint prior to running. This is probably a good thing, as it will
avoid forgetting about incorrect environment variables.

In k8s, we find ourselves interacting way too much with the kubectl
utility. Parsing output from the CLI is a pain. So we need to switch to
the native kubernetes client library.
2020-04-25 23:12:42 +02:00
Régis Behmo
091e45fe63 Fix tls certificate generation in k8s
The "Certificate" objects are no longer required. As a consequence, the
"k8s-ingress-certificates" has become useless and should be removed from
plugins.
2020-04-25 14:40:48 +02:00
Régis Behmo
e4ca99b237 Upgrade cert-manager installation in k8s
Note that the spec has changed for v1alpha2.
2020-04-25 14:40:48 +02:00
Régis Behmo
d1f1a33f51 Fix nginx ingress installation instructions in k8s 2020-04-25 14:39:57 +02:00
Régis Behmo
49c71f8af2 Add scorm xblock to the openedx docker image 2020-04-25 14:20:13 +02:00
Régis Behmo
33ab52bfeb Make it easy to add custom translation strings to edx-platform
Users can now add custom translation strings to a locale folder at build
time, very much in the same way as custom themes or requirements. This
is quite convenient, although is does require quite a bit of time to
rebuild the docker images.
2020-04-16 19:30:08 +02:00
Régis Behmo
76d1078382 Make it possible to pull nodejs packages from custom npm registry
During an incident at npmjs.org it was extremely difficult to pull
nodejs packages -- so we made it possible to pull from a custom
registry, deployed for instance with Verdaccio (https://verdaccio.org/).
2020-04-16 19:26:02 +02:00
Régis Behmo
38d6644ef2 Fix docs on waffle switch creation 2020-04-16 11:31:33 +02:00
Régis Behmo
48ca6eb4b0 Fix updates to the course structure in the LMS
When we were changing unit titles in the CMS, the changes were taking a
long time to be reflected in the LMS. That's because the cache key that
corresponds to the course structure was not being updated. It was the
responsibility of an asynchronous LMS celery worker to update this cache
entry. However, this was impossible in most cases because tasks
triggered in the CMS were only processed by CMS workers. That is, unless
we are using a custom celery router:
https://celery.readthedocs.io/en/latest/userguide/routing.html#routers

This is what edx-platform does in the devstack: certain CMS tasks are
forwarded both to CMS and to LMS workers. This is achieved by defining
the ALTERNATE_WORKER_QUEUES="lms" django setting in the CMS.

Adding this setting to Tutor solves the problem in production. However,
in development mode Open edX runs without workers
(`CELERY_ALWAYS_EAGER=True`). This means that the course structure will
not be automatically updated when running `tutor dev` commands, which is
a shame. The alternative is to define the
"block_structure.invalidate_cache_on_publish" waffle switch. This can be
done from the UI (in /admin/waffle/switch/add/) or by running:

    tutor dev run lms ./manage.py lms waffle_switch block_structure.invalidate_cache_on_publish on --create

However, this flag seems to slow down access to the LMS for the first
user who tries to access the course after it has been updated.

Close #302
2020-04-14 19:16:52 +02:00
Régis Behmo
1d8c8e9d53 Improve "what's next instructions" 2020-04-06 09:56:04 +02:00
Régis Behmo
411327662e Add encrypt template filter
This is convenient for htpasswd-based authentication to nginx, for
instance.
2020-04-04 18:22:15 +02:00
Régis Behmo
11fdbaf874 Add uninstallation docs
See
https://discuss.overhang.io/t/how-can-i-completely-uninstall-tutor/370
2020-03-27 09:49:08 +01:00
Régis Behmo
ae2af6b1f8 Fix minor docs issues 2020-03-16 22:33:56 +01:00
Régis Behmo
328e70b8b5 Various docs improvements
There is still a lot of work to do. In particular, local.rst and
configuration.rst are a mess. But that's a job for another time.
2020-03-16 22:27:04 +01:00
Régis Behmo
390c39fa19 Better installation docs 2020-03-16 22:14:36 +01:00
Régis Behmo
325deb4210 Better docs on logs 2020-03-16 21:30:26 +01:00
Régis Behmo
41f14d528b Better explanation of how templates work
Close #273
2020-03-16 21:24:40 +01:00
Régis Behmo
6f2589d7fa Clarify custom theme compilation in dev mode
Close #280
2020-03-16 18:26:14 +01:00
Régis Behmo
244c9d2913 Clarify the RAM requirements, especially for Mac OS.
Close #299.
2020-03-16 18:12:57 +01:00
Régis Behmo
43e841b1cb Add instructions for xblock development
As per
https://discuss.overhang.io/t/best-practice-xblock-development-in-tutor-dev-mode/345
2020-03-16 17:56:09 +01:00
Régis Behmo
cf041568d0 Add a big fat warning against "sudo"
Also, the permission error that is frequently encountered is added at
the top of the list of frequent issues in the docs.
2020-03-16 17:43:55 +01:00
Régis Behmo
28c761fe76 Better docs organization
With this reoreganization, we have a cleaner TOC and more intuitive
content navigation.
2020-03-16 12:07:58 +01:00
Régis Behmo
797167d48a Do not include too many themes to avoid long image build time
To minimize image build time and size, we do not build non-default
themes.
2020-03-13 19:27:01 +01:00
Régis Behmo
5c43d6ee25 Add "settheme" command
This makes it much easier to switch to a new theme.
2020-03-13 19:27:01 +01:00
Régis Behmo
16819bd697 Rename *_PROTOCOL to *_SCHEME 2020-03-12 09:37:22 +01:00
Régis Behmo
00ec6930ae Add simple gunicorn reload script to openedx image 2020-03-10 10:37:14 +01:00
Régis Behmo
0325e7ad95 Rename worker containers from x_worker to x-worker
This is more coherent with k8s.
2020-03-10 10:37:14 +01:00
Régis Behmo
702e8cca7d Make it possible to run an Elasticsearch service on https
This is useful when running elasticsearch from 3rd-party vendors.
2020-03-10 10:37:14 +01:00
Régis Behmo
ef2ae1a9b2 Clarify database dumps 2020-02-27 18:08:04 +01:00
Régis Behmo
872883e36f Switch edx-platform from ironwood.2 to ironwood.master
There are too many patches on top of ironwood.2, and it's not practical
to pull them all one by one. We still want to build on top of a specific
version, and not a branch, so we use a dirty hack to guarantee that the
docker image is properly rebuilt by CI when we change it.
2020-02-27 17:42:43 +01:00
Régis Behmo
83459d43d5 Fix broken elasticsearch configuration
Because we are running a version of elasticsearch older than Methusalem,
the docker environment variables were not properly taken into account.
For instance, the cluster name and "mlockall" settings were incorrect,
as we could see by running:

    $ tutor local run lms curl elasticsearch:9200 | grep cluster_name
    ...
      "cluster_name" : "elasticsearch",
    $ tutor local run lms curl elasticsearch:9200/_nodes/process?pretty | grep mlock
      ...
     "mlockall" : false

See
https://discuss.overhang.io/t/elastic-container-is-not-being-removed/312/3
for discussion.

This fix also introduces a new tutor configuration setting to adjust the
elasticsearch heap size.
2020-02-26 11:47:43 +01:00
Régis Behmo
ff3fea6930 Restore more recent Android app tagged release
A prior change used the ironwood.1 tag to build the Android app in an
attempt to solve #289. Turns out that this change was unnecessary. So
here we revert to a more recent release of the Android app. Instead of
building from the master branch (which might create suprises) we build
from a fixed release tag.

The source repo and version are customisable via build arguments.
2020-02-25 17:29:53 +01:00
Régis Behmo
de57812c2c Minor docs improvements 2020-02-25 17:11:11 +01:00
Régis Behmo
38a49e2ca7 Remove useless docs configuration
We don't need epub/htmlhelp/latgex output.
2020-02-25 17:03:11 +01:00
Régis Behmo
fffc90442e Add youtube videos to docs
This is possible thanks to a custom youtube tag. See
https://jasonstitt.com/youtube-in-restructured-text
2020-02-25 17:02:39 +01:00
Régis Behmo
a35f35f77e Fix "those that are" docs typo 2020-02-25 11:35:36 +01:00
ToddLichty
4c4865cc1b Add instructions for database dumps
Changes proposed in https://github.com/overhangio/tutor/issues/290
2020-02-12 17:05:48 +01:00
Claudio Acciaresi
313f7172ed Updating documentation on how to renew certificates. 2020-01-29 17:52:00 +01:00
Régis Behmo
8dcb2d50a9 Minor doc improvement in theme installation 2020-01-16 10:44:43 +01:00
Régis Behmo
e3444d668c Add support for simple, yaml-based plugins
Those plugins are stored as yaml files in ~/.local/share/tutor-plugins
and follow the same specifications as entrypoint plugins.
2020-01-14 17:35:51 +01:00
Régis Behmo
9b10c1b470 Fix link to cloud install on doc landing page 2020-01-13 22:52:28 +01:00
Régis Behmo
460a7dfc79 Minor docs improvements 2020-01-10 19:03:53 +01:00
Florian Haas
d073481385 doc: Add instructions for running Tutor on Podman
https://podman.io/ is meant to be a drop-in replacement for Docker.
Thus, with some tweaking to the installation environment, it appears
to be perfectly feasible to run Tutor in a Docker-less environment
that only has Podman and podman-compose installed.

Add installation instructions for doing just that.
2020-01-10 18:45:48 +01:00
Régis Behmo
e8248b26d6 Tutor docker images should point to docker.io, too 2020-01-10 17:22:01 +01:00
Régis Behmo
461b0f5746 Remove comment related to cloud install 2020-01-10 16:44:47 +01:00
Régis Behmo
4078c380db Add more links to tutor lts 2020-01-10 15:46:56 +01:00
Régis Behmo
cd0ec8c22a Clarify that tutor runs ironwood 2020-01-10 15:15:56 +01:00
Régis Behmo
899e4dfb9a Upgrade to v3.7 for docker-compose service definition
We were encountering issues when overriding service definitions with
"x-...". These were solved by upgrading docker-compose and switching to
3.7 service definition. As a consequence, the minimum supported docker
version is 18.06.0, as specified by
https://docs.docker.com/compose/compose-file/#compose-and-docker-compatibility-matrix
2020-01-10 11:10:54 +01:00
Régis Behmo
52f094937c Improve troubleshooting instructions
Close #274.
2020-01-10 11:10:54 +01:00
Régis Behmo
d17fdaa658 More feature-complete dev/local docker-compose commands
By de-duplicating the code between dev.py and local.py, we are able to
support more docker-compose run/up/stop options passed from tutor. To do
so, we had to disable some features, such as automatically mounting the
edx-platform repo when the TUTOR_EDX_PLATFORM_PATH environment variable
was defined.
2020-01-10 11:10:54 +01:00
Régis Behmo
9620447a4d Add the lts plugin to the tutor binary 2019-12-25 01:09:53 +01:00
Régis Behmo
0b1cac5134 Make it possible to run plugin subcommands 2019-12-15 18:52:58 +01:00
Régis Behmo
13de3c8adc Move "-r/--root" option to parent command level 2019-12-15 18:52:58 +01:00
Claudio Acciaresi
e9f200a102 Adding missing plugin reference. 2019-12-13 10:00:59 +01:00
Régis Behmo
302e1fc986 Get rid of the local portainer command
It makes more sense to document this command instead of adding it to the
`local` commands. If need be, in the future we should be able to re-add
it as a plugin.
2019-12-05 11:54:44 +01:00
Régis Behmo
0fb9bfe008 Get rid of the indexcourses command
This command adds a burden on the `local` and `k8s` command. It does not
make sense to provide this command out of the box, and not other
administration commands. Instead, we should better document how to run
regular `manage.py` commands from tutor.

Close #269.
2019-12-05 11:49:53 +01:00
Régis Behmo
f66ad1ca32 Docs: install -> installation
"install" is a verb and "installation" is a noun.
2019-11-22 09:32:50 +01:00
Régis Behmo
cac7e947b6 Fix minor internal ref issue in config docs 2019-11-19 21:08:35 +01:00
Régis Behmo
9b6afa20c2 Improve soft link note in dev docs 2019-11-14 11:36:22 +01:00
teruun
c7fba15e00 note softlink not work in theme 2019-11-14 11:32:18 +01:00
Régis Behmo
b1d0039d66 Clarify binary download compatibility with plugins 2019-11-08 10:38:50 +01:00
Régis Behmo
6d419bc8b5 Add favicon to docs 2019-10-25 10:53:59 +02:00
Régis Behmo
85769715a4 Document plugin cookiecutter 2019-10-24 20:28:20 +02:00
Régis Behmo
b01f4d9c0e Better dev environment
The `dev` commands now rely on a different openedx-dev docker image.
This gives us multiple improvements:

- no more chown in base image
- faster chown in development
- mounted requirements volume in development
- fix static assets issues
- bundled ipdb/vim/... packages, which are convenient for development

Close #235
2019-10-24 20:03:36 +02:00
Régis Behmo
d1f7d02470 Improve docs
- Add tutor logo
- add "edit on github" links
- modify theme colors
- and various other things...
2019-10-17 17:21:35 +02:00
Régis Behmo
8d4f335716 Fix erroneous docs on unsupported features. 2019-10-10 15:38:03 +02:00
Régis Behmo
b04b9e19c1 docs: include user testimonials 2019-10-08 22:25:20 +02:00
Régis Behmo
7361c60845 Clarify init command in docs
"init" command should be run after "start".
2019-10-07 19:27:24 +02:00
Régis Behmo
617e190aed Fix upgrading title level in documentation 2019-10-07 14:44:04 +02:00
Régis Behmo
2b8c0778b2 Fix readme compilation 2019-10-07 14:40:49 +02:00
Régis Behmo
5e6ad893a6 Coolify readme 2019-10-07 14:26:17 +02:00
Régis Behmo
8659b6e7ac Added config values for #gunicorn workers 2019-09-19 15:39:18 +02:00
Régis Behmo
7790028cf7 Move tutor-minio to dedicated plugin repo 2019-08-20 17:46:53 +02:00
Régis Behmo
be1ff08917 Add all plugins (with data) to binary bundle
All existing plugins are added to the binary bundle, in their latest
version, so that users don't need to pip install tutor.

Also, the tutor MANIFEST.in file was removed to simplify the management
of package data.

Close #242.
2019-08-20 17:03:46 +02:00
Omar Al-Ithawi
67ec24765a Fix tutor binary permission error on MacOSX 2019-07-24 12:53:15 +02:00
Omar Al-Ithawi
82b985d326 Fix tutor binary permission error on MacOSX 2019-07-24 12:53:15 +02:00