Skip to main content

Posts

Showing posts with the label Tutorial

Getting started with @PuppetLabs - Part 3 - Puppet Forge

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. 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 ...

Getting Started with @PuppetLabs - Part 4 - Supporting multiple operating systems

Most puppet modules can be designed to support multiple operating systems. Puppet has built in features to allow this through some simple syntax in the .pp file. It is a good practice to do that, whether you are publishing these modules on Puppet Forge or building highly customized modules for a specific purposes in a private enterprise. 1. Scalability - In case an organization chooses to switch operating systems or support other operating systems, your modules are already supporting them or they already have some operating systems and it is a matter of adding a few lines of code at the very top to add support for other operating systems. 2. Visibility and usability - The modules that support more than one operating system have higher usage counts on Puppet Forge because they support more than one type of need. We will walk through a simple example to demonstrate multi-OS support. I checked in this code in GitHub at https://github.com/adityai/puppetApache . Module: Install Apac...

Getting started with Puppet - Part 2 - Hello World

This is the second post in the series for getting started with Puppet. We are going to run a really simple Puppet module that is hosted on GitHub. Tools needed: Git client (of course) VM or Nitrous.io or anything similar Puppet client installed (discussed in Part 1) Step 1 : Download the Hello World module git clone https://github.com/adityai/puppetStarter.git Step 2: Run the Puppet hello world sample cd puppetStarter sudo puppet apply --modulepath . helloWorld/site.pp This is how we apply a puppet module from the command line directly on the target machine or on your development workstation. The output will have some information about verifying or compiling along with a message 'Hello World!" ➜  puppetStarter git:(master) sudo puppet apply --modulepath . helloworld/manifests/site.pp Notice: Compiled catalog for ruby-on-rails-139787.us-west-2.compute.internal in environment production in 0.05 seconds Notice: Hello World Notice: /Stage[...

Getting started with Puppet - Part 1 - Sandbox setup

What is Puppet? Puppet  is a great product that enables IT infrastructure automation at scale. Produced by Puppet Labs, it is an open source product that also has a paid Enterprise version with additional features. It runs on Unix based operating systems and Windows. It has its own declarative language to allow programmers to script for automating infrastructure provisioning and configuration. To get started with learning Puppet, I recommend using the  Puppet learning Virtual Machine . Alternatively, any default Vagrant box has a Puppet client pre-installed. For the purpose of this tutorial, I will be using Nitrous.io, which I covered in a prior post titled ' Create a dashing.io on nitrous.io '. From that post, follow the basic instructions for creating a free account in nitrous.io and continue below after getting to the console. Installing Puppet client on Nitrous.io In the console, execute the following commands. sudo apt-get update sudo apt-get install puppet pu...

Create a dashing.io dashboard on nitrous.io

Dashing.io is a simple ruby based dashboard creation tool with live updates and high quality graphics that look great on HD TVs. Nitrous.io is a free cloud (browser based) Integrated Development Environment (IDE). I use the free package for this demo and that will work out to be adequate for what we are about to do. We will walk through the steps of creating a new account on Nitrous.io, creating and running a sample dashing.io dashboard on Nitrous.io. Step 1: Create an account or login with GitHub account Step 2: Get Started: Select 'Ruby on Rails' container Give it a cool name Step 3: Select a Plan I would stick with the free one for this demo. Step 4: Start the workspace Step 5: Start the container Step 6: Open the IDE Step 7: Install dashing gem Execute the following commands in the console section in the bottom of the IDE. gem install dashing gem install bundler Step 8: Create a new dashboard Execute th...