diff options
Diffstat (limited to 'modules/tick/manifests')
-rw-r--r-- | modules/tick/manifests/client.pp | 24 | ||||
-rw-r--r-- | modules/tick/manifests/client/plugin.pp | 9 | ||||
-rw-r--r-- | modules/tick/manifests/server.pp | 5 | ||||
-rw-r--r-- | modules/tick/manifests/server/chronograf.pp | 23 | ||||
-rw-r--r-- | modules/tick/manifests/server/influxdb.pp | 27 | ||||
-rw-r--r-- | modules/tick/manifests/server/kapacitor.pp | 25 |
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']; + } +} |