Litmus wraps functionality from other tools, providing a rake interface for you to develop modules.
spec/fixtures/litmus_inventory.yaml
, along with connection specific information. Litmus uses Bolt to execute module tasks.litmus_image
generates an inventory file, that contains connection information for each system instance. This is used by subsequent commands or by rspec.These tools are built into the Litmus commands:
To provision systems we created a module that will provision containers / images / hardware in ABS (internal to Puppet) and Docker instances. Provision is extensible, so other provisioners can be added - please raise an issue on the Provision repository, or create your own and submit a PR!
rake task -> litmus -> bolt -> provision -> docker -> lxd -> vagrant -> abs (internal) -> vmpooler (internal)
rake task -> bolt -> puppet_agent module
PDK builds the module tar file and is copied to the target using Bolt. On the target machine, run puppet module install
, specifying the tar file. This installs the dependencies listed in the metadata.json of the built module.
rake task -> pdk -> bolt
rake task -> serverspec -> rspec
rake task -> bolt provision -> docker -> lxd -> abs (internal) -> vmpooler