{"id":32605,"date":"2023-02-04T22:14:05","date_gmt":"2023-02-04T22:14:05","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=32605"},"modified":"2023-02-04T22:32:56","modified_gmt":"2023-02-04T22:32:56","slug":"puppet-tutorials-complete-guide-of-puppet-module","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/puppet-tutorials-complete-guide-of-puppet-module\/","title":{"rendered":"Puppet Tutorials: Complete Guide of Puppet Module"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">How to Create Puppet Module Skeleton?<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">Step 1 &#8211; Install PDK<\/h4>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># RHEL 7<\/span>\r\n\r$ sudo rpm -Uvh https:<span class=\"hljs-comment\">\/\/yum.puppet.com\/puppet-tools-release-el-7.noarch.rpm<\/span>\r\n$ sudo yum install pdk\r\n\r$ exec bash\n\n<span class=\"hljs-comment\"># RHEL 8<\/span>\r\n\r$ sudo rpm -Uvh https:<span class=\"hljs-comment\">\/\/yum.puppet.com\/puppet-tools-release-el-8.noarch.rpm<\/span>\r\n$ sudo yum install pdk\n$ exec bash\n\n<span class=\"hljs-comment\"># Ubuntu 20.04<\/span>\r\n\r$ wget https:<span class=\"hljs-comment\">\/\/apt.puppet.com\/puppet-tools-release-focal.deb<\/span>\r\n$ sudo dpkg -i puppet-tools-release-focal.deb\r\n$ sudo apt-get update\r\n$ sudo apt-get install pdk\n$ exec bash<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Reference <\/strong>&#8211; https:\/\/www.puppet.com\/docs\/pdk\/2.x\/pdk_install.html<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step 2 &#8211; Install PDK<\/h4>\n\n\n\n<p>$ pdk new module &lt;MODULE_NAME><\/p>\n\n\n\n<p>$ pdk new module websphere<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">root@agent1:~<span class=\"hljs-comment\"># pdk new module tcb-websphere<\/span>\r\npdk (INFO): Creating <span class=\"hljs-keyword\">new<\/span> module: tcb-websphere\r\n\r\nWe need to create the metadata.json file <span class=\"hljs-keyword\">for<\/span> this module, so we<span class=\"hljs-string\">'re going to ask you 4 questions.\r\nIf the question is not applicable to this module, accept the default option shown after each question. You can modify any answers at any time by manually updating the metadata.json file.\r\n\r\n&#91;Q 1\/4] If you have a Puppet Forge username, add it here.\r\nWe can use this to upload your module to the Forge when it'<\/span>s complete.\r\n--&gt; tcb\r\n\r\n&#91;Q <span class=\"hljs-number\">2<\/span>\/<span class=\"hljs-number\">4<\/span>] Who wrote this module?\r\nThis is used to credit the module<span class=\"hljs-string\">'s author.\r\n--&gt; Rajesh Kumar\r\n\r\n&#91;Q 3\/4] What license does this module code fall under?\r\nThis should be an identifier from https:\/\/spdx.org\/licenses\/. Common values are \"Apache-2.0\", \"MIT\", or \"proprietary\".\r\n--&gt; Apache-2.0\r\n\r\n&#91;Q 4\/4] What operating systems does this module support?\r\nUse the up and down keys to move between the choices, space to select and enter to continue.\r\n--&gt; RedHat based Linux, Debian based Linux, Windows\r\n\r\nMetadata will be generated based on this information, continue? Yes\r\npdk (INFO): Using the default template-url and template-ref.\r\npdk (INFO): Module '<\/span>websphere<span class=\"hljs-string\">' generated at path '<\/span>\/root\/websphere<span class=\"hljs-string\">'.\r\npdk (INFO): In your module directory, add classes with the '<\/span>pdk <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span>' <span class=\"hljs-title\">command<\/span>.\r\n<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"616\" height=\"616\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/02\/image-5.png\" alt=\"\" class=\"wp-image-32610\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/02\/image-5.png 616w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/02\/image-5-300x300.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/02\/image-5-150x150.png 150w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/02\/image-5-250x250.png 250w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/02\/image-5-80x80.png 80w\" sizes=\"auto, (max-width: 616px) 100vw, 616px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>How to Create Puppet Module Skeleton? Step 1 &#8211; Install PDK Reference &#8211; https:\/\/www.puppet.com\/docs\/pdk\/2.x\/pdk_install.html Step 2 &#8211; Install PDK $ pdk new module &lt;MODULE_NAME> $ pdk new module websphere<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-32605","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/32605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=32605"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/32605\/revisions"}],"predecessor-version":[{"id":32611,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/32605\/revisions\/32611"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=32605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=32605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=32605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}