Skip to content

archerslaw/beaker

 
 

Repository files navigation

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.

About

Beaker server, lab controller, client, and other miscellaneous bits

Resources

License

Stars

Watchers

Forks

Packages

No packages published