Beaker is open-source software for managing and automating labs of test computers. See our [homepage](http://beaker-project.org) for further documentation and information about the Beaker project. Repo Layout ----------- * Server/ + bkr/server/tools/ Various modules that are run as ancillary processes to the server. + bkr/server/config/ These are application specific configuration items. + bkr/server/kickstarts/ Kickstart templates that are served to the lab controller for provisioning test systems. See the [admin guide](http://beaker-project.org/guide/Administration-Customizing_Kickstarts.html) for further details. + bkr/server/snippets/ These are sections of kickstart templates that can be inserted into other kickstart templates as needed. + bkr/server/static/ Contains javascript, images and css files. + bkr/server/templates/ Templates of controllers and custom widgets are found here. * LabController/ This contains all the source code for the lab controller. + addDistro/ Scripts to run on the import of distros, See [the installation guide](http://beaker-project.org/guide/Installation-Setup_Lab_Controller-AddDistro_Jobs.html) for details. + apache/beaker-lab-controller.conf Apache configuration file. Used to configure the serving of various files including logs. + apache/404.html Custom 404 error page for logs. + aux/anamon, aux/anamon.init "Anamon", the Anaconda monitoring script. This runs during Anaconda installations and periodically uploads Anaconda logs to Beaker. + cron.hourly/ Anything to be run as a cron job on the lab controller goes in here. Currently contains a single script that expires distros. + init.d/ Contains the init scripts for the individual lab controller processes. + src/bkr/labcontroller/ Modules that act as entry points for the main processes listed in init.d/, as well as related modules. + src/bkr/labcontroller/power-scripts Contains scripts responsible for power cycling test machines. * IntegrationTests/ This directory contains the complete Beaker test suite. Tests for the server, lab controller and client are found in their corresponding directories in the *src/bkr/inttest/* directory. * Client/ All source files for the beaker client are found here. + src/bkr/client/ Modules that are shared and utilized by various commands. + src/bkr/client/commands Each module in this directory corresponds to a different primary arg to be passed to the `bkr` command. + doc/ Contains command documentation in reStructuredText format. Each module in *src/bkr/client/commands/* should have a corresponding *.rst* file in this directory. * pub_doc/ Contains the 'Beaker Guide' in docbook format, as seen [here](http://beaker-project.org/guide/). * rel-eng/ Contains hooks for building Beaker packages via tito. * SchemaUpgrades/ Manual changes co-coinciding with upgrades are documented in this directory. * Common/ Any substantial amount of source code that can be utilized by more than one package should be here. + bkr/common/schema/ Any kind of beaker entity that has a schema definition, will be defined here. This does not include database schemas. * Tasks/ Basic tasks that perform a utilitarian function are kept here. These are tasks that can be relevant to any Beaker installation. Each tasks' path is reflective of its name.