Go to file
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
.github/ISSUE_TEMPLATE Add github template for questions 2019-05-23 12:59:18 +02:00
bin Refactor plugin internals 2020-01-14 15:41:42 +01:00
docs Improve job running in local and k8s 2020-04-25 23:12:42 +02:00
requirements Improve job running in local and k8s 2020-04-25 23:12:42 +02:00
tests Improve job running in local and k8s 2020-04-25 23:12:42 +02:00
tutor Improve job running in local and k8s 2020-04-25 23:12:42 +02:00
.gitignore Add all plugins (with data) to binary bundle 2019-08-20 17:03:46 +02:00
.gitlab-ci.yml Add "docs" target to root makefile 2020-01-10 15:30:09 +01:00
.travis.yml Make sure twine & pip are up-to-date in CI 2019-10-09 13:22:00 +02:00
CHANGELOG.md Improve job running in local and k8s 2020-04-25 23:12:42 +02:00
CONTRIBUTING.rst Migrate github repo to overhangio organization 2019-06-23 23:11:07 +02:00
Dockerfile Explicitely point to docker.io images 2020-01-10 17:15:48 +01:00
LICENSE.txt gpl -> agpl 2019-01-18 15:19:18 +01:00
MANIFEST.in Fix missing requirements file in pypi package 2019-10-19 18:30:11 +02:00
Makefile Upgrade script for pushing github releases 2020-04-20 06:23:57 +02:00
README.rst Add scorm xblock to the openedx docker image 2020-04-25 14:20:13 +02:00
github-release.py Upgrade script for pushing github releases 2020-04-20 06:23:57 +02:00
setup.py Fix jinja2 dependency 2019-10-14 06:26:25 +02:00
tutor.spec Improve job running in local and k8s 2020-04-25 23:12:42 +02:00

README.rst

.. _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: