{"id":245,"date":"2016-02-19T17:11:12","date_gmt":"2016-02-19T15:11:12","guid":{"rendered":"http:\/\/www.systemcodegeeks.com\/?p=245"},"modified":"2016-02-13T00:57:55","modified_gmt":"2016-02-12T22:57:55","slug":"installing-puppet-modules-librarian-puppet","status":"publish","type":"post","link":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/","title":{"rendered":"Installing Puppet Modules \u2013 Librarian Puppet"},"content":{"rendered":"<p>Of course we can manually download the modules from <a href=\"https:\/\/forge.puppetlabs.com\/\" target=\"_blank\">Puppet Forge<\/a>\u00a0and install it but it becomes messy as you have to manually maintain the dependencies between the modules which definitely makes your repository bigger than necessary.<\/p>\n<p>Already I briefed about <a href=\"https:\/\/github.com\/rodjek\/librarian-puppet\" target=\"_blank\">librarian-puppet<\/a>\u00a0 in my\u00a0<a href=\"http:\/\/blog.xebia.in\/2015\/09\/15\/automating-development-enviroment-using-vagrant-and-puppet\/\" target=\"_blank\">Blog At Xebia<\/a>, still to provide little more context, it manages the <strong>Puppet<\/strong> modules your infrastructure depends on, whether the modules come from the <strong>Puppet Forge<\/strong>, <strong>Git<\/strong> repositories or just a path. People who are familiar with <a href=\"https:\/\/maven.apache.org\/\" target=\"_blank\">Maven<\/a>\u00a0can relate\u00a0librarian-puppet similar to it as it automatically download and manage dependent modules.<\/p>\n<p>In this article we will learn how to install <a href=\"https:\/\/forge.puppetlabs.com\/arpitaggarwal\/tomcat\" target=\"_blank\">arpitaggarwal\/tomcat<\/a><b>\u00a0<\/b>Puppet Module using <strong>librarian-puppet<\/strong>. The complete source code is hosted on <a href=\"https:\/\/github.com\/arpitaggarwal\/vagrant-tomcat\" target=\"_blank\">github<\/a>.<\/p>\n<p><strong>Step 1:<\/strong> Create a directory with any name for me it\u2019s <strong>vagrant, <\/strong>as<strong>\u00a0<\/strong>follows:<\/p>\n<pre class=\" brush:java\">$ mkdir vagrant\r\n$ cd vagrant\r\n$ vagrant init<\/pre>\n<p><strong>Step 2:<\/strong>\u00a0Edit the <strong>Vagrantfile<\/strong> with below content:<\/p>\n<pre class=\" brush:java\">VAGRANTFILE_API_VERSION = \"2\"\r\nVagrant.configure(VAGRANTFILE_API_VERSION) do |config|\r\nconfig.vm.box = \"hashicorp\/precise32\"\r\nconfig.vm.network :private_network, ip: \"90.0.9.99\"\r\nconfig.vm.provision \"shell\", path: \"installation-script.sh\"\r\nconfig.vm.provision :puppet do |puppet|\r\npuppet.manifests_path = 'puppet\/manifests'\r\npuppet.module_path = 'puppet\/modules'\r\npuppet.manifest_file =\"init.pp\"\r\nend\r\nend<\/pre>\n<p><strong>Step 3:<\/strong>\u00a0 Create <strong>installation-script.sh<\/strong> in your current project directory(vagrant), which will install, <strong>librarian-puppet<\/strong>, it\u2019s dependency <strong>GIT<\/strong> and <strong>Puppet<\/strong> in your guest machine, as follows:<\/p>\n<pre class=\" brush:java\">$ touch installation-script.sh<\/pre>\n<p>Content of <strong>installation-script.sh<\/strong> should look something like this:<\/p>\n<pre class=\" brush:java\">#!\/usr\/bin\/env bash\r\nset -e\r\n# Directory in which PuppetFile is placed to be scanned by librarian-puppet.\r\nPUPPET_DIR=\/vagrant\/puppet\r\n\r\necho \"Installing Git..\"\r\napt-get -q -y install git\r\n\r\necho \"Installing librarian-puppet..\"\r\nif [ \"$(gem search -i librarian-puppet)\" = \"false\" ]; then\r\nRUBY_VERSION=$(ruby -e 'print RUBY_VERSION')\r\ncase \"$RUBY_VERSION\" in\r\n1.8.*)\r\n# For ruby 1.8.x librarian-puppet needs to use 'highline' 1.6.x\r\n# highline &gt;= 1.7.0 requires ruby &gt;= 1.9.3\r\ngem install highline --version \"~&gt;1.6.0\" &gt; \/dev\/null 2&gt;&amp;1\r\n# Install the most recent 1.x.x version, but not 2.x.x which needs Ruby 1.9\r\ngem install librarian-puppet --version \"~&gt;1\"\r\n;;\r\n*)\r\ngem install librarian-puppet\r\n;;\r\nesac\r\nfi\r\necho \"librarian-puppet installed!\"\r\n\r\necho \"Executing PuppetFile..\"\r\ncd $PUPPET_DIR &amp;&amp; librarian-puppet install --path modules\r\n\r\necho \"Installing Puppet repo for Ubuntu 12.04 LTS\"\r\nwget -qO \/tmp\/puppetlabs-release-precise.deb \\\r\nhttps:\/\/apt.puppetlabs.com\/puppetlabs-release-precise.deb\r\ndpkg -i \/tmp\/puppetlabs-release-precise.deb\r\nrm \/tmp\/puppetlabs-release-precise.deb\r\naptitude update\r\necho Installing puppet\r\naptitude install -y puppet\r\necho \"Puppet installed!\"<\/pre>\n<p><strong>Step 4:<\/strong> Make directory <strong>puppet<\/strong> and then <strong>modules<\/strong> and <strong>manifests<\/strong> under it, as follows:<\/p>\n<pre class=\" brush:java\">$ mkdir puppet\r\n$ cd puppet\/\r\n$ touch Puppetfile\r\n$ mkdir modules\r\n$ mkdir manifests\r\n$ cd manifests\r\n$ touch init.pp<\/pre>\n<p>Content of <strong>Puppetfile<\/strong> should look like:<\/p>\n<pre class=\" brush:java\">forge \"http:\/\/forge.puppetlabs.com\"\r\nmod \"arpitaggarwal\/tomcat\"<\/pre>\n<p>Content of puppet\/manifests\/init.pp should look like:<\/p>\n<pre class=\" brush:java\">class { 'tomcat': }<\/pre>\n<p>After performing all the above steps, your project structure should look like as:<\/p>\n<p><a href=\"http:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/ee40ee68-858a-11e5-8159-030d3294861e.png\" rel=\"attachment wp-att-413\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-413\" src=\"http:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/ee40ee68-858a-11e5-8159-030d3294861e.png\" alt=\"ee40ee68-858a-11e5-8159-030d3294861e\" width=\"198\" height=\"195\" srcset=\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/ee40ee68-858a-11e5-8159-030d3294861e.png 198w, https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/ee40ee68-858a-11e5-8159-030d3294861e-70x70.png 70w\" sizes=\"(max-width: 198px) 100vw, 198px\" \/><\/a><\/p>\n<p><strong>Step 6:<\/strong> Now you can boot up your VM provisioned with Tomcat from the vagrant directory executing command:<\/p>\n<pre class=\" brush:java\">$ vagrant up<\/pre>\n<p>That\u2019s all. Happy Learning!<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"http:\/\/aggarwalarpit.wordpress.com\/2015\/11\/07\/installing-puppet-modules-librarian-puppet\/\">Installing Puppet Modules \u2013 Librarian Puppet<\/a> from our <a href=\"http:\/\/www.systemcodegeeks.com\/join-us\/scg\/\">SCG partner<\/a> Arpit Aggarwal at the <a href=\"https:\/\/aggarwalarpit.wordpress.com\/\">Arpit Aggarwal<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Of course we can manually download the modules from Puppet Forge\u00a0and install it but it becomes messy as you have to manually maintain the dependencies between the modules which definitely makes your repository bigger than necessary. Already I briefed about librarian-puppet\u00a0 in my\u00a0Blog At Xebia, still to provide little more context, it manages the Puppet &hellip;<\/p>\n","protected":false},"author":5,"featured_media":415,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[39],"tags":[50],"class_list":["post-245","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","tag-puppet"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Installing Puppet Modules \u2013 Librarian Puppet - System Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Of course we can manually download the modules from Puppet Forge\u00a0and install it but it becomes messy as you have to manually maintain the dependencies\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Installing Puppet Modules \u2013 Librarian Puppet - System Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Of course we can manually download the modules from Puppet Forge\u00a0and install it but it becomes messy as you have to manually maintain the dependencies\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/\" \/>\n<meta property=\"og:site_name\" content=\"System Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/systemcodegeeks\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/arpit.aggarwal.1989\" \/>\n<meta property=\"article:published_time\" content=\"2016-02-19T15:11:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/puppet-labs-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Arpit Aggarwal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@aggarwalarpit89\" \/>\n<meta name=\"twitter:site\" content=\"@systemcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arpit Aggarwal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/\"},\"author\":{\"name\":\"Arpit Aggarwal\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/7763c04f3a6eda99fd37275460380b35\"},\"headline\":\"Installing Puppet Modules \u2013 Librarian Puppet\",\"datePublished\":\"2016-02-19T15:11:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/\"},\"wordCount\":260,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/puppet-labs-logo.jpg\",\"keywords\":[\"Puppet\"],\"articleSection\":[\"DevOps\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/\",\"url\":\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/\",\"name\":\"Installing Puppet Modules \u2013 Librarian Puppet - System Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/puppet-labs-logo.jpg\",\"datePublished\":\"2016-02-19T15:11:12+00:00\",\"description\":\"Of course we can manually download the modules from Puppet Forge\u00a0and install it but it becomes messy as you have to manually maintain the dependencies\",\"breadcrumb\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#primaryimage\",\"url\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/puppet-labs-logo.jpg\",\"contentUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/puppet-labs-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.systemcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DevOps\",\"item\":\"https:\/\/www.systemcodegeeks.com\/category\/devops\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Installing Puppet Modules \u2013 Librarian Puppet\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#website\",\"url\":\"https:\/\/www.systemcodegeeks.com\/\",\"name\":\"System Code Geeks\",\"description\":\"Operating System Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.systemcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.systemcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/systemcodegeeks\",\"https:\/\/x.com\/systemcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/7763c04f3a6eda99fd37275460380b35\",\"name\":\"Arpit Aggarwal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a0dc71e538e67766feb7c436ea43f02757eeb1f9446613ae680752be7239a3f6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a0dc71e538e67766feb7c436ea43f02757eeb1f9446613ae680752be7239a3f6?s=96&d=mm&r=g\",\"caption\":\"Arpit Aggarwal\"},\"description\":\"Arpit is a Consultant at Xebia in India. He has been designing and building J2EE applications since more than 4 years. He is fond of Object Oriented and lover of Functional programming and his specialties are Java, J2EE, Scala, SOA, Cloud and Big Data Technologies.\",\"sameAs\":[\"https:\/\/aggarwalarpit.wordpress.com\/\",\"https:\/\/www.facebook.com\/arpit.aggarwal.1989\",\"https:\/\/in.linkedin.com\/in\/arpitaggarwalxebia\",\"https:\/\/x.com\/aggarwalarpit89\"],\"url\":\"https:\/\/www.systemcodegeeks.com\/author\/arpit-aggarwal\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Installing Puppet Modules \u2013 Librarian Puppet - System Code Geeks - 2026","description":"Of course we can manually download the modules from Puppet Forge\u00a0and install it but it becomes messy as you have to manually maintain the dependencies","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/","og_locale":"en_US","og_type":"article","og_title":"Installing Puppet Modules \u2013 Librarian Puppet - System Code Geeks - 2026","og_description":"Of course we can manually download the modules from Puppet Forge\u00a0and install it but it becomes messy as you have to manually maintain the dependencies","og_url":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/","og_site_name":"System Code Geeks","article_publisher":"https:\/\/www.facebook.com\/systemcodegeeks","article_author":"https:\/\/www.facebook.com\/arpit.aggarwal.1989","article_published_time":"2016-02-19T15:11:12+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/puppet-labs-logo.jpg","type":"image\/jpeg"}],"author":"Arpit Aggarwal","twitter_card":"summary_large_image","twitter_creator":"@aggarwalarpit89","twitter_site":"@systemcodegeeks","twitter_misc":{"Written by":"Arpit Aggarwal","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#article","isPartOf":{"@id":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/"},"author":{"name":"Arpit Aggarwal","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/7763c04f3a6eda99fd37275460380b35"},"headline":"Installing Puppet Modules \u2013 Librarian Puppet","datePublished":"2016-02-19T15:11:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/"},"wordCount":260,"commentCount":0,"publisher":{"@id":"https:\/\/www.systemcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/puppet-labs-logo.jpg","keywords":["Puppet"],"articleSection":["DevOps"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/","url":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/","name":"Installing Puppet Modules \u2013 Librarian Puppet - System Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.systemcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#primaryimage"},"image":{"@id":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/puppet-labs-logo.jpg","datePublished":"2016-02-19T15:11:12+00:00","description":"Of course we can manually download the modules from Puppet Forge\u00a0and install it but it becomes messy as you have to manually maintain the dependencies","breadcrumb":{"@id":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#primaryimage","url":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/puppet-labs-logo.jpg","contentUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/puppet-labs-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.systemcodegeeks.com\/devops\/installing-puppet-modules-librarian-puppet\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.systemcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"DevOps","item":"https:\/\/www.systemcodegeeks.com\/category\/devops\/"},{"@type":"ListItem","position":3,"name":"Installing Puppet Modules \u2013 Librarian Puppet"}]},{"@type":"WebSite","@id":"https:\/\/www.systemcodegeeks.com\/#website","url":"https:\/\/www.systemcodegeeks.com\/","name":"System Code Geeks","description":"Operating System Developers Resource Center","publisher":{"@id":"https:\/\/www.systemcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.systemcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.systemcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.systemcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/systemcodegeeks","https:\/\/x.com\/systemcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/7763c04f3a6eda99fd37275460380b35","name":"Arpit Aggarwal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a0dc71e538e67766feb7c436ea43f02757eeb1f9446613ae680752be7239a3f6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a0dc71e538e67766feb7c436ea43f02757eeb1f9446613ae680752be7239a3f6?s=96&d=mm&r=g","caption":"Arpit Aggarwal"},"description":"Arpit is a Consultant at Xebia in India. He has been designing and building J2EE applications since more than 4 years. He is fond of Object Oriented and lover of Functional programming and his specialties are Java, J2EE, Scala, SOA, Cloud and Big Data Technologies.","sameAs":["https:\/\/aggarwalarpit.wordpress.com\/","https:\/\/www.facebook.com\/arpit.aggarwal.1989","https:\/\/in.linkedin.com\/in\/arpitaggarwalxebia","https:\/\/x.com\/aggarwalarpit89"],"url":"https:\/\/www.systemcodegeeks.com\/author\/arpit-aggarwal\/"}]}},"_links":{"self":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/posts\/245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/comments?post=245"}],"version-history":[{"count":0,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/posts\/245\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/media\/415"}],"wp:attachment":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/media?parent=245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/categories?post=245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/tags?post=245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}