mirror of
https://github.com/ChristianLight/tutor.git
synced 2024-12-12 22:27:47 +00:00
9446095665
Through the commonLabels directive in kustomization.yml, all resources get a label named "app.kubernetes.io/version", which is being set to the Tutor version at the time of initial deployment. When the user then subsequently progresses to a new Tutor version, Kubernetes attempts to update this label — but for Deployment, ReplicaSet, and DaemonSet resources, this is no longer allowed as of https://github.com/kubernetes/kubernetes/issues/50808. This causes "tutor k8s start" (at the "kubectl apply --kustomize" step) to break with errors such as: Deployment.apps "redis" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app.kubernetes.io/instance":"openedx-JIONBLbtByCGUYgHgr4tDWu1", "app.kubernetes.io/managed-by":"tutor", "app.kubernetes.io/name":"redis", "app.kubernetes.io/part-of":"openedx", "app.kubernetes.io/version":"12.1.7"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable Simply removing the app.kubernetes.io/version label from kustomization.yml will permanently fix this issue for newly created Kubernetes deployments, which will "survive" any future Tutor version changes thereafter. However, *existing* production Open edX deployments will need to throw the affected Deployments away, and re-create them. Also, add the Tutor version as a resource annotation instead, using the commonAnnotations directive. See also: https://github.com/kubernetes/client-go/issues/508 https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/commonlabels/ https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/commonannotations/ Fixes #531. |
||
---|---|---|
.github | ||
bin | ||
docs | ||
requirements | ||
tests | ||
tutor | ||
.gitignore | ||
.gitlab-ci.yml | ||
CHANGELOG-nightly.md | ||
CHANGELOG.md | ||
CONTRIBUTING.rst | ||
Dockerfile | ||
LICENSE.txt | ||
Makefile | ||
MANIFEST.in | ||
README.rst | ||
setup.py | ||
tutor.spec |
.. _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/static/v1?logo=github&label=Git&style=flat-square&color=brightgreen&message=Source%20code :alt: Source code :target: https://github.com/overhangio/tutor .. image:: https://img.shields.io/static/v1?logo=discourse&label=Forums&style=flat-square&color=ff0080&message=discuss.overhang.io :alt: Forums :target: https://discuss.overhang.io .. image:: https://img.shields.io/static/v1?logo=readthedocs&label=Documentation&style=flat-square&color=blue&message=docs.tutor.overhang.io :alt: Documentation :target: https://docs.tutor.overhang.io .. image:: https://img.shields.io/pypi/v/tutor?logo=python&logoColor=white :alt: PyPI releases :target: https://pypi.org/project/tutor .. 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 .. image:: https://img.shields.io/static/v1?logo=twitter&label=Twitter&style=flat-square&color=1d9bf0&message=@overhangio :alt: Follow us on Twitter :target: https://twitter.com/overhangio/ .. image:: https://img.shields.io/static/v1?logo=youtube&label=YouTube&style=flat-square&color=ff0000&message=@overhangio :alt: Follow us on Youtube :target: https://www.youtube.com/c/OverhangIO **Tutor** is the 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 hundreds 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/pricing>`__. 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://github.com/overhangio/tutor-webui>`__, `mobile app <https://github.com/tutor/tutor-android>`__, `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>`__ * Amazing premium plugins available in the `Tutor Wizard Edition <https://overhang.io/tutor/wizardedition>`__, including `Cairn <https://overhang.io/tutor/plugin/cairn>`__ the next-generation analytics solution for Open edX. * No technical skill required with the `1-click Tutor AWS image <https://docs.tutor.overhang.io/install.html#cloud-deployment>`__ .. _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/ Is there a problem? ------------------- Please follow the instructions from the `troubleshooting section <https://docs.tutor.overhang.io/troubleshooting.html>`__ in the docs. .. _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/pricing. .. _readme_support_end: .. _readme_contributing_start: Contributing ------------ We welcome contributions to Tutor! To learn how you can contribute, please check the relevant section of the Tutor docs: `https://docs.tutor.overhang.io/tutor.html#contributing <https://docs.tutor.overhang.io/tutor.html#contributing>`__. .. _readme_contributing_end: