Puppet Forge is an official PuppetLabs repository of modules written by the community. Modules available in Puppet Forge can be installed from command line.
At the time of writing this post, there are 105 modules that are published by PuppetLabs in Puppet Forge and several other vendors and contributors.
Let us try the Maestrodev/android module. Notice the OS compatibility list in the screenshot.
Install the Puppet client from command line.
Ubuntu: sudo apt-get install puppet -y
RedHat/CentOs: yum install puppet -y
puppet module install maestrodev/android
By default, it is installed in $HOME/.puppet/modules/android folder in Ubuntu.
At the time of writing this post, there are 105 modules that are published by PuppetLabs in Puppet Forge and several other vendors and contributors.
Let us try the Maestrodev/android module. Notice the OS compatibility list in the screenshot.
Step 1: Virtual Machine with Puppet client
Setup a new Nitrous.io VM or a Vagrant box with an OS from the list of OSes supported by the module. I executed this on a nitrous.io Ubuntu box. Android SDK takes up a lot of space. When the module is applied on the Ubuntu box, it will fill up the 5GB free space allocation. You will not be able to do anything more with this VM after installing Android SDK.Install the Puppet client from command line.
Ubuntu: sudo apt-get install puppet -y
RedHat/CentOs: yum install puppet -y
Step 2: Install the modoule
Run the following command as shown in the Puppet Forge module page.puppet module install maestrodev/android
By default, it is installed in $HOME/.puppet/modules/android folder in Ubuntu.
Step 3: Apply the module to install Android SDK.
cd $HOME/.puppet/modules sudo puppet apply --modulepath=. -e "include android"
The module will successfully install Android SDK as long as you do not have any network restrictions (in case you are on a secure network with restrictions in your organization). The messages on the screen will look something like this.
Fun: Execute unit tests
cd $HOME/.puppet/modules/android/tests sudo puppet apply --modulepath=$HOME/.puppet/modules init.pp
More fun: Explore the module to find other interesting classes. Start with init.pp and see other pp files in the following directory. It is a reasonably well documented module.
cd $HOME/.puppet/modules/android/manifestsls -ltr