The admin docs for writing kickstart templates [1] mention several Beaker object models: "The system, distro, distro_tree, user, and recipe variables are the corresponding Beaker model objects loaded from the database." Those models aren't actually documented anywhere at the moment. Some of the key attributes and methods that may be useful for writing custom templates (like distro_tree.url_in_lab) should be described in this section. [1] http://beaker-project.org/docs/admin-guide/kickstarts.html#writing-kickstart-templates
Other things that aren't currently covered are the differences between the rendering environments for server side kickstart templates and snippets and those provided in the job XML as part of the recipe definition, as well as the assorted utility functions and modules injected into the rendering context. For now, rendering details can be found here (for those that are willing to dig into the source code): http://git.beaker-project.org/cgit/beaker/tree/Server/bkr/server/kickstart.py And the default server side templates and snippets can serve as examples: http://git.beaker-project.org/cgit/beaker/tree/Server/bkr/server/kickstarts http://git.beaker-project.org/cgit/beaker/tree/Server/bkr/server/snippets
http://gerrit.beaker-project.org/3945 For now I have just documented the attributes that are actually used by our existing templates/snippets, under the assumption that those are the main useful ones. In reality, admin templates still have full access to the raw model objects which may come in handy.
The updates docs are published at: https://beaker-project.org/docs-develop/user-guide/customizing-installation.html https://beaker-project.org/docs-develop/admin-guide/kickstarts.html#writing-kickstart-templates See comment 2 above for the patch.
Beaker 20.0 has been released.