Compare commits

..

1 Commits

Author SHA1 Message Date
Jenkins Server
894ad6ae03 Recommit for updates in build 2 2026-07-21 13:38:13 +02:00
12 changed files with 1458 additions and 44 deletions

View File

@@ -20,11 +20,7 @@
## Synopsis ## Synopsis
Grafana Alloy is a log management agent built by Grafana labs to scrape and forward logs to Loki, a log management system also built by Grafana labs. Grafana Alloy is a log management agent built by Grafana labs to scrape and forward logs to Loki, a log management system also built by Grafana labs. Then you can use Grafana itself to visualize those logs and built an alerting system.
It also can scrape and forward metrics to Prometheus.
Then you can use Grafana itself to visualize those logs and metrics and built an alerting system.
`confdroid_alloy` is a Puppet module to automate installation and configuration of alloy. `confdroid_alloy` is a Puppet module to automate installation and configuration of alloy.
@@ -37,7 +33,6 @@ Then you can use Grafana itself to visualize those logs and metrics and built an
INSTALLATION INSTALLATION
- installs alloy binaries - installs alloy binaries
- installs node exporter (optional, set `ay_manage_ne`to `true`)
CONFIGURATION CONFIGURATION

View File

@@ -91,11 +91,7 @@
<h2 id="label-Synopsis">Synopsis</h2> <h2 id="label-Synopsis">Synopsis</h2>
<p>Grafana Alloy is a log management agent built by Grafana labs to scrape and forward logs to Loki, a log management system also built by Grafana labs.</p> <p>Grafana Alloy is a log management agent built by Grafana labs to scrape and forward logs to Loki, a log management system also built by Grafana labs. Then you can use Grafana itself to visualize those logs and built an alerting system.</p>
<p>It also can scrape and forward metrics to Prometheus.</p>
<p>Then you can use Grafana itself to visualize those logs and metrics and built an alerting system.</p>
<p><code>confdroid_alloy</code> is a Puppet module to automate installation and configuration of alloy.</p> <p><code>confdroid_alloy</code> is a Puppet module to automate installation and configuration of alloy.</p>
@@ -108,8 +104,6 @@
<p>INSTALLATION</p> <p>INSTALLATION</p>
<ul><li> <ul><li>
<p>installs alloy binaries</p> <p>installs alloy binaries</p>
</li><li>
<p>installs node exporter (optional, set <code>ay_manage_ne</code>to <code>true</code>)</p>
</li></ul> </li></ul>
<p>CONFIGURATION</p> <p>CONFIGURATION</p>

View File

@@ -91,11 +91,7 @@
<h2 id="label-Synopsis">Synopsis</h2> <h2 id="label-Synopsis">Synopsis</h2>
<p>Grafana Alloy is a log management agent built by Grafana labs to scrape and forward logs to Loki, a log management system also built by Grafana labs.</p> <p>Grafana Alloy is a log management agent built by Grafana labs to scrape and forward logs to Loki, a log management system also built by Grafana labs. Then you can use Grafana itself to visualize those logs and built an alerting system.</p>
<p>It also can scrape and forward metrics to Prometheus.</p>
<p>Then you can use Grafana itself to visualize those logs and metrics and built an alerting system.</p>
<p><code>confdroid_alloy</code> is a Puppet module to automate installation and configuration of alloy.</p> <p><code>confdroid_alloy</code> is a Puppet module to automate installation and configuration of alloy.</p>
@@ -108,8 +104,6 @@
<p>INSTALLATION</p> <p>INSTALLATION</p>
<ul><li> <ul><li>
<p>installs alloy binaries</p> <p>installs alloy binaries</p>
</li><li>
<p>installs node exporter (optional, set <code>ay_manage_ne</code>to <code>true</code>)</p>
</li></ul> </li></ul>
<p>CONFIGURATION</p> <p>CONFIGURATION</p>

View File

