Merge remote-tracking branch 'origin/master' into nightly

This commit is contained in:
Overhang.IO 2023-08-28 07:53:24 +00:00
commit c475ff63e6
8 changed files with 20 additions and 18 deletions

View File

@ -9,7 +9,7 @@ Requirements
------------
* Supported OS: Tutor runs on any 64-bit, UNIX-based OS. It was also reported to work on Windows (with `WSL 2 <https://docs.microsoft.com/en-us/windows/wsl/install>`__).
* Architecture: support for ARM64 is a work-in-progress. See `this issue <https://github.com/overhangio/tutor/issues/510>`__.
* Architecture: Both AMD64 and ARM64 are supported.
* Required software:
- `Docker <https://docs.docker.com/engine/installation/>`__: v20.10.15+
@ -114,7 +114,7 @@ Upgrading to a new Open edX release
Major Open edX releases are published twice a year, in June and December, by the Open edX `Build/Test/Release working group <https://discuss.openedx.org/c/working-groups/build-test-release/30>`__. When a new Open edX release comes out, Tutor gets a major version bump (see :ref:`versioning`). Such an upgrade typically includes multiple breaking changes. Any upgrade is final because downgrading is not supported. Thus, when upgrading your platform from one major version to the next, it is strongly recommended to do the following:
1. Read the changes listed in the `CHANGELOG.md <https://github.com/overhangio/tutor/blob/master/CHANGELOG.md>`__ file. Breaking changes are identified by a "💥".
2. Perform a backup. On a local installation, this is typically done with::
2. Perform a backup (see the :ref:`backup tutorial <backup_tutorial>`). On a local installation, this is typically done with::
tutor local stop
sudo rsync -avr "$(tutor config printroot)"/ /tmp/tutor-backup/

View File

