+class profile::xmr_stak {
+ ensure_resource('exec', 'systemctl daemon-reload', {
+ command => '/usr/bin/systemctl daemon-reload',
+ refreshonly => true
+ })
+
+ ensure_packages(["cpulimit"])
+ aur::package { "xmr-stak_cpu": }
+
+ user { "xmr_stak":
+ name => "xmr_stak",
+ ensure => "present",
+ managehome => true,
+ home => "/var/lib/xmr_stak",
+ system => true,
+ password => "!!",
+ require => Aur::Package["xmr-stak_cpu"],
+ }
+
+ file { "/etc/systemd/system/xmr-stak.service":
+ mode => "0644",
+ owner => "root",
+ group => "root",
+ source => "puppet:///modules/profile/xmr_stak/xmr-stak.service",
+ require => User["xmr_stak"],
+ notify => Exec["systemctl daemon-reload"]
+ }
+
+ $mining_pool = lookup("xmr_stak::mining_pool") |$key| { {} }
+ $wallet = lookup("xmr_stak::wallet") |$key| { {} }
+ $password = lookup("xmr_stak::password") |$key| { "x" }
+ $instance = regsubst($facts["ec2_metadata"]["hostname"], "\.", "_", "G")
+
+ file { "/var/lib/xmr_stak/xmr-stak.conf":
+ mode => "0644",
+ owner => "root",
+ group => "root",
+ content => template("profile/xmr_stak/xmr-stak.conf.erb"),
+ require => User["xmr_stak"],
+ }
+
+ service { "xmr-stak":
+ enable => true,
+ ensure => "running",
+ subscribe => [
+ Aur::Package["xmr-stak_cpu"],
+ File["/var/lib/xmr_stak/xmr-stak.conf"],
+ File["/etc/systemd/system/xmr-stak.service"]
+ ],
+ require => [
+ Aur::Package["xmr-stak_cpu"],
+ File["/var/lib/xmr_stak/xmr-stak.conf"],
+ File["/etc/systemd/system/xmr-stak.service"]
+ ]
+ }
+}
+