summaryrefslogtreecommitdiffstats
path: root/modules/tick/manifests
diff options
context:
space:
mode:
Diffstat (limited to 'modules/tick/manifests')
-rw-r--r--modules/tick/manifests/client.pp24
-rw-r--r--modules/tick/manifests/client/plugin.pp9
-rw-r--r--modules/tick/manifests/server.pp5
-rw-r--r--modules/tick/manifests/server/chronograf.pp23
-rw-r--r--modules/tick/manifests/server/influxdb.pp27
-rw-r--r--modules/tick/manifests/server/kapacitor.pp25
6 files changed, 113 insertions, 0 deletions
diff --git a/modules/tick/manifests/client.pp b/modules/tick/manifests/client.pp
new file mode 100644
index 0000000..a37256b
--- /dev/null
+++ b/modules/tick/manifests/client.pp
@@ -0,0 +1,24 @@
+class tick::client {
+ package::makepkg { 'telegraf-bin':
+ ensure => installed;
+ }
+
+ $influxdb_username = secret::value('influxdb_username')
+ $influxdb_password = secret::value('influxdb_password')
+
+ file {
+ "/etc/telegraf/telegraf.conf":
+ content => template("tick/telegraf.conf"),
+ require => Package::Makepkg['telegraf-bin'],
+ notify => Service['telegraf'];
+ "/etc/telegraf/telegraf.d":
+ ensure => directory,
+ require => Package::Makepkg['telegraf-bin'];
+ }
+
+ service { 'telegraf':
+ ensure => running,
+ enable => true,
+ require => Package::Makepkg['telegraf-bin'];
+ }
+}
diff --git a/modules/tick/manifests/client/plugin.pp b/modules/tick/manifests/client/plugin.pp
new file mode 100644
index 0000000..f9c2f83
--- /dev/null
+++ b/modules/tick/manifests/client/plugin.pp
@@ -0,0 +1,9 @@
+define tick::client::plugin($opts = {}) {
+ include tick::client
+
+ file { "/etc/telegraf/telegraf.d/${name}.conf":
+ content => template("tick/plugin.conf"),
+ require => File["/etc/telegraf/telegraf.d"],
+ notify => Service["telegraf"];
+ }
+}
diff --git a/modules/tick/manifests/server.pp b/modules/tick/manifests/server.pp
new file mode 100644
index 0000000..81c54c9
--- /dev/null
+++ b/modules/tick/manifests/server.pp
@@ -0,0 +1,5 @@
+class tick::server {
+ contain tick::server::influxdb
+ contain tick::server::chronograf
+ contain tick::server::kapacitor
+}
diff --git a/modules/tick/manifests/server/chronograf.pp b/modules/tick/manifests/server/chronograf.pp
new file mode 100644
index 0000000..068539e
--- /dev/null
+++ b/modules/tick/manifests/server/chronograf.pp
@@ -0,0 +1,23 @@
+class tick::server::chronograf {
+ package::makepkg { 'chronograf-bin':
+ ensure => installed;
+ }
+
+ file {
+ "/etc/default/chronograf":
+ source => "puppet:///modules/tick/chronograf",
+ require => Package::Makepkg['chronograf-bin'],
+ notify => Service['chronograf'];
+ "/media/persistent/chronograf":
+ ensure => directory,
+ owner => "chronograf",
+ group => "chronograf",
+ require => Package::Makepkg['chronograf-bin'];
+ }
+
+ service { 'chronograf':
+ ensure => running,
+ enable => true,
+ require => Package::Makepkg['chronograf-bin'];
+ }
+}
diff --git a/modules/tick/manifests/server/influxdb.pp b/modules/tick/manifests/server/influxdb.pp
new file mode 100644
index 0000000..66ba164
--- /dev/null
+++ b/modules/tick/manifests/server/influxdb.pp
@@ -0,0 +1,27 @@
+class tick::server::influxdb {
+ package { 'influxdb':
+ ensure => installed;
+ }
+
+ file {
+ "/etc/influxdb/influxdb.conf":
+ source => "puppet:///modules/tick/influxdb.conf",
+ require => Package['influxdb'],
+ notify => Service['influxdb'];
+ "/media/persistent/influxdb":
+ ensure => directory,
+ owner => "influxdb",
+ group => "influxdb",
+ require => Package['influxdb'];
+ }
+
+ service { 'influxdb':
+ ensure => running,
+ enable => true,
+ require => [
+ Package['influxdb'],
+ File["/etc/influxdb/influxdb.conf"],
+ File["/media/persistent/influxdb"],
+ ];
+ }
+}
diff --git a/modules/tick/manifests/server/kapacitor.pp b/modules/tick/manifests/server/kapacitor.pp
new file mode 100644
index 0000000..c1dfcd7
--- /dev/null
+++ b/modules/tick/manifests/server/kapacitor.pp
@@ -0,0 +1,25 @@
+class tick::server::kapacitor {
+ package::makepkg { 'kapacitor-bin':
+ ensure => installed;
+ }
+
+ $smtp_password = secret::value('kapacitor_smtp_password')
+
+ file {
+ "/etc/kapacitor/kapacitor.conf":
+ content => template('tick/kapacitor.conf'),
+ require => Package::Makepkg['kapacitor-bin'],
+ notify => Service['kapacitor'];
+ "/media/persistent/kapacitor":
+ ensure => directory,
+ owner => "kapacitor",
+ group => "kapacitor",
+ require => Package::Makepkg['kapacitor-bin'];
+ }
+
+ service { 'kapacitor':
+ ensure => running,
+ enable => true,
+ require => Package::Makepkg['kapacitor-bin'];
+ }
+}