@ -51,7 +51,7 @@ Tutor simplifies the deployment of Open edX by:
:width: 500px
:align: center
Because Docker containers are becoming an industry-wide standard, that means that with Tutor it becomes possible to run Open edX anywhere: for now, Tutor supports deploying on a local server, with `docker-compose <https://docs.docker.com/compose/overview/>`_, and in a large cluster, with `Kubernetes <http://kubernetes.io/>`_. But in the future, Tutor may support other deployment platforms.
Because Docker containers are becoming an industry-wide standard, that means that with Tutor it becomes possible to run Open edX anywhere: for now, Tutor supports deploying on a local server, with `docker compose <https://docs.docker.com/compose/overview/>`_, and in a large cluster, with `Kubernetes <http://kubernetes.io/>`_. But in the future, Tutor may support other deployment platforms.
Where can I try Open edX and Tutor?
-----------------------------------
@ -101,7 +101,7 @@ You can now take advantage of the Tutor-powered CLI (item #3) to bootstrap your
tutor local launch
Under the hood, Tutor simply runs ``docker-compose`` and ``docker`` commands to launch your platform. These commands are printed in the standard output, such that you are free to replicate the same behaviour by simply copying/pasting the same commands.
Under the hood, Tutor simply runs ``docker compose`` and ``docker`` commands to launch your platform. These commands are printed in the standard output, such that you are free to replicate the same behaviour by simply copying/pasting the same commands.
How do I navigate Tutor's command-line interface?
-------------------------------------------------

View File

@ -119,7 +119,7 @@ Common tasks
Executing commands inside service pods
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Tutor and plugin documentation usually often instructions to execute some ``tutor local run ...`` commands. These commands are only valid when running Tutor locally with docker-compose, and will not work on Kubernetes. Instead, you should run ``tutor k8s exec ...`` commands. Arguments and options should be identical.
The Tutor and plugin documentation usually often instructions to execute some ``tutor local run ...`` commands. These commands are only valid when running Tutor locally with docker compose, and will not work on Kubernetes. Instead, you should run ``tutor k8s exec ...`` commands. Arguments and options should be identical.
For instance, to run a Python shell in the lms container, run::

View File

@ -6,7 +6,7 @@ Local deployment
This method is for deploying Open edX locally on a single server, where docker images are orchestrated with `docker-compose <https://docs.docker.com/compose/overview/>`_.
.. note::
Tutor is compatible with the ``docker compose`` subcommand. However, this support is still in beta and we're not sure it will behave the same as the previous ``docker-compose`` command. So ``docker-compose`` will be preferred, unless you set an environment variable ``TUTOR_USE_COMPOSE_SUBCOMMAND`` to enforce using ``docker compose``.
As of v16.0.0, Tutor now uses the ``docker compose`` subcommand instead of the separate ``docker-compose`` command.
.. _tutor_root:

View File

@ -1,3 +1,5 @@
.. _backup_tutorial:
Making backups and migrating data
---------------------------------
@ -10,7 +12,7 @@ With Tutor, all data are stored in a single folder. This means that it's extreme
3. Transfer the configuration, environment, and platform data from server 1 to server 2::
rsync -avr "$(tutor config printroot)/" username@server2:/tmp/tutor/
sudo -avr "$(tutor config printroot)/" username@server2:/tmp/tutor/
4. On server 2, move the data to the right location::

View File

@ -272,7 +272,7 @@ def reboot(context: click.Context, detach: bool, services: list[str]) -> None:
@click.command(
short_help="Restart some components from a running platform.",
help="""Specify 'openedx' to restart the lms, cms and workers, or 'all' to
restart all services. Note that this performs a 'docker-compose restart', so new images
restart all services. Note that this performs a 'docker compose restart', so new images
may not be taken into account. It is useful for reloading settings, for instance. To
fully stop the platform, use the 'reboot' command.""",
)
@ -302,8 +302,8 @@ def do() -> None:
@click.command(
short_help="Run a command in a new container",
help=(
"Run a command in a new container. This is a wrapper around `docker-compose run`. Any option or argument passed"
" to this command will be forwarded to docker-compose. Thus, you may use `-v` or `-p` to mount volumes and"
"Run a command in a new container. This is a wrapper around `docker compose run`. Any option or argument passed"
" to this command will be forwarded to docker compose. Thus, you may use `-v` or `-p` to mount volumes and"
" expose ports."
),
context_settings={"ignore_unknown_options": True},
@ -368,7 +368,7 @@ def copyfrom(
@click.command(
short_help="Run a command in a running container",
help=(
"Run a command in a running container. This is a wrapper around `docker-compose exec`. Any option or argument"
"Run a command in a running container. This is a wrapper around `docker compose exec`. Any option or argument"
" passed to this command will be forwarded to docker-compose. Thus, you may use `-e` to manually define"
" environment variables."
),
@ -383,7 +383,7 @@ def execute(context: click.Context, args: list[str]) -> None:
@click.command(
short_help="View output from containers",
help="View output from containers. This is a wrapper around `docker-compose logs`.",
help="View output from containers. This is a wrapper around `docker compose logs`.",
)
@click.option("-f", "--follow", is_flag=True, help="Follow log output")
@click.option("--tail", type=int, help="Number of lines to show from each container")
@ -406,10 +406,10 @@ def status(context: click.Context) -> None:
@click.command(
short_help="Direct interface to docker-compose.",
short_help="Direct interface to docker compose.",
help=(
"Direct interface to docker-compose. This is a wrapper around `docker-compose`. Most commands, options and"
" arguments passed to this command will be forwarded as-is to docker-compose."
"Direct interface to docker compose. This is a wrapper around `docker compose`. Most commands, options and"
" arguments passed to this command will be forwarded as-is to docker compose."
),
context_settings={"ignore_unknown_options": True},
name="dc",

View File

@ -50,7 +50,7 @@ class Actions:
For more information about how actions work, check out the :py:class:`tutor.core.hooks.Action` API.
"""
#: Triggered whenever a "docker-compose start", "up" or "restart" command is executed.
#: Triggered whenever a "docker compose start", "up" or "restart" command is executed.
#:
#: :parameter str root: project root.
#: :parameter dict config: project configuration.

View File

@ -1,8 +1,8 @@
# Tutor provides the `tutor MODE do JOB ...` CLI as a consistent way to execute jobs
# across the dev, local, and k8s modes. To support jobs in the docker-compose modes
# across the dev, local, and k8s modes. To support jobs in the docker compose modes
# (dev and local), we must define a `-job` variant service in which jobs could be run.
# When `tutor local do JOB ...` is invoked, we `docker-compose run` each of JOB's
# When `tutor local do JOB ...` is invoked, we `docker compose run` each of JOB's
# tasks against the appropriate `-job` services, as defined here.
# When `tutor dev do JOB ...` is invoked, we do the same, but also include any
# compose overrides in ../dev/docker-compose.jobs.yml.