6
0
mirror of https://github.com/ChristianLight/tutor.git synced 2025-01-10 09:02:14 +00:00
Commit Graph

180 Commits

Author SHA1 Message Date
Syed Muhammad Dawoud Sheraz Ali
cbd20d3ef8
v18.1.1 (#1091) 2024-07-04 12:15:58 +05:00
Danyal Faheem
08549141e2
fix: add turn on mysql-native-password authentication plugin to fix broken connection for users upgrading from Tutor 15 or earlier (#1090)
* fix: add --mysql-native-password=ON param to fix broken connection, fixes #1089
For tutor instances that were created with tutor 15 and earlier and then upgraded to tutor 18, the launch process would fail as MySQL connection could not be made. This is because mysql-native-password was removed in MySQL 8.4.0. We turn it on temporarily to fix failing connections.
2024-07-04 11:32:53 +05:00
Régis Behmo
dce1138d65 v18.1.0 2024-06-25 17:50:11 +02:00
Illia Shestakov
c8ce86b979 fix: do not fail on start when there are no persistent volume claims
Persistent volume claims are being created alongside with other objects
to acheive that.
2024-06-25 17:48:07 +02:00
Danyal Faheem
c4fd3062f0
feat!: upgrade default mysql charset and collation to utf8mb4 2024-06-25 15:01:58 +02:00
Régis Behmo
d9a2c24d34 fix: docker build deprecation warnings
With the latest Docker upgrade, we got the following warnings during
build:

    FromAsCasing: 'as' and 'FROM' keywords' casing do not match
    LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format
2024-06-21 17:23:51 +02:00
Syed Muhammad Dawoud Sheraz Ali
ad6045db75 v17.0.6 2024-06-13 10:18:45 +02:00
Danyal Faheem
f4b500321d
fix: run permissions for windows with HOST_USER_ID or 1000 (#1074) 2024-06-10 17:44:11 +05:00
Jason Mok
fa5201b848
chore: remove obsolete version property in Compose (#1070)
Close https://github.com/overhangio/tutor/issues/1066
2024-05-28 11:12:30 -04:00
Abdul-Muqadim-Arbisoft
d682b74053
feat: add IS_FILE_RENDERED filter to enhance file processing flexibility (#1062) 2024-05-28 11:06:51 +05:00
DawoudSheraz
3d52a84096 v17.0.5 2024-05-23 18:38:05 +02:00
Syed Muhammad Dawoud Sheraz Ali
e3eb72db2a
security: add upstream security patch in dockerfile (#1068) 2024-05-22 14:32:58 +05:00
Andrew Bonnell
2520d93fb0
Add CONFIG_USER Filter (#1021) 2024-05-21 11:01:05 +05:00
ravikhetani
3d3abeb8ef
Add the ability to patch proxy config for Caddy (#1033)
* Add the ability to patch proxy config for Caddy
2024-04-25 16:24:20 +05:00
DawoudSheraz
d8993f6293 v17.0.4 2024-04-11 11:15:59 +02:00
Syed Muhammad Dawoud Sheraz Ali
52abe65c69
feat: update release to quince.3 (#1037) 2024-04-09 22:33:46 +05:00
Syed Muhammad Dawoud Sheraz Ali
178104522e
security: update redis
See the list of vulnerabilities fixed since 7.2.1: https://github.com/redis/redis/releases
2024-03-27 11:43:53 +01:00
Régis Behmo
c5c563523d v17.0.2 2024-03-26 14:40:14 +01:00
Syed Muhammad Dawoud Sheraz Ali
0e37449f40
fix: ensure mounted installable packages are installed as expected
Close #1016.
2024-03-21 09:58:36 +01:00
Régis Behmo
3401a71b18 fix: merge conflicts due to edx-platform patches in nightly
When building the nightly images, some patches fail because they come
from the master branch. To address this, we apply certain patches only
if we are not in nightly mode.
2024-02-22 11:49:31 +01:00
Régis Behmo
59b1987ff1 fix: infinite cache growth
See the discussion here: https://github.com/overhangio/tutor/pull/984
And the upstream PR here: https://github.com/openedx/edx-platform/pull/34210

The tl;dr is that the Redis course structure cache was growing without
bounds. While the upstream fix should resolve that issue, we decided
that Tutor should have a maxmemory limit and an eviction policy set for
operational safety.

Thus, Redis now has a 4gb maxmemory. If you need more memory on your
instance, you should implement the "redis-conf" patch.

To manually expire existing keys, run:

    tutor local run cms ./manage.py cms shell -c "from django.core.cache import caches; c = caches['course_structure_cache']; [c.expire(key, 604800) for key in c.keys('*')]"
2024-02-19 09:43:40 +01:00
Régis Behmo
f103f056cd v17.0.2 2024-02-09 23:06:25 +01:00
Régis Behmo
439b7d08f0 feat: upgrade to quince.2 2024-02-09 22:16:15 +01:00
Abdul-Muqadim-Arbisoft
d99b2feeb3 fix: remove pkg_resources for python 3.12 compatibility
pkg_resources is available in python 3.12 only if setuptools is
explicitely installed, which is not always the case. We fix that by
replacing all usage of pkg_resources with importlib_resources and
importlib_metadata.

Close #966
2024-02-09 22:06:30 +01:00
Kyle D. McCormick
4a30c4ab35 feat: enhance importdemocourse ; add importdemolibraries 2024-02-08 10:38:27 -05:00
Régis Behmo
487ca89885 chore: add missing test fixture and changelog entry
We somehow forgot to include these files in a previous commit...
2024-02-08 11:21:30 +01:00
Kshitij Sobti
2924b92cea fixup!: Apply review feedback 2024-01-30 09:47:32 +01:00
Régis Behmo
07cbd69ce3 v17.0.1 2024-01-25 16:55:26 +01:00
ravikhetani
b832f519ca
fix: correctly render .webp and .otf files in env
This partially addresses #985.

---------

Co-authored-by: Ravi Khetani <r.khetani@institute.global>
2024-01-22 13:18:29 +01:00
Régis Behmo
efd8df600d security: fix JWT scopes in XBlock callbacks
See:
https://github.com/openedx/edx-platform/security/advisories/GHSA-qx8m-mqx3-j9fm
https://github.com/openedx/edx-platform/pull/34047
2024-01-22 10:39:15 +01:00
Régis Behmo
68203f47be fix: RsaKey.dq attribute error
Running `tutor config save` with an outdated version of pycryptodome was
failing with the following error:

    Error: Missing configuration value: 'Crypto.PublicKey.RSA.RsaKey object' has no attribute 'dq'

This is because the "dq" attribute was only introduced in pycryptodome
3.17.0: https://www.pycryptodome.org/src/changelog#january-2023

To resolve this issue we bump the minimum requirements.

Close #962
2023-12-19 09:32:19 +01:00
Alejandro Cardenas
afb85aaab6
feat: add CONFIG INTERACTIVE action
New hook Action that allows tutor plugins to interact with the configuration at the time of the interactive questionnaire that happens during `tutor local/dev launch`.
2023-12-15 10:31:35 +01:00
Régis Behmo
0ccf48690a feat: upgrade to quince 2023-12-11 20:41:32 +01:00
Overhang.IO
71e469174f Merge remote-tracking branch 'origin/master' into nightly 2023-12-10 22:19:14 +00:00
Régis Behmo
ada5b36a62 v16.1.8 2023-12-10 22:59:03 +01:00
Régis Behmo
0d997c9479 feat: auto-mount edx-platform python requirements
These changes make to possible to run:

    tutor mounts add /path/to/my-xblock

The xblock directory with then be auto-magically bind-mounted in the
"openedx" image at build time, and the lms*/cms* containers at run time.

This makes it effectively possible to work as a developer on
edx-platform requirements.

We take the opportunity to move some openedx-specific code to a
dedicated module.

Close https://github.com/openedx/wg-developer-experience/issues/177
2023-12-10 22:57:08 +01:00
Régis Behmo
6da97d22f4 feat: local.overhang.io -> local.edly.io
The new domain name points to 127.0.0.1, just like the previous one. We
keep the local.overhang.io domain names for backward compatibility. In
the future, we hope to migrate to "*.openedx.io" but that will not
happen before Redwood.

Close #945
2023-12-09 15:51:31 +01:00
Emad Rad
61d37b436d fix: save configs by enable/disable plugins.
before this, after enabling/disabling any plugins we should re-generate all files with tutor config save.
2023-12-08 12:47:34 +01:00
Overhang.IO
0c4b82f80c Merge remote-tracking branch 'origin/master' into nightly 2023-12-05 11:30:38 +00:00
Régis Behmo
d3aa7d9a52 docs: docs.tutor.overhang.io -> docs.tutor.edly.io
See: https://github.com/overhangio/tutor/issues/945
2023-12-05 11:46:56 +01:00
Régis Behmo
8d815bc317 Merge branch 'master' into nightly 2023-11-29 11:21:51 +01:00
Régis Behmo
ff8091bef2 feat: simplify nightly management
Bumping the `OPENEDX_COMMON_VERSION` in the master branch usually
creates a conflict when we merge the change in the nightly branch. To
avoid this conflict, we add some logic to the `OPENEDX_COMMON_VERSION`.

This change should be invisible for most users.

This partially addresses issue #936.
2023-11-29 10:49:53 +01:00
Régis Behmo
913a1adae4 Merge branch 'master' into nightly 2023-11-23 12:58:04 +01:00
Omar Al-Ithawi
65ba0d2de2 fix: fix ulimits error for elasticsearch in Docker rootless mode
disable `ulimits` in rootless docker mode by setting them to zero
2023-11-23 12:36:07 +01:00
Overhang.IO
c4cc7279fc Merge remote-tracking branch 'origin/master' into nightly 2023-11-23 09:02:05 +00:00
Florian Haas
8fdb6f52d9 fix: Reduce MySQL binlog expiry from 30 days to 3
MySQL 8 defaults to a binlog expiry period of 2592000 seconds
(30 days), which for Tutor/Open edX purposes can be considered
excessive.

On the one hand, it is unlikely that a MySQL server configured for
Tutor uses MySQL replication at all (considering that up until Tutor
15 and MySQL 5.7, the binlog was disabled by default, rendering
replication impossible). Even if it does, a replica lagging more than
two days behind the primary server would be unacceptable.

Likewise, it is unlikely that an Open edX database is backed up less
than once a day, thus is is unlikely that Open edX admins would
benefit from the ability to do point-in-time restore over a 30-day
period.

On the other hand, having a 30-day binlog expiry period can
considerably increase the storage space requirements for the MySQL
container, particularly on busy Open edX platforms. When left
unchecked, this can even cause the MySQL container to run into "No
space left on device" situations, disabling the MySQL database
altogether. Thus, the MySQL default settings are likely to be a net
disadvantage for Open edX admins.

Finally, all of the above considerations apply only if the Open edX
administrator has chosen to run their own MySQL and not opted for a
DBaaS solution like AWS RDS.

Thus, it should be acceptable to run with a reduced binlog expiry
period of 3 days (rather than 30) by default.

Therefore, inject the --binlog-expire-logs-seconds=259200 argument
into the Tutor-generated command to start mysqld.

Reference:
https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_expire_logs_seconds
2023-11-23 09:39:55 +01:00
Régis Behmo
2b490e59a7 Merge branch 'master' into nightly 2023-11-20 16:33:20 +01:00
Régis Behmo
e02d4274ee v16.1.7 2023-11-17 10:34:21 +01:00
Régis Behmo
66fce06e44 fix: missing dev.txt file in pypi package
Close #943.
2023-11-17 10:32:53 +01:00
Régis Behmo
01971f572b v16.1.6 2023-11-16 22:38:10 +01:00