summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2020-07-05 15:49:17 -0400
committerJesse Luehrs <doy@tozt.net>2020-07-05 16:20:00 -0400
commit7c784de79327fbc9fd62404d69fe6813f9c6f559 (patch)
treedace1d0628f31faeba233fa67df1531e2d6f7ca6
parent8f3c8ce6f76349e1181cf60e5b2ed17941675ef3 (diff)
downloadpuppet-tozt-7c784de79327fbc9fd62404d69fe6813f9c6f559.tar.gz
puppet-tozt-7c784de79327fbc9fd62404d69fe6813f9c6f559.zip
add input plugin for pacman updates
-rw-r--r--modules/base/files/pacman-cron3
-rw-r--r--modules/base/manifests/operatingsystem.pp6
-rw-r--r--modules/tick/files/plugins/pacman4
-rw-r--r--modules/tick/files/plugins/pacman.conf3
-rw-r--r--modules/tick/manifests/client.pp3
-rw-r--r--modules/tick/manifests/client/base_plugins.pp2
-rw-r--r--modules/tick/manifests/client/plugin/pacman.pp15
7 files changed, 36 insertions, 0 deletions
diff --git a/modules/base/files/pacman-cron b/modules/base/files/pacman-cron
new file mode 100644
index 0000000..30b859f
--- /dev/null
+++ b/modules/base/files/pacman-cron
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+yaourt -Sya > /dev/null
diff --git a/modules/base/manifests/operatingsystem.pp b/modules/base/manifests/operatingsystem.pp
index e5425f3..4a65015 100644
--- a/modules/base/manifests/operatingsystem.pp
+++ b/modules/base/manifests/operatingsystem.pp
@@ -1,4 +1,6 @@
class base::operatingsystem {
+ include cron
+
file {
"/etc/locale.gen":
content => "en_US.UTF-8 UTF-8\n",
@@ -16,6 +18,10 @@ class base::operatingsystem {
content => template('base/hosts');
'/etc/yaourtrc':
source => 'puppet:///modules/base/yaourtrc';
+ '/etc/cron.hourly/pacman':
+ source => 'puppet:///modules/base/pacman-cron',
+ mode => '0755',
+ require => Class['cron'];
}
exec { "regen locale data":
diff --git a/modules/tick/files/plugins/pacman b/modules/tick/files/plugins/pacman
new file mode 100644
index 0000000..a466487
--- /dev/null
+++ b/modules/tick/files/plugins/pacman
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+update_count="$( (yaourt -Qua || true) | wc -l)"
+echo "pacman updates=${update_count}i"
diff --git a/modules/tick/files/plugins/pacman.conf b/modules/tick/files/plugins/pacman.conf
new file mode 100644
index 0000000..f7b8cb9
--- /dev/null
+++ b/modules/tick/files/plugins/pacman.conf
@@ -0,0 +1,3 @@
+[[inputs.exec]]
+commands = ["/etc/telegraf/plugins/pacman"]
+data_format = "influx"
diff --git a/modules/tick/manifests/client.pp b/modules/tick/manifests/client.pp
index a37256b..1cdf155 100644
--- a/modules/tick/manifests/client.pp
+++ b/modules/tick/manifests/client.pp
@@ -14,6 +14,9 @@ class tick::client {
"/etc/telegraf/telegraf.d":
ensure => directory,
require => Package::Makepkg['telegraf-bin'];
+ "/etc/telegraf/plugins":
+ ensure => directory,
+ require => Package::Makepkg['telegraf-bin'];
}
service { 'telegraf':
diff --git a/modules/tick/manifests/client/base_plugins.pp b/modules/tick/manifests/client/base_plugins.pp
index 84b9db1..2a4b347 100644
--- a/modules/tick/manifests/client/base_plugins.pp
+++ b/modules/tick/manifests/client/base_plugins.pp
@@ -28,4 +28,6 @@ class tick::client::base_plugins {
"system",
]:
}
+
+ class { "tick::client::plugin::pacman": }
}
diff --git a/modules/tick/manifests/client/plugin/pacman.pp b/modules/tick/manifests/client/plugin/pacman.pp
new file mode 100644
index 0000000..8cef8d8
--- /dev/null
+++ b/modules/tick/manifests/client/plugin/pacman.pp
@@ -0,0 +1,15 @@
+class tick::client::plugin::pacman {
+ file {
+ "/etc/telegraf/telegraf.d/pacman.conf":
+ source => 'puppet:///modules/tick/plugins/pacman.conf',
+ require => [
+ File["/etc/telegraf/telegraf.d"],
+ File["/etc/telegraf/plugins/pacman"],
+ ],
+ notify => Service["telegraf"];
+ "/etc/telegraf/plugins/pacman":
+ source => 'puppet:///modules/tick/plugins/pacman',
+ mode => '0755',
+ require => File['/etc/telegraf/plugins'];
+ }
+}