@@ -0,0 +1,121 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: alloy_cd
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::alloy_cd";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (a)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">alloy_cd</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: alloy_cd</h1>
<div class="box_info">
<dl>
<dt>Defined in:</dt>
<dd>
manifests/init.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class initializes the alloy_cd module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>alloy_cd::init.pp Module name: alloy_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/init.pp', line 6</span>
class alloy_cd {
include alloy_cd::params
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,130 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: alloy_cd::main::config
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::alloy_cd::main::config";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (a)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">alloy_cd::main::config</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: alloy_cd::main::config</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="alloy_cd_3A_3Aparams.html" title="puppet_classes::alloy_cd::params (puppet_class)">alloy_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/config.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages module logic for the alloy_cd module
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>alloy_cd::main::config.pp Module name: alloy_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/config.pp', line 6</span>
class alloy_cd::main::config (
) inherits alloy_cd::params {
include alloy_cd::main::service
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,154 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: alloy_cd::main::dirs
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::alloy_cd::main::dirs";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (a)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">alloy_cd::main::dirs</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: alloy_cd::main::dirs</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="alloy_cd_3A_3Aparams.html" title="puppet_classes::alloy_cd::params (puppet_class)">alloy_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/dirs.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages required directories for the alloy_cd module
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>alloy_cd::main::dirs.pp Module name: alloy_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/dirs.pp', line 6</span>
class alloy_cd::main::dirs (
) inherits alloy_cd::params {
require alloy_cd::main::install
# main config dir
file { $ay_main_dir:
ensure =&gt; directory,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;alloy&#39;,
mode =&gt; &#39;0770&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; etc_t,
seluser =&gt; system_u,
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,222 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: alloy_cd::main::files
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::alloy_cd::main::files";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (a)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">alloy_cd::main::files</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: alloy_cd::main::files</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="alloy_cd_3A_3Aparams.html" title="puppet_classes::alloy_cd::params (puppet_class)">alloy_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/files.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages required config files for the alloy_cd module
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>alloy_cd::main::files.pp Module name: alloy_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/files.pp', line 6</span>
class alloy_cd::main::files (
) inherits alloy_cd::params {
require alloy_cd::main::dirs
# Ensure log_targets is always an array
$log_targets_array = Array($alloy_cd::params::ay_log_targets, true)
file { $ay_main_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; etc_t,
seluser =&gt; system_u,
content =&gt; template(&#39;alloy_cd/config.alloy.erb&#39;),
notify =&gt; Service[$ay_service],
}
# manage logrotate for rsyslog to allow adm group membership
file { &#39;/etc/logrotate.d/rsyslog&#39;:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; etc_t,
seluser =&gt; system_u,
content =&gt; template(&#39;alloy_cd/logrotate.rsyslog.erb&#39;),
}
# manage log file group permissions
file { &#39;/var/log/messages&#39;:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;adm&#39;,
mode =&gt; &#39;0640&#39;,
notify =&gt; Service[$ay_service],
}
file { &#39;/var/log/secure&#39;:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;adm&#39;,
mode =&gt; &#39;0640&#39;,
notify =&gt; Service[$ay_service],
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,138 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: alloy_cd::main::install
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::alloy_cd::main::install";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (a)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">alloy_cd::main::install</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: alloy_cd::main::install</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="alloy_cd_3A_3Aparams.html" title="puppet_classes::alloy_cd::params (puppet_class)">alloy_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/install.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class installs packages for the alloy_cd module
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>alloy_cd::main::install.pp Module name: alloy_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/install.pp', line 6</span>
class alloy_cd::main::install (
) inherits alloy_cd::params {
require alloy_cd::main::yumrepo
package { $reqpackages:
ensure =&gt; $pkg_ensure,
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,144 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: alloy_cd::main::service
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::alloy_cd::main::service";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (a)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">alloy_cd::main::service</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: alloy_cd::main::service</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="alloy_cd_3A_3Aparams.html" title="puppet_classes::alloy_cd::params (puppet_class)">alloy_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/service.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages the alloy service
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>alloy_cd::main::service.pp Module name: alloy_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/service.pp', line 6</span>
class alloy_cd::main::service (
) inherits alloy_cd::params {
require alloy_cd::main::files
service { $ay_service:
ensure =&gt; running,
hasstatus =&gt; true,
hasrestart =&gt; true,
enable =&gt; true,
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,150 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: alloy_cd::main::yumrepo
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::alloy_cd::main::yumrepo";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (a)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">alloy_cd::main::yumrepo</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: alloy_cd::main::yumrepo</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="alloy_cd_3A_3Aparams.html" title="puppet_classes::alloy_cd::params (puppet_class)">alloy_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/yumrepo.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
class install yum repos for the alloy_cd module
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>alloy_cd::main::yumrepo.pp Module name: alloy_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/yumrepo.pp', line 6</span>
class alloy_cd::main::yumrepo (
) inherits alloy_cd::params {
# test
yumrepo { &#39;grafana&#39;:
ensure =&gt; &#39;present&#39;,
name =&gt; &#39;grafana&#39;,
descr =&gt; &#39;grafana&#39;,
baseurl =&gt; &#39;https://packages.grafana.com/oss/rpm&#39;,
gpgkey =&gt; &#39;https://packages.grafana.com/gpg.key&#39;,
enabled =&gt; &#39;1&#39;,
gpgcheck =&gt; &#39;1&#39;,
target =&gt; &#39;/etc/yum.repo.d/grafana.repo&#39;,
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,382 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: alloy_cd::params
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::alloy_cd::params";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (a)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">alloy_cd::params</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: alloy_cd::params</h1>
<div class="box_info">
<dl>
<dt>Inherited by:</dt>
<dd>
<span class='object_link'><a href="alloy_cd_3A_3Amain_3A_3Adirs.html" title="puppet_classes::alloy_cd::main::dirs (puppet_class)">alloy_cd::main::dirs</a></span><br/>
<span class='object_link'><a href="alloy_cd_3A_3Amain_3A_3Afiles.html" title="puppet_classes::alloy_cd::main::files (puppet_class)">alloy_cd::main::files</a></span><br/>
<span class='object_link'><a href="alloy_cd_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::alloy_cd::main::config (puppet_class)">alloy_cd::main::config</a></span><br/>
<span class='object_link'><a href="alloy_cd_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::alloy_cd::main::install (puppet_class)">alloy_cd::main::install</a></span><br/>
<span class='object_link'><a href="alloy_cd_3A_3Amain_3A_3Aservice.html" title="puppet_classes::alloy_cd::main::service (puppet_class)">alloy_cd::main::service</a></span><br/>
<span class='object_link'><a href="alloy_cd_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::alloy_cd::main::yumrepo (puppet_class)">alloy_cd::main::yumrepo</a></span><br/>
</dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/params.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class contains all parameters for the alloy_cd module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>alloy_cd::params.pp Module name: alloy_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>reqpackages</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;alloy&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>which packages to install</p>
</div>
</li>
<li>
<span class='name'>pkg_ensure</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;latest&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>latest or present</p>
</div>
</li>
<li>
<span class='name'>ay_loki_url</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;https://loki.example.net/loki/api/v1/push&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the url where alloy will send logs to.</p>
</div>
</li>
<li>
<span class='name'>ay_loki_username</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;loki_user&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the username to logon to loki</p>
</div>
</li>
<li>
<span class='name'>ay_loki_userpass</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;loki_pass&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the password to logon to loki</p>
</div>
</li>
<li>
<span class='name'>ay_manage_loki</span>
<span class='type'>(<tt>Boolean</tt>)</span>
<em class="default">(defaults to: <tt>true</tt>)</em>
&mdash;
<div class='inline'>
<p>whether to manage log forwarding to loki</p>
</div>
</li>
<li>
<span class='name'>ay_manage_prom</span>
<span class='type'>(<tt>Boolean</tt>)</span>
<em class="default">(defaults to: <tt>true</tt>)</em>
&mdash;
<div class='inline'>
<p>whether to manage metric forwarding</p>
</div>
</li>
<li>
<span class='name'>ay_manage_ne</span>
<span class='type'>(<tt>Boolean</tt>)</span>
<em class="default">(defaults to: <tt>false</tt>)</em>
&mdash;
<div class='inline'>
<p>whether to manage metric forwarding for the node exporter (external)</p>
</div>
</li>
<li>
<span class='name'>ay_prom_url</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;https://prometheus.example.net/api/v1/write&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the url where alloy will send metrics</p>
</div>
</li>
<li>
<span class='name'>ay_log_targets</span>
<span class='type'>(<tt>Array</tt>)</span>
<em class="default">(defaults to: <tt>[&#39;/var/log/messages&#39;,&#39;/var/log/secure&#39;,]</tt>)</em>
&mdash;
<div class='inline'>
<p>the logging targets</p>
</div>
</li>
</ul>
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/params.pp', line 17</span>
class alloy_cd::params (
String $reqpackages = &#39;alloy&#39;,
String $pkg_ensure = &#39;latest&#39;,
# loki
Boolean $ay_manage_loki = true,
String $ay_loki_url = &#39;https://loki.example.net/loki/api/v1/push&#39;,
String $ay_loki_username = &#39;loki_user&#39;,
String $ay_loki_userpass = &#39;loki_pass&#39;,
Array $ay_log_targets = [&#39;/var/log/messages&#39;,&#39;/var/log/secure&#39;,],
# prometheus
Boolean $ay_manage_prom = true,
String $ay_prom_url = &#39;https://prometheus.example.net/api/v1/write&#39;,
# node exporter (external)
Boolean $ay_manage_ne = false,
) {
# service
$ay_service = &#39;alloy&#39;
# dirs
$ay_main_dir = &#39;/etc/alloy&#39;
# files
$ay_main_file = &quot;${ay_main_dir}/config.alloy&quot;
# includes must be last
include alloy_cd::main::config
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -53,34 +53,24 @@ loki.write "loki" {
} }
<% end -%> <% end -%>
<% if @ay_manage_prom == true -%> <% if @ay_manage_prom == true -%>
// 1. Exporter (or keep your existing node_exporter binary) // Metrics collection
prometheus.exporter.unix "node" { prometheus.exporter.unix "system_metrics" {
// optional: disable unused collectors include_exporter_metrics = true
// disable_collectors = ["ipvs", "btrfs", ...] disable_collectors = ["mdadm"]
} }
// 2. Relabel the targets so instance = real hostname prometheus.scrape "scrape_system" {
discovery.relabel "node_exporter" { targets = prometheus.exporter.unix.system_metrics.targets
targets = prometheus.exporter.unix.node.targets forward_to = [prometheus.remote_write.prometheus.receiver]
rule {
target_label = "instance"
replacement = constants.hostname
}
rule {
target_label = "job"
replacement = "integrations/node_exporter"
}
}
// 3. Scrape the properly labeled targets
prometheus.scrape "node_exporter" {
targets = discovery.relabel.node_exporter.output
forward_to = [prometheus.remote_write.prometheus.receiver]
scrape_interval = "15s" scrape_interval = "15s"
} }
<% if @ay_manage_ne == true -%>
prometheus.scrape "node_exporter" {
targets = [{ __address__ = "localhost:9100" }]
forward_to = [prometheus.remote_write.prometheus.receiver]
scrape_interval = "15s"
}
<% end -%>
prometheus.remote_write "prometheus" { prometheus.remote_write "prometheus" {
endpoint { endpoint {
url = "<%= @ay_prom_url %>" url = "<%= @ay_prom_url %>"