mirror of
https://github.com/ChristianLight/tutor.git
synced 2025-01-25 22:18:24 +00: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.
.. _readme_intro_start: Tutor: the docker-based Open edX distribution designed for peace of mind ======================================================================== | .. image:: https://overhang.io/static/img/tutor-logo.svg :alt: Tutor logo :width: 500px :align: center | .. image:: https://img.shields.io/travis/overhangio/tutor.svg?label=Release%20build&style=flat-square :alt: Release build status :target: https://travis-ci.org/overhangio/tutor .. image:: https://img.shields.io/badge/docs-current-blue.svg?style=flat-square :alt: Documentation :target: https://docs.tutor.overhang.io .. image:: https://img.shields.io/github/issues/overhangio/tutor.svg?style=flat-square :alt: GitHub issues :target: https://github.com/overhangio/tutor/issues .. image:: https://img.shields.io/github/issues-closed/overhangio/tutor.svg?colorB=brightgreen&style=flat-square :alt: GitHub closed issues :target: https://github.com/overhangio/tutor/issues?q=is%3Aclosed .. image:: https://img.shields.io/github/license/overhangio/tutor.svg?style=flat-square :alt: AGPL License :target: https://www.gnu.org/licenses/agpl-3.0.en.html **Tutor** is a docker-based `Open edX <https://openedx.org>`_ distribution, both for production and local development. The goal of Tutor is to make it easy to deploy, customize, upgrade and scale Open edX. Tutor is reliable, fast, extensible, and it is already used by dozens of Open edX platforms around the world. Do you need professional assistance setting up or managing your Open edX platform? Overhang.IO provides online support as part of its `Long Term Support (LTS) offering <https://overhang.io/tutor/lts>`__. Features -------- * 100% `open source <https://github.com/overhangio/tutor>`__ * Runs entirely on Docker * World-famous 1-click `installation and upgrades <https://docs.tutor.overhang.io/install.html>`__ * Comes with batteries included: `theming <https://github.com/overhangio/indigo>`__, `SCORM <https://github.com/overhangio/openedx-scorm-xblock>`__, `HTTPS <https://docs.tutor.overhang.io/configuration.html#ssl-tls-certificates-for-https-access>`__, `web-based administration interface <https://docs.tutor.overhang.io/extra.html#web-ui>`__, `mobile app <https://docs.tutor.overhang.io/extra.html#mobile-android-application>`__, `custom translations <https://docs.tutor.overhang.io/configuration.html#adding-custom-translations>`__... * Extensible architecture with `plugins <https://docs.tutor.overhang.io/plugins.html>`__ * Works with `Kubernetes <https://docs.tutor.overhang.io/k8s.html>`__ * No technical skill required with the `1-click Tutor AWS image <https://docs.tutor.overhang.io/install.html#cloud-deployment>`__ * Professional support and premium plugins available with `Tutor Long Term Support (LTS) <https://overhang.io/tutor/lts>`__ .. _readme_intro_end: .. image:: ./docs/img/quickstart.gif :alt: Tutor local quickstart :target: https://terminalizer.com/view/91b0bfdd557 Quickstart ---------- 1. Install the `latest stable release <https://github.com/overhangio/tutor/releases>`_ of Tutor 2. Run ``tutor local quickstart`` 3. You're done! Documentation ------------- Extensive documentation is available online: https://docs.tutor.overhang.io/ .. _readme_support_start: Support ------- To get community support, go to the official discussion forums: https://discuss.overhang.io. For official support, please subscribe to a Long Term Support (LTS) license at https://overhang.io/tutor/lts. .. _readme_support_end: .. _readme_contributing_start: Contributing ------------ We are very much open to new ideas and features for Tutor. If you have an improvement idea, feel free to first discuss it on the `Tutor forums <https://discuss.overhang.io>`_. If you are not quite familiar with Open edX or if you need technical advice, the forums are a great place to start, too. Did you find an issue with Tutor? Please first make sure that it's related to Tutor, and not an upstream issue with Open edX. Then, `open an issue on Github <https://github.com/overhangio/tutor/issues/new/choose>`_. `Pull requests <https://github.com/overhangio/tutor/pulls>`_ will be happily examined, too! .. _readme_contributing_end:
Description
Languages
Python
93.4%
Dockerfile
3.7%
Shell
1.5%
Makefile
1.1%
Jinja
0.3%