Wizard ====== Wizard is the next-generation autoinstall management system. It is currently being developed as an in-house tool for scripts.mit.edu, with a focus on automating the upgrading process using a Git backend. Ultimately, we would like to see Wizard become a general purpose web application package manager, with first class support for a variety of applications under a homogenous interface. Usage ----- .. highlight:: sh Components of Wizard depend on packages and special configuration found on scripts servers. As such, the best way to test Wizard is to SSH into a scripts server:: ssh scripts.mit.edu wizard help Individual tools that are not scripts-specific, such as ``wizard upgrade`` or ``wizard install``, can be run locally with Python 2.6 and a reasonably new version of Git. .. highlight:: python Development ----------- The canonical source of the Wizard source code is the directory :file:`/mit/scripts/git/wizard.git` on AFS. The live version of the source code lives at :file:`/mit/scripts/wizard` and should be periodically updated as necessary (use the ``pull.sh`` script; you will need scripts-root bits to do so). Documentation lives in :file:`/mit/scripts/web_scripts/home/wizard`; the post-merge hook on this Git repository should perform the appropriate rebuild. Certain commands must be run as root on ``not-backward.mit.edu`` due to our restrictive security policies. This machine maintains its own copy of Wizard at :file:`/wizard`. If you make local changes to this copy and would like to push them back to the core repository, you should push to a ``system:scripts-security-upd`` writable directory in your home directory, and then on a trusted machine perform the push to the canonical repository. Table of Contents ----------------- .. toctree:: :maxdepth: 1 setup repo create upgrade testing plugin glossary license Modules ------- .. toctree:: :maxdepth: 1 module/wizard module/wizard.app module/wizard.app.php module/wizard.deploy module/wizard.git module/wizard.install module/wizard.merge module/wizard.plugin module/wizard.prompt module/wizard.resolve module/wizard.shell module/wizard.sql module/wizard.sset module/wizard.tests module/wizard.user module/wizard.util Indices and tables ------------------ * :ref:`genindex` * :ref:`modindex` * :ref:`search`