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"]
]
}
}