/edx-configuration

A collection of edx configuration scripts and utilities that edx.org uses to deploy openedx.

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Configuration Management

This repository is a collection of tools and scripts that edx.org uses to deploy openedx. The purpose of this repository is to share portions of our toolchain with the community. This repository is not the best way to get started running openedx. For that, please look at Open EdX Installation options, which contains links to the recommended paths for new installations.

Important: The Open edX configuration scripts need to be run as root on your servers and will make changes to service configurations including, but not limited to, sshd, dhclient, sudo, apparmor and syslogd. Our scripts are made available as we use them and they implement our best practices. We strongly recommend that you review everything that these scripts will do before running them against your servers. We also recommend against running them against servers that are hosting other applications. No warranty is expressed or implied.

For more information including installation instructions please see the OpenEdX Wiki.

For info on any large recent changes please see the change log.

What is in this Repo?

  • playbooks: This directory contains ansible playbooks that can be used to configure individual services in the openedx platform. See Open EdX Installation options before trying to use any of the scripts in this directory.
  • docker: This directory contains dockerfiles that can be used to test that playbooks execute cleanly. See Makefiles for Documentation on how to run these containers.
  • requirements : inputs for pip-compile Update files in this directory and then run make upgrade to update requirements.txt
  • tests: scripts used by travis-ci to test changes to this repo
  • util: one-off scripts or tools used to perform certain functions related to openedx management.
  • vagrant: vagrant tooling for testing changes to this repo.

Roadmap

This repository is in sustained status. The goal is to deprecate this codebase and move the deployment code into the repos with the application code.

With the adoption of containerized application platforms like Kubernetes, the tools in this repository are complex and inappropriate for building small single purpose containers.

At edx.org, we are focusing on deployment of applications using Terraform and Kubernetes. We hope to provide open source tooling for this soon.

Contributing

  • Bugfixes: If you would like to contribute a bugfix to this codebase, please open a pull request. A bot will automatically walk your contribution through the Open Source Contribution process.