Recommit for updates in build 4
This commit is contained in:
@@ -88,11 +88,6 @@
|
|||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
|
||||||
<span class='object_link'><a href="puppet_classes/confdroid_resources_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::confdroid_resources::main::yumrepo (puppet_class)">confdroid_resources::main::yumrepo</a></span>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<span class='object_link'><a href="puppet_classes/confdroid_resources_3A_3Aparams.html" title="puppet_classes::confdroid_resources::params (puppet_class)">confdroid_resources::params</a></span>
|
<span class='object_link'><a href="puppet_classes/confdroid_resources_3A_3Aparams.html" title="puppet_classes::confdroid_resources::params (puppet_class)">confdroid_resources::params</a></span>
|
||||||
|
|
||||||
|
|||||||
@@ -66,6 +66,10 @@
|
|||||||
</li><li>
|
</li><li>
|
||||||
<p><a href="#synopsis">Synopsis</a></p>
|
<p><a href="#synopsis">Synopsis</a></p>
|
||||||
</li><li>
|
</li><li>
|
||||||
|
<p><a href="#why-this-module-exists">Why This Module Exists</a></p>
|
||||||
|
</li><li>
|
||||||
|
<p><a href="#how-it-works">How It Works</a></p>
|
||||||
|
</li><li>
|
||||||
<p><a href="#warning">WARNING</a></p>
|
<p><a href="#warning">WARNING</a></p>
|
||||||
</li><li>
|
</li><li>
|
||||||
<p><a href="#features">Features</a></p>
|
<p><a href="#features">Features</a></p>
|
||||||
@@ -91,9 +95,37 @@
|
|||||||
|
|
||||||
<h2 id="label-Synopsis">Synopsis</h2>
|
<h2 id="label-Synopsis">Synopsis</h2>
|
||||||
|
|
||||||
<p>Rocky Linux uses yum repos to define its download sources.</p>
|
<p><code>confdroid_resources</code> is a lightweight Puppet module that automates the installation and configuration of common YUM/DNF repositories on Rocky Linux (and other Red Hat-based distributions). Its primary focus is managing widely used third-party repositories such as EPEL in a clean, idempotent, and conflict-free way.</p>
|
||||||
|
|
||||||
<p><code>confdroid_resources</code> is a Puppet module to automate installation and configuration of common yum repos like EPEL.</p>
|
<h2 id="label-Why+This+Module+Exists">Why This Module Exists</h2>
|
||||||
|
|
||||||
|
<p>Rocky Linux (like other Enterprise Linux distributions) uses <strong>YUM/DNF repositories</strong> to define where packages are downloaded from. Many useful packages — especially development tools, monitoring agents, additional utilities, and more — are not available in the base OS repositories. These packages are commonly found in EPEL (Extra Packages for Enterprise Linux).</p>
|
||||||
|
|
||||||
|
<p>However, Puppet follows a <strong>singleton resource model</strong>: a given resource (such as the EPEL repository) can only be declared and managed once in the catalog. Declaring it multiple times causes conflicts and catalog compilation failures.</p>
|
||||||
|
|
||||||
|
<p>This creates a common problem:</p>
|
||||||
|
<ul><li>
|
||||||
|
<p>Module A needs EPEL to install package X.</p>
|
||||||
|
</li><li>
|
||||||
|
<p>Module B also needs EPEL to install package Y.</p>
|
||||||
|
</li><li>
|
||||||
|
<p>If both modules try to declare the EPEL repo resource → conflict.</p>
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
|
<p>To solve this, the best practice is to manage foundational repositories (like EPEL) once, in a central place that is included in every node’s catalog — regardless of which specific modules or classes are applied. That’s exactly where <code>confdroid_resources</code> comes in.</p>
|
||||||
|
|
||||||
|
<h2 id="label-How+It+Works">How It Works</h2>
|
||||||
|
<ul><li>
|
||||||
|
<p>The module provides a clean, reusable way to install and enable common repositories (starting with EPEL).</p>
|
||||||
|
</li><li>
|
||||||
|
<p>It is designed to be included early in the catalog — ideally in a base profile or common role that applies to all nodes.</p>
|
||||||
|
</li><li>
|
||||||
|
<p>Once the repository is present, any module or class can safely install packages that depend on it without re-declaring the repo resource.</p>
|
||||||
|
</li><li>
|
||||||
|
<p>Individual repositories can be enabled or disabled via parameters, giving you full control without touching the main resource declarations.</p>
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
|
<p>This approach keeps your catalog clean, avoids duplication, and prevents resource conflicts.</p>
|
||||||
|
|
||||||
<h2 id="label-WARNING">WARNING</h2>
|
<h2 id="label-WARNING">WARNING</h2>
|
||||||
|
|
||||||
@@ -103,9 +135,15 @@
|
|||||||
<ul><li>
|
<ul><li>
|
||||||
<p>installs and configures yum repos</p>
|
<p>installs and configures yum repos</p>
|
||||||
</li><li>
|
</li><li>
|
||||||
<p>allows enabling or disabling EPEL even if the repo is installed, via <code>$rs_enable_epel</code>.</p>
|
<p>Automatic installation and enabling of EPEL via <code>$rs_enable_epel</code>. since this parameter is directly also used in the yumrepo configuration, it needs to be set to <code>1</code>, <strong>not</strong> <code>true</code>.</p>
|
||||||
|
</li><li>
|
||||||
|
<p>Parameter-based control (enable/disable specific repos)</p>
|
||||||
|
</li><li>
|
||||||
|
<p>Idempotent and conflict-free design</p>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
|
|
||||||
|
<p>More repositories (PowerTools/CRB, RPM Fusion, etc.) will be added over time.</p>
|
||||||
|
|
||||||
<h2 id="label-Repo+Documentation">Repo Documentation</h2>
|
<h2 id="label-Repo+Documentation">Repo Documentation</h2>
|
||||||
|
|
||||||
<p>See the full Puppet documentation including parameters in <code>docs/index.html</code></p>
|
<p>See the full Puppet documentation including parameters in <code>docs/index.html</code></p>
|
||||||
@@ -126,14 +164,20 @@
|
|||||||
}
|
}
|
||||||
</code></pre>
|
</code></pre>
|
||||||
<ul><li>
|
<ul><li>
|
||||||
<p>through Foreman:</p>
|
<p>through Foreman (recommended):</p>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
|
|
||||||
<p>In order to apply parameters through Foreman, the params.pp must be added to the host or host group in question.</p>
|
<p>In order to apply parameters through Foreman, the params.pp must be added to the host or host group in question.</p>
|
||||||
|
|
||||||
<p>See <a href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">more details about class deployment on Confdroid.com</a>.</p>
|
<p>See <a href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">more details about class deployment on Confdroid.com</a>.</p>
|
||||||
|
<ul><li>
|
||||||
|
<p>call it from other modules</p>
|
||||||
|
|
||||||
|
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='id identifier rubyid_confdroid_resources'>confdroid_resources</span>
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
<h2 id="label-SELINUX">SELINUX</h2>
|
<h2 id="label-SELINUX">SELINUX</h2>
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
<p>All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.</p>
|
<p>All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.</p>
|
||||||
|
|
||||||
@@ -143,7 +187,7 @@
|
|||||||
<ul><li>
|
<ul><li>
|
||||||
<p>OS: Rocky 9</p>
|
<p>OS: Rocky 9</p>
|
||||||
</li><li>
|
</li><li>
|
||||||
<p>Puppet 6,8</p>
|
<p>Puppet 8</p>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
|
|
||||||
<h2 id="label-Tests">Tests</h2>
|
<h2 id="label-Tests">Tests</h2>
|
||||||
@@ -164,7 +208,7 @@
|
|||||||
|
|
||||||
<h2 id="label-Contact+Us">Contact Us</h2>
|
<h2 id="label-Contact+Us">Contact Us</h2>
|
||||||
|
|
||||||
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
|
<p><a href="https://confdroid.com/contact/">contact Us</a> <a href="feedback.confdroid.com">Feedback Portal</a></p>
|
||||||
|
|
||||||
<h2 id="label-Disclaimer">Disclaimer</h2>
|
<h2 id="label-Disclaimer">Disclaimer</h2>
|
||||||
|
|
||||||
|
|||||||
@@ -66,6 +66,10 @@
|
|||||||
</li><li>
|
</li><li>
|
||||||
<p><a href="#synopsis">Synopsis</a></p>
|
<p><a href="#synopsis">Synopsis</a></p>
|
||||||
</li><li>
|
</li><li>
|
||||||
|
<p><a href="#why-this-module-exists">Why This Module Exists</a></p>
|
||||||
|
</li><li>
|
||||||
|
<p><a href="#how-it-works">How It Works</a></p>
|
||||||
|
</li><li>
|
||||||
<p><a href="#warning">WARNING</a></p>
|
<p><a href="#warning">WARNING</a></p>
|
||||||
</li><li>
|
</li><li>
|
||||||
<p><a href="#features">Features</a></p>
|
<p><a href="#features">Features</a></p>
|
||||||
@@ -91,9 +95,37 @@
|
|||||||
|
|
||||||
<h2 id="label-Synopsis">Synopsis</h2>
|
<h2 id="label-Synopsis">Synopsis</h2>
|
||||||
|
|
||||||
<p>Rocky Linux uses yum repos to define its download sources.</p>
|
<p><code>confdroid_resources</code> is a lightweight Puppet module that automates the installation and configuration of common YUM/DNF repositories on Rocky Linux (and other Red Hat-based distributions). Its primary focus is managing widely used third-party repositories such as EPEL in a clean, idempotent, and conflict-free way.</p>
|
||||||
|
|
||||||
<p><code>confdroid_resources</code> is a Puppet module to automate installation and configuration of common yum repos like EPEL.</p>
|
<h2 id="label-Why+This+Module+Exists">Why This Module Exists</h2>
|
||||||
|
|
||||||
|
<p>Rocky Linux (like other Enterprise Linux distributions) uses <strong>YUM/DNF repositories</strong> to define where packages are downloaded from. Many useful packages — especially development tools, monitoring agents, additional utilities, and more — are not available in the base OS repositories. These packages are commonly found in EPEL (Extra Packages for Enterprise Linux).</p>
|
||||||
|
|
||||||
|
<p>However, Puppet follows a <strong>singleton resource model</strong>: a given resource (such as the EPEL repository) can only be declared and managed once in the catalog. Declaring it multiple times causes conflicts and catalog compilation failures.</p>
|
||||||
|
|
||||||
|
<p>This creates a common problem:</p>
|
||||||
|
<ul><li>
|
||||||
|
<p>Module A needs EPEL to install package X.</p>
|
||||||
|
</li><li>
|
||||||
|
<p>Module B also needs EPEL to install package Y.</p>
|
||||||
|
</li><li>
|
||||||
|
<p>If both modules try to declare the EPEL repo resource → conflict.</p>
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
|
<p>To solve this, the best practice is to manage foundational repositories (like EPEL) once, in a central place that is included in every node’s catalog — regardless of which specific modules or classes are applied. That’s exactly where <code>confdroid_resources</code> comes in.</p>
|
||||||
|
|
||||||
|
<h2 id="label-How+It+Works">How It Works</h2>
|
||||||
|
<ul><li>
|
||||||
|
<p>The module provides a clean, reusable way to install and enable common repositories (starting with EPEL).</p>
|
||||||
|
</li><li>
|
||||||
|
<p>It is designed to be included early in the catalog — ideally in a base profile or common role that applies to all nodes.</p>
|
||||||
|
</li><li>
|
||||||
|
<p>Once the repository is present, any module or class can safely install packages that depend on it without re-declaring the repo resource.</p>
|
||||||
|
</li><li>
|
||||||
|
<p>Individual repositories can be enabled or disabled via parameters, giving you full control without touching the main resource declarations.</p>
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
|
<p>This approach keeps your catalog clean, avoids duplication, and prevents resource conflicts.</p>
|
||||||
|
|
||||||
<h2 id="label-WARNING">WARNING</h2>
|
<h2 id="label-WARNING">WARNING</h2>
|
||||||
|
|
||||||
@@ -103,9 +135,15 @@
|
|||||||
<ul><li>
|
<ul><li>
|
||||||
<p>installs and configures yum repos</p>
|
<p>installs and configures yum repos</p>
|
||||||
</li><li>
|
</li><li>
|
||||||
<p>allows enabling or disabling EPEL even if the repo is installed, via <code>$rs_enable_epel</code>.</p>
|
<p>Automatic installation and enabling of EPEL via <code>$rs_enable_epel</code>. since this parameter is directly also used in the yumrepo configuration, it needs to be set to <code>1</code>, <strong>not</strong> <code>true</code>.</p>
|
||||||
|
</li><li>
|
||||||
|
<p>Parameter-based control (enable/disable specific repos)</p>
|
||||||
|
</li><li>
|
||||||
|
<p>Idempotent and conflict-free design</p>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
|
|
||||||
|
<p>More repositories (PowerTools/CRB, RPM Fusion, etc.) will be added over time.</p>
|
||||||
|
|
||||||
<h2 id="label-Repo+Documentation">Repo Documentation</h2>
|
<h2 id="label-Repo+Documentation">Repo Documentation</h2>
|
||||||
|
|
||||||
<p>See the full Puppet documentation including parameters in <code>docs/index.html</code></p>
|
<p>See the full Puppet documentation including parameters in <code>docs/index.html</code></p>
|
||||||
@@ -126,14 +164,20 @@
|
|||||||
}
|
}
|
||||||
</code></pre>
|
</code></pre>
|
||||||
<ul><li>
|
<ul><li>
|
||||||
<p>through Foreman:</p>
|
<p>through Foreman (recommended):</p>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
|
|
||||||
<p>In order to apply parameters through Foreman, the params.pp must be added to the host or host group in question.</p>
|
<p>In order to apply parameters through Foreman, the params.pp must be added to the host or host group in question.</p>
|
||||||
|
|
||||||
<p>See <a href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">more details about class deployment on Confdroid.com</a>.</p>
|
<p>See <a href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">more details about class deployment on Confdroid.com</a>.</p>
|
||||||
|
<ul><li>
|
||||||
|
<p>call it from other modules</p>
|
||||||
|
|
||||||
|
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='id identifier rubyid_confdroid_resources'>confdroid_resources</span>
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
<h2 id="label-SELINUX">SELINUX</h2>
|
<h2 id="label-SELINUX">SELINUX</h2>
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
<p>All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.</p>
|
<p>All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.</p>
|
||||||
|
|
||||||
@@ -143,7 +187,7 @@
|
|||||||
<ul><li>
|
<ul><li>
|
||||||
<p>OS: Rocky 9</p>
|
<p>OS: Rocky 9</p>
|
||||||
</li><li>
|
</li><li>
|
||||||
<p>Puppet 6,8</p>
|
<p>Puppet 8</p>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
|
|
||||||
<h2 id="label-Tests">Tests</h2>
|
<h2 id="label-Tests">Tests</h2>
|
||||||
@@ -164,7 +208,7 @@
|
|||||||
|
|
||||||
<h2 id="label-Contact+Us">Contact Us</h2>
|
<h2 id="label-Contact+Us">Contact Us</h2>
|
||||||
|
|
||||||
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
|
<p><a href="https://confdroid.com/contact/">contact Us</a> <a href="feedback.confdroid.com">Feedback Portal</a></p>
|
||||||
|
|
||||||
<h2 id="label-Disclaimer">Disclaimer</h2>
|
<h2 id="label-Disclaimer">Disclaimer</h2>
|
||||||
|
|
||||||
|
|||||||
@@ -64,14 +64,7 @@
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
<li id="object_puppet_classes::confdroid_resources::main::yumrepo" class="odd">
|
<li id="object_puppet_classes::confdroid_resources::params" class="odd">
|
||||||
<div class="item">
|
|
||||||
<span class='object_link'><a href="puppet_classes/confdroid_resources_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::confdroid_resources::main::yumrepo (puppet_class)">confdroid_resources::main::yumrepo</a></span>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
<li id="object_puppet_classes::confdroid_resources::params" class="even">
|
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<span class='object_link'><a href="puppet_classes/confdroid_resources_3A_3Aparams.html" title="puppet_classes::confdroid_resources::params (puppet_class)">confdroid_resources::params</a></span>
|
<span class='object_link'><a href="puppet_classes/confdroid_resources_3A_3Aparams.html" title="puppet_classes::confdroid_resources::params (puppet_class)">confdroid_resources::params</a></span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -73,8 +73,6 @@
|
|||||||
|
|
||||||
<span class='object_link'><a href="confdroid_resources_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::confdroid_resources::main::install (puppet_class)">confdroid_resources::main::install</a></span><br/>
|
<span class='object_link'><a href="confdroid_resources_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::confdroid_resources::main::install (puppet_class)">confdroid_resources::main::install</a></span><br/>
|
||||||
|
|
||||||
<span class='object_link'><a href="confdroid_resources_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::confdroid_resources::main::yumrepo (puppet_class)">confdroid_resources::main::yumrepo</a></span><br/>
|
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user