diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2018-04-21 01:09:28 +0200 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2018-04-21 10:21:23 +0200 |
commit | d5f4e591f9cfedefdd4a71515b46c78e9a77e2ad (patch) | |
tree | 58624f2d05cf74587ecf74fba92618f0c60b4bc9 /modules/role | |
parent | 9f430d51eec914c00249b9dc73e82500d312d7af (diff) | |
download | Puppet-d5f4e591f9cfedefdd4a71515b46c78e9a77e2ad.tar.gz Puppet-d5f4e591f9cfedefdd4a71515b46c78e9a77e2ad.tar.zst Puppet-d5f4e591f9cfedefdd4a71515b46c78e9a77e2ad.zip |
Add redis to cryptoportfolio
Diffstat (limited to 'modules/role')
-rw-r--r-- | modules/role/manifests/cryptoportfolio.pp | 4 | ||||
-rw-r--r-- | modules/role/manifests/cryptoportfolio/bot.pp | 31 | ||||
-rw-r--r-- | modules/role/templates/cryptoportfolio/bot_config_hourly.ini.erb | 17 |
3 files changed, 52 insertions, 0 deletions
diff --git a/modules/role/manifests/cryptoportfolio.pp b/modules/role/manifests/cryptoportfolio.pp index 6a659cc..53b7abd 100644 --- a/modules/role/manifests/cryptoportfolio.pp +++ b/modules/role/manifests/cryptoportfolio.pp | |||
@@ -9,6 +9,7 @@ class role::cryptoportfolio ( | |||
9 | String $pg_db, | 9 | String $pg_db, |
10 | Optional[String] $pg_hostname = "localhost", | 10 | Optional[String] $pg_hostname = "localhost", |
11 | Optional[String] $pg_port = "5432", | 11 | Optional[String] $pg_port = "5432", |
12 | Optional[String] $redis_host = "/run/redis/redis.sock", | ||
12 | Optional[String] $web_host = undef, | 13 | Optional[String] $web_host = undef, |
13 | Optional[String] $web_port = "", | 14 | Optional[String] $web_port = "", |
14 | Optional[Boolean] $web_ssl = true, | 15 | Optional[Boolean] $web_ssl = true, |
@@ -30,6 +31,9 @@ class role::cryptoportfolio ( | |||
30 | contain "role::cryptoportfolio::notify" | 31 | contain "role::cryptoportfolio::notify" |
31 | 32 | ||
32 | unless empty($trader_version) { | 33 | unless empty($trader_version) { |
34 | if versioncmp($trader_version, "v1.3") >= 0 { | ||
35 | include "profile::redis" | ||
36 | } | ||
33 | contain "role::cryptoportfolio::bot" | 37 | contain "role::cryptoportfolio::bot" |
34 | } | 38 | } |
35 | 39 | ||
diff --git a/modules/role/manifests/cryptoportfolio/bot.pp b/modules/role/manifests/cryptoportfolio/bot.pp index 082e820..2f01c98 100644 --- a/modules/role/manifests/cryptoportfolio/bot.pp +++ b/modules/role/manifests/cryptoportfolio/bot.pp | |||
@@ -3,6 +3,7 @@ class role::cryptoportfolio::bot inherits role::cryptoportfolio { | |||
3 | 3 | ||
4 | $cf_bot_app = "${home}/bot" | 4 | $cf_bot_app = "${home}/bot" |
5 | $cf_bot_app_conf = "${home}/bot_config.ini" | 5 | $cf_bot_app_conf = "${home}/bot_config.ini" |
6 | $cf_bot_app_conf_hourly = "${home}/bot_config_hourly.ini" | ||
6 | $cf_bot_app_reports = "${home}/bot_reports" | 7 | $cf_bot_app_reports = "${home}/bot_reports" |
7 | 8 | ||
8 | ensure_packages(["python", "python-pip"]) | 9 | ensure_packages(["python", "python-pip"]) |
@@ -80,6 +81,36 @@ class role::cryptoportfolio::bot inherits role::cryptoportfolio { | |||
80 | ], | 81 | ], |
81 | } | 82 | } |
82 | 83 | ||
84 | if versioncmp($trader_version, "v1.3") >= 0 { | ||
85 | file { $cf_bot_app_conf_hourly: | ||
86 | owner => $user, | ||
87 | group => $group, | ||
88 | mode => "0600", | ||
89 | content => template("role/cryptoportfolio/bot_config_hourly.ini.erb"), | ||
90 | require => [ | ||
91 | User["$user:"], | ||
92 | Archive["${home}/trader_${trader_version}.tar.gz"], | ||
93 | ], | ||
94 | } | ||
95 | |||
96 | cron::job::multiple { "py-cryptoportfolio-hourly": | ||
97 | ensure => present, | ||
98 | environment => ["HOME=${home}","PATH=/usr/bin/"], | ||
99 | require => [ | ||
100 | File[$cf_bot_app_conf_hourly], | ||
101 | Archive["${home}/trader_${trader_version}.tar.gz"] | ||
102 | ], | ||
103 | jobs => [ | ||
104 | { | ||
105 | command => "cd $cf_bot_app ; python main.py --config $cf_bot_app_conf_hourly", | ||
106 | user => $user, | ||
107 | minute => 30, | ||
108 | description => "Print the current state to redis", | ||
109 | }, | ||
110 | ], | ||
111 | } | ||
112 | } | ||
113 | |||
83 | unless empty($webhook_url) { | 114 | unless empty($webhook_url) { |
84 | exec { "bot-slack-notify": | 115 | exec { "bot-slack-notify": |
85 | refreshonly => true, | 116 | refreshonly => true, |
diff --git a/modules/role/templates/cryptoportfolio/bot_config_hourly.ini.erb b/modules/role/templates/cryptoportfolio/bot_config_hourly.ini.erb new file mode 100644 index 0000000..067f12a --- /dev/null +++ b/modules/role/templates/cryptoportfolio/bot_config_hourly.ini.erb | |||
@@ -0,0 +1,17 @@ | |||
1 | [postgresql] | ||
2 | db-host = <%= @pg_hostname %> | ||
3 | db-port = <%= @pg_port %> | ||
4 | db-user = <%= @pg_user %> | ||
5 | db-password = <%= @pg_password %> | ||
6 | db-database = <%= @pg_db %> | ||
7 | |||
8 | [redis] | ||
9 | redis-host = <%= @redis_host %> | ||
10 | |||
11 | [app] | ||
12 | action = print_balances | ||
13 | report-redis | ||
14 | no-report-path | ||
15 | no-report-db | ||
16 | quiet | ||
17 | debug | ||