6
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-12-12 14:17:46 +00:00
Commit Graph

176 Commits

Author SHA1 Message Date
Régis Behmo
07a0323d8e Move Xqueue to a dedicated plugin
This gives us the opportunity to develop new hooks: build-image and
remote-image.
2019-07-04 09:31:12 +08:00
Régis Behmo
9dbe4b4cb5 v3.4.3 (2019-06-24)
- [Bugfix] Fix missing password values from generated configuration
2019-06-24 12:37:19 +02:00
Régis Behmo
1f69e67b9f Fix missing password values from generated configuration
Passwords were not being stored to config.yml during the first
quickstart.
2019-06-24 12:36:19 +02:00
Régis Behmo
de5b82fd63 Migrate github repo to overhangio organization 2019-06-23 23:11:07 +02:00
Régis Behmo
205cd9bf1c v3.4.2 (2019-06-23)
- [Bugfix] Fix incorrect settings during lms/cms init (#224)
2019-06-23 15:50:00 +02:00
Régis Behmo
dda3614af5 Fix incorrect settings during lms/cms init
During init, the DJANGO_SETTINGS_MODULE environment variable was
undefined, as the entrypoint is overridden.

Close #224.
2019-06-23 15:49:28 +02:00
Régis Behmo
8b6271a5cc v3.4.1 (2019-06-23)
- [Bugfix] Fix install from pypi
- [Improvement] Get rid of kubernetes python package dependency
2019-06-23 13:26:13 +02:00
Régis Behmo
b42ed3638e Fix install from pypi
After installing from pypi, install was broken with
"ModuleNotFoundError: No module named 'tutor.command".
2019-06-23 13:23:27 +02:00
Régis Behmo
4c96e83e3c Get rid of kubernetes requirement from pypi package
v3.4.0 package from pypi was still installing the kubernetes
requirement, although is wasn't required anymore.
2019-06-23 13:22:59 +02:00
Régis Behmo
536932cf20 v3.4.0 (2019-06-17)
- [Feature] Creation of a plugin system
- [Feature] Kubernetes support out of beta
- [Improvement] Switch to pinned image tags for easier upgrades
- 💥[Improvement] Remove the `-y/--yes` option: `tutor config save` is
now non-interactive by default. Use `-i/--interactive` to force
interactive mode.
- 💥[Improvement] Replace the `databases` command by `init`.
- [Improvement] Upgrade to ironwood.2
- [Improvement] Add `-y/--yes` option to `local quickstart` for
non-interactive quickstart
- [Improvement] Persist LMS/CMS logs to disk by default (with
collaboration from @silviot 💪)
- [Bugfix] Fix installing a locally cloned requirement repository
- [Improvement] Add `--no-cache` option to `images build`
- [Improvement] Make it possible to configure the notes service hostname
- [Improvement] Better, more robust MySQL initialisation
2019-06-17 22:38:55 +02:00
Régis Behmo
d9b6895629 Pin docker image tags to tutor versions
Having an identical "ironwood" tag for all releases is not practical, in
particular for breaking changes. Thus, docker images are now pinned to
the tutor version that they were build with.
2019-06-17 20:40:46 +02:00
Régis Behmo
bc21102cf4 Make configuration silent (non-interactive) by default
Thus, we remove the -y/--yes options, which were kind of unintuitive,
and we add instead `-i/--interactive`. The quickstart commands remain
interactive by default, but can be silenced with `-I/--non-interactive`.
2019-06-07 22:49:45 +02:00
Régis Behmo
18d05fcbbb Replace databases command by init.
Since initialisation does not only refer to database migrations, it
makes more sense to rename this command.
2019-06-07 22:49:45 +02:00
Régis Behmo
1a79e9f045 v3.3.11 (2019-06-07)
- [Improvement] Upgrade to ironwood.2
- [Improvement] Add `-y/--yes` option to `local quickstart` for non-interactive quickstart
- [Improvement] Persist LMS/CMS logs to disk by default (with collaboration from @silviot 💪)
- [Bugfix] Fix installing a locally cloned requirement repository
- [Improvement] Add `--no-cache` option to `images build`
- [Improvement] Make it possible to configure the notes service hostname
- [Improvement] Better, more robust MySQL initialization
2019-06-07 22:49:45 +02:00
Régis Behmo
7a3c0e2f84 Upgrade from ironwood.1 to ironwood.2
Because https://github.com/edx/edx-platform/pull/20325/ was merged in
ironwood.2, we no longer need this patch.
2019-06-07 22:49:45 +02:00
Régis Behmo
b5f51687a7 Add -y/--yes option to local quickstart 2019-05-29 10:31:53 +02:00
Régis Behmo
badb28b361 Better mysql initialization
For initializing the mysql database, we now run the mysql client from
the mysql container. That means that the mysql client is no longer
required in the openedx container, as previously suggested in PR #209.
2019-05-29 09:53:54 +02:00
Régis Behmo
3362308ad3 Improve lms/cms logging
- deduplicate stdout logs
- don't persist celery logs
- persist logs to all.log by default
2019-05-29 09:53:15 +02:00
Régis Behmo
f11f47f9f0 Fix installing a locally cloned requirement repository
When running `pip install -r /path/to/x.txt`, relative paths listed in
x.txt are supposed to be relative to the current folder, and not the
x.txt folder. This results in an error during `pip install`:

   ./xblock-poll/ should either be a path to a local project or a VCS
   url beginning with svn+, git+, hg+, or bzr+

This error was first reported here:
https://discuss.overhang.io/t/installing-custom-xblock/61
2019-05-22 20:03:46 +02:00
Régis Behmo
0a49c2422a Add --no-cache option to images build 2019-05-22 19:17:54 +02:00
Régis Behmo
2234510cfb Make it possible to configure the notes service hostname
This is important, in particular in development.
2019-05-15 10:52:45 +02:00
Régis Behmo
79ad1871d2 v3.3.10 (2019-05-15)
- [Bugfix] Fix boolean configuration choices
2019-05-15 10:33:29 +02:00
Régis Behmo
71ee7bc980 Fix boolean configuration choices
Since the ask_bool refactoring, boolean choices were no longer taken
into account during interactive configuration.
2019-05-15 10:19:51 +02:00
Régis Behmo
e1c5ea4e3e v3.3.9 (2019-05-13)
- [Improvement] Add `local exec` command for running commands inside
existing containers
- [Bugfix] Fix triple display of courses in LMS search (upstream patch,
2019-05-13 17:28:23 +02:00
Régis Behmo
4f9bb7d752 Add local exec command 2019-05-05 12:30:20 +02:00
Régis Behmo
25d1d38f85 Fix triple course display in LMS search dashboard
Apply upstream patch from https://github.com/edx/edx-platform/pull/20325/

Close #189.
2019-04-29 19:41:53 +02:00
Régis Behmo
31efc550c3 Less gunicorn workers for less RAM usage
Settings the number of workers for the LMS and the CMS to 2*|CPU|+1
results in 4*|CPU]+2 gunicorn workers, which is too much for a laptop to
cope with.

Close #207
2019-04-28 09:34:02 +02:00
Régis Behmo
1d6dc5f609 v3.3.7 (2019-04-28)
- [Bugfix] Fix "Timeout after 20s" on running migrations
2019-04-28 08:31:43 +02:00
Régis Behmo
a2241a07c6 v3.3.6 (2019-04-27)
- [Bugfix] Fix KeyError on first quickstart
- [Improvement] De-duplication of prod/dev settings. Thanks @silviot! 😺
2019-04-27 10:49:45 +02:00
Régis Behmo
dafd5d2fc8 Fix changelog version typos 2019-04-25 21:57:44 +02:00
Régis Behmo
555845474d v3.3.5 (2019-04-22)
- [Feature] Pluggable LMS/CMS/forum
- [Improvement] Safer environment overwrite. Thanks @silviot! 👐
- [Security] Fix Jinja2 vulnerability
- [Improvement] Improve CLI cold start performance
- [Improvement] Allow uppercase "Y" and "N" as answers to boolean
questions
2019-04-22 16:50:09 +02:00
Régis Behmo
d1f386c149 Pluggable lms/cms/forum
LMS, CMS and forum can now be independently (de)activated. This will be
useful to deploy Tutor on multiple servers.
2019-04-22 11:59:53 +02:00
Régis Behmo
97c646f875 Crash on env overwrite in non-interactive mode
We took the opportunity to replace the custom ask_bool code by
click.confirm, which just simpler.
2019-04-20 00:02:47 +02:00
Régis Behmo
d2f6783306 Fix security issue with jinja2 requirement
https://nvd.nist.gov/vuln/detail/CVE-2019-10906

To fix this issue, all requirements were simply upgraded to the latest
version.
2019-04-17 08:18:45 +02:00
Régis Behmo
b2d8c1b6cc Improve cold start time by moving kubernetes import
"import kubernetes" takes a long time. Moving this import improves
"tutor --version" from 0.8s to 0.3s.
2019-04-09 18:30:12 -07:00
Régis Behmo
becd03cbf8 Allow uppercase "Y" and "N" as answers to boolean questions 2019-04-09 13:38:56 -07:00
Régis Behmo
695cc0d18a v3.3.4 (2019-04-09)
- [Improvement] Rename `--silent` option to `-y/--yes`
- [Bugfix] Fix (again) login from studio when https is activated (#193)
2019-04-09 11:50:09 -07:00
Régis Behmo
3b9880ec74 Rename --silent option to -y/--yes 2019-04-09 11:17:19 -07:00
Régis Behmo
6c13710c79 Fix (again) login from studio when https is activated
Login from studio with https was broken by the fix for localhost login.

Close #193.
2019-04-09 11:11:32 -07:00
Régis Behmo
016210e899 v3.3.3 (2019-03-29)
- [Bugfix] Fix `pip install tutor-openedx`
2019-03-29 06:36:19 -07:00
Régis Behmo
a034f95f83 Fix pip install tutor-openedx
Installing from pip was broken because, for some reason, the
templates/apps/xqueue/settings/ folder contained a __pycache__ folder
with compiled *.pyc files. Rendering the binary files was failing
miserably.
2019-03-29 06:27:34 -07:00
Régis Behmo
e2b0f3bfde Fix login from localhost
Login from localhost/studio.localhost was broken on Ironwood because the
session cookie was configured to be stored under the production domain
name. We fix this by setting the SESSION_COOKIE_DOMAIN to None: in the
edx-platform code, this corresponds to using the current request domain.
2019-03-27 08:16:44 -07:00
Régis Behmo
7c0f3f2d76 v3.3.2 (2019-03-27)
- [Bugfix] Fix Android app image build
2019-03-27 07:57:08 -07:00
Régis Behmo
75a6a2d44c Fix missing configuration parameters for android environment 2019-03-27 07:35:28 -07:00
Régis Behmo
c72fee217e v3.3.1
- [Improvement] Improve assets building for development
- [Improvement] Support CMS login when the CMS is not a subdomain of the
LMS
2019-03-25 07:43:15 -07:00
Régis Behmo
6c44406ba4 use update_assets instead of the custom openedx-assets script
Now that the correct webpack settings are loaded by the `update_assets`
command in Ironwood, we can stop relying on the `openedx-assets` script.
Actually, we could probably remove it.
2019-03-25 07:41:17 -07:00
Régis Behmo
a7ab1c5ace Add missing CMS config (just in case)
I don't think this affects the CMS behaviour, but SESSION_COOKIE_DOMAIN
is used by the CMS, so rather be safe than sorry.
2019-03-23 16:15:51 -07:00
Régis Behmo
76f9f5bb97 v3.3.0
- [Feature] Upgrade from Hawthorn to Ironwood
2019-03-22 23:39:50 +01:00
Régis Behmo
7462f208de Upgrade to Ironwood
Here, we upgrade all images from Ironwood to Hawthorn, except for the
locales, which we did not generate yet.
2019-03-22 23:37:59 +01:00
Régis Behmo
8cb3dde706 v3.2.2
- [Feature] Multiple platforms on a single server \o/
- [Feature] Easily configure web proxy on the host
- [Bugfix] Fix `images pull all` command which failed on "all" image
- [Improvement] Add configurable mongodb, SMTP and rabbitmq
authentication
- [Improvement] Harmonize mysql username/password configuration
parameters
- [Feature] Configurable and pluggable data storage backends (#114)
2019-03-21 19:11:28 +01:00
Régis Behmo
a70d48c6bb Easily launch multiple platforms on a single server
By using a web proxy on the host, it's now extremely easy to launch
multiple platforms on a single server.
2019-03-21 19:06:08 +01:00
Régis Behmo
f45a24caea Easily configurable web proxy
A web proxy is a web server on the host that will forward request to the
tutor web server. We support Apache2 and Nginx.
2019-03-21 17:38:01 +01:00
Régis Behmo
b0d07ef3fe Fix incorrect vendor image pulling 2019-03-21 14:13:15 +01:00
Régis Behmo
a85ee37682 Configurable mongodb username/password/port 2019-03-21 00:47:42 +01:00
Régis Behmo
e35efa3302 Configurable Rabbitmq authentication 2019-03-20 19:02:39 +01:00
Régis Behmo
0a02d65760 Configurable SMTP server authentication
We can now define non-empty username/password for sending email.
2019-03-20 18:52:57 +01:00
Régis Behmo
7e2bfaf217 Harmonize mysql usernames and passwords
We were using the same password both for the root and the openedx user.
This used to be fine, but alas it is so no longer.
2019-03-20 18:45:20 +01:00
Régis Behmo
259b8961c8 Pluggable SMTP service
This is part of #114
2019-03-20 18:45:09 +01:00
Régis Behmo
ba394669fe v3.2.1
- [Feature] Enable grade downloads by default (#143)
- [Improvement] Remove orphan containers on `local start`
2019-03-19 01:04:45 +01:00
Régis Behmo
abfbf1cc21 Enable grade download by default
It was tricky to define correct settings: the "localfs" default storage
backend was causing incorrect urls of the form "/media/<id>/<name>.csv".

Close #143
2019-03-19 01:02:08 +01:00
Régis Behmo
98c24ee243 Remove orphan containers on local start 2019-03-18 23:04:07 +01:00
Régis Behmo
ed47177ca5 v3.2.0
- [Improvement] `images pull` now also pulls vendor images
- [Feature] Add convenient `config printvalue` command
- [Feature] Customize docker registry
- [Feature] Load configuration parameters from the system environment
- [Improvement] Automatic environment re-generation after
re-configuration
- [Improvement] Error and interrupt handling in UI and web UI
- [Bugfix] Fix missing webui env directory
2019-03-18 22:56:03 +01:00
Régis Behmo
6a746eada0 Pull vendor images from the command line
Vendor docker image versions are no longer hardcoded in environment
files.
2019-03-18 22:40:37 +01:00
Régis Behmo
b84b0a6eed Add convenient "config printvalue" command 2019-03-18 22:38:55 +01:00
Régis Behmo
bccbd58e20 Easily customise the docker registry
As a consequence, `images` commands lose the `--namespace/--version`
arguments, which were confusing anyway.
2019-03-18 21:53:18 +01:00
Régis Behmo
e3b10b72f2 Load configuration values from environment
Configuration values can be loaded from the system environment by adding
a "TUTOR_" prefix.

Environment values supersede values from the user configuration file, so
that we can set values from the command line with "KEY=VAL tutor config
save --silent" even when KEY is already present in the user
configuration file.
2019-03-18 21:47:59 +01:00
Régis Behmo
07b3d113d4 Simplify environment generation
Environment is no longer generated separately for each target, but only
once the configuration is saved.

Note that the environment is automatically updated during
re-configuration, based on a "version" file stored in the environment.
2019-03-18 18:34:42 +01:00
Régis Behmo
63a633b3fc Handle command errors and ctrl+d commands in UI 2019-03-16 12:20:28 +01:00
Régis Behmo
9d7a67bb69 Fix missing webui env directory 2019-03-10 18:02:20 +01:00
Régis Behmo
bb8be6eaed v3.1.0
- [Improvement] Install python requirements in virtual env in docker
image
- [Bugfix] Add missing volume for theme development
- [Improvement] Rename "config [non]interactive" command to "config save
[--silent]"
- [Improvement] More explicit logging during environment generation
- [Improvement] Configurable docker images (#122)
- [Bugfix] Fix "android pullimage" command
- [Improvement] Do not upgrade images as part of quickstart
- [Bugfix] Fix USERID setup in development mode and various dev-related
docs (#177)
2019-03-09 17:53:34 +01:00
Régis Behmo
3e5e494bd8 Install python requirements in venv in docker image
Installing the requirements in a virtualenv is necessary to run "pip
install ..." commands in development mode, when the USERID is != 0.
2019-03-09 17:51:25 +01:00
Régis Behmo
b7c31d770f Add missing volume for theme development
The documentation instructions could not be working, as the theme folder
was not being mounted in the dev container.
2019-03-09 15:39:33 +01:00
Régis Behmo
970ab607b5 Rename "config [non]interactive" command to "config save [--silent]" 2019-03-09 11:27:51 +01:00
Régis Behmo
9b35490449 More explicit env generation logging 2019-03-09 11:17:48 +01:00
Régis Behmo
6d19b99b66 Configurable docker images
Docker images for each service can now be configured one by one.

Close #122.
2019-03-09 11:17:48 +01:00
Régis Behmo
976453c838 Fix "android pullimage" command 2019-03-09 11:17:48 +01:00
Régis Behmo
9d6874fc0e Fix USERID setting in development mode
USERID environment variable was no longer passed to docker image in
development mode.

We take the opportunity to improve the documentation regarding the dev
environment.

Close #177.
2019-03-09 11:16:12 +01:00
Régis Behmo
64eb8e0c92 v3.0.6
- [Bugfix] Fix import/export of demo course (#175)
2019-02-26 20:54:22 +01:00
Régis Behmo
e54a3cc8ca v3.0.5
- [Feature] Add cloud deployment script
- [Improvement] Run `images pull` command
- [Improvement] Run `indexcourses` on importing demo course
- [Improvement] Add `runserver stop` command
2019-02-14 08:39:11 +01:00
Régis Behmo
877a2239f7 Make tutor ready for the AWS cloud 2019-02-13 23:55:15 +01:00
Régis Behmo
b3288613c7 Add runserver stop command 2019-02-13 17:25:17 +01:00
Régis Behmo
da84299c8b v3.0.4
- [Minor] Minimum required `click` version is 7.0 (#171)
- [Bugfix] Fix `runserver` dev command (#172)
- [Minor] Fix non-https link to documentation in pypi
- [Minor] Fix `createuser` documentation
2019-02-13 17:15:18 +01:00
Régis Behmo
5b4beed1d1 Minimum required click version is 7.0
Close #171
2019-02-13 17:14:10 +01:00
Régis Behmo
22aff4dbf5 Fix runserver dev command
Close #172
2019-02-13 17:09:07 +01:00
Régis Behmo
bdc93769f0 Fix http link to docs in pypi 2019-02-12 17:43:01 +01:00
Régis Behmo
484bb59ec6 v3.0.3
- [Bugfix] Add missing template data to pypi package
- [Bugfix] Fix quickstart on Kubernetes (#164)
- [Improvement] Add datatases task to Kubernetes quickstart (#167)
2019-02-12 09:21:31 +01:00
Régis Behmo
ab2098b7f5 Run databases task on k8s quickstart
Close #167
2019-02-12 09:17:18 +01:00
Régis Behmo
253b816a0a Fix k8s quickstart
Close #164
2019-02-12 09:11:38 +01:00
Régis Behmo
4aad412b6a Fix missing templates in pypi install
Close #165.
2019-02-12 09:09:44 +01:00
Régis Behmo
e738a3b13f v3.0.2
- [Bugfix] Fix import paths -- 🚀 thanks @silviot!
- [Improvement] Properly set docker project name in mysql logs -- 🦊
thanks again @silviot!
2019-02-12 08:37:37 +01:00
Régis Behmo
486e5c5794 Fix settings import paths 2019-02-12 08:26:50 +01:00
Régis Behmo
ed8606e63c v3.0.1
- [Bugfix] fix mysql initialization (#159, #160)
- [Improvement] Better handling of continuous integration
- [Bugfix] fix `tutor --version` (#156)
- [Improvement] Absolute settings imports -- 📯 thanks @tonytan4ever!
2019-02-11 09:39:19 +01:00
Régis Behmo
09fdc30784 Fix mysql connection errror on boot
Mysql triggers "Host 'xxx' is not allowed to connect to this MySQL
server" error because of race condition.

This was an issue that had been (painfully) solved in v2 and has reared
its ugly head again in v3.

Close #159
Close #160
2019-02-11 09:38:34 +01:00
Régis Behmo
5974cb5f50 Better CI 2019-02-11 09:38:34 +01:00
Régis Behmo
4331bc5712 Tutor v3 complete rewrite
Replace all make commands by a single "tutor" binary. Environment and
data are all moved to ~/.tutor/local/share/tutor. We take the
opportunity to add a web UI and revamp the documentation.

This is a complete rewrite.

Close #121.
Close #147.
2019-02-09 20:30:01 +01:00
root
5a34a1191a Fix download of user-uploaded media
Nginx volumes for downloading user-uploaded files has been accidentally
removed at some point.

Close #139
2019-01-27 13:40:25 +01:00
Régis Behmo
6d70dedce0 Make it easy for users to override production settings
Close #131.
2019-01-20 09:24:44 +01:00
Régis Behmo
c9314e196d Switch license to AGPL 2019-01-16 17:24:42 +01:00
Régis Behmo
d7ffd439ef Fix xqueue consumer command
This should address issue #109.
2019-01-04 10:22:37 +01:00
Régis Behmo
ab4f94f030 Upgrade node to 5.5.1 in openedx image 2018-12-26 19:27:08 +01:00