diff options
Diffstat (limited to 'modules/profile')
-rw-r--r-- | modules/profile/files/xmr_stak/xmr-stak.service | 15 | ||||
-rw-r--r-- | modules/profile/manifests/xmr_stak.pp | 57 | ||||
-rw-r--r-- | modules/profile/templates/xmr_stak/xmr-stak.conf.erb | 23 |
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] | ||
2 | Description=XMR Miner | ||
3 | After=network.target | ||
4 | |||
5 | [Service] | ||
6 | WorkingDirectory=/var/lib/xmr_stak | ||
7 | |||
8 | Type=simple | ||
9 | User=xmr_stak | ||
10 | Group=xmr_stak | ||
11 | ExecStart=/usr/bin/cpulimit --limit 90 /usr/bin/xmr-stak -c /var/lib/xmr_stak/xmr-stak.conf | ||
12 | Nice=19 | ||
13 | |||
14 | [Install] | ||
15 | WantedBy=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 @@ | |||
1 | class 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, | ||