aboutsummaryrefslogtreecommitdiff
path: root/modules/profile
diff options
context:
space:
mode:
Diffstat (limited to 'modules/profile')
-rw-r--r--modules/profile/files/xmr_stak/xmr-stak.service15
-rw-r--r--modules/profile/manifests/xmr_stak.pp57
-rw-r--r--modules/profile/templates/xmr_stak/xmr-stak.conf.erb23
3 files changed, 95 insertions, 0 deletions
diff --git a/modules/profile/files/xmr_stak/xmr-stak.service b/modules/profile/files/xmr_stak/xmr-stak.service
new file mode 100644
index 0000000..93ee383
--- /dev/null
+++ b/modules/profile/files/xmr_stak/xmr-stak.service
@@ -0,0 +1,15 @@
1[Unit]
2Description=XMR Miner
3After=network.target
4
5[Service]
6WorkingDirectory=/var/lib/xmr_stak
7
8Type=simple
9User=xmr_stak
10Group=xmr_stak
11ExecStart=/usr/bin/cpulimit --limit 90 /usr/bin/xmr-stak -c /var/lib/xmr_stak/xmr-stak.conf
12Nice=19
13
14[Install]
15WantedBy=multi-user.target
diff --git a/modules/profile/manifests/xmr_stak.pp b/modules/profile/manifests/xmr_stak.pp
new file mode 100644
index 0000000..20d2c08
--- /dev/null
+++ b/modules/profile/manifests/xmr_stak.pp
@@ -0,0 +1,57 @@
1class profile::xmr_stak {
2 ensure_resource('exec', 'systemctl daemon-reload', {
3 command => '/usr/bin/systemctl daemon-reload',
4 refreshonly => true
5 })
6
7 ensure_packages(["cpulimit"])
8 aur::package { "xmr-stak_cpu": }
9
10 user { "xmr_stak":
11 name => "xmr_stak",
12 ensure => "present",
13 managehome => true,
14 home => "/var/lib/xmr_stak",
15 system => true,
16 password => "!!",
17 require => Aur::Package["xmr-stak_cpu"],
18 }
19
20 file { "/etc/systemd/system/xmr-stak.service":
21 mode => "0644",
22 owner => "root",
23 group => "root",
24 source => "puppet:///modules/profile/xmr_stak/xmr-stak.service",
25 require => User["xmr_stak"],
26 notify => Exec["systemctl daemon-reload"]
27 }
28
29 $mining_pool = lookup("xmr_stak::mining_pool") |$key| { {} }
30 $wallet = lookup("xmr_stak::wallet") |$key| { {} }
31 $password = lookup("xmr_stak::password") |$key| { "x" }
32 $instance = regsubst($facts["ec2_metadata"]["hostname"], "\.", "_", "G")
33
34 file { "/var/lib/xmr_stak/xmr-stak.conf":
35 mode => "0644",
36 owner => "root",
37 group => "root",
38 content => template("profile/xmr_stak/xmr-stak.conf.erb"),
39 require => User["xmr_stak"],
40 }
41
42 service { "xmr-stak":
43 enable => true,
44 ensure => "running",
45 subscribe => [
46 Aur::Package["xmr-stak_cpu"],
47 File["/var/lib/xmr_stak/xmr-stak.conf"],
48 File["/etc/systemd/system/xmr-stak.service"]
49 ],
50 require => [
51 Aur::Package["xmr-stak_cpu"],
52 File["/var/lib/xmr_stak/xmr-stak.conf"],
53 File["/etc/systemd/system/xmr-stak.service"]
54 ]
55 }
56}
57
diff --git a/modules/profile/templates/xmr_stak/xmr-stak.conf.erb b/modules/profile/templates/xmr_stak/xmr-stak.conf.erb
new file mode 100644
index 0000000..e483b0e
--- /dev/null
+++ b/modules/profile/templates/xmr_stak/xmr-stak.conf.erb
@@ -0,0 +1,23 @@
1"pool_list" :
2[
3{"pool_address" : "<%= @mining_pool %>", "wallet_address" : "<%= @wallet %>.<%= @instance %>", "pool_password" : "<%= @password %>", "use_nicehash" : false, "use_tls" : false, "tls_fingerprint" : "", "pool_weight" : 1 },
4],
5
6"currency" : "monero",
7"call_timeout" : 10,
8"retry_time" : 30,
9"giveup_limit" : 0,
10
11"verbose_level" : 3,
12"print_motd" : true,
13"h_print_time" : 60,
14"aes_override" : null,
15"use_slow_memory" : "warn",
16"tls_secure_algo" : true,
17"daemon_mode" : true,
18"flush_stdout" : false,
19"output_file" : "",
20"httpd_port" : 0,
21"http_login" : "",
22"http_pass" : "",
23"prefer_ipv4" : true,