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_imagegenerates 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 -> 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 -> abs (internal) -> vmpooler