X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Frole%2Fmanifests%2Fcryptoportfolio.pp;h=32b4391d482ab3f81e48ed6b371a54d851306bb2;hb=7e29a2ae7ea175fd2e84d6149c94df384bc1ba85;hp=d670486362adf528e0a91a4a4225b005f7b306fb;hpb=6d512d3fc73ece6aba5842e73b3b662cd904433d;p=perso%2FImmae%2FProjets%2FPuppet.git diff --git a/modules/role/manifests/cryptoportfolio.pp b/modules/role/manifests/cryptoportfolio.pp index d670486..32b4391 100644 --- a/modules/role/manifests/cryptoportfolio.pp +++ b/modules/role/manifests/cryptoportfolio.pp @@ -18,7 +18,9 @@ class role::cryptoportfolio { $cf_pg_db = "cryptoportfolio" $cf_pg_password = generate_password(24, $password_seed, "postgres_cryptoportfolio") $cf_pg_replication_password = generate_password(24, $password_seed, "postgres_cryptoportfolio_replication") - $cf_pg_host = "localhost:5432" + $cf_pg_hostname = "localhost" + $cf_pg_port = "5432" + $cf_pg_host = "${cf_pg_hostname}:${cf_pg_port}" $cf_user = "cryptoportfolio" $cf_group = "cryptoportfolio" @@ -35,6 +37,10 @@ class role::cryptoportfolio { $cf_front_app_static_conf = "${cf_front_app}/cmd/web/env/prod.env" + $cf_bot_app = "${cf_home}/bot" + $cf_bot_app_conf = "${cf_home}/bot_config.ini" + $cf_bot_app_reports = "${cf_home}/bot_reports" + file { "/var/lib/postgres/data/certs": ensure => directory, mode => "0700", @@ -176,6 +182,50 @@ class role::cryptoportfolio { $front_version = lookup("cryptoportfolio::front_version") |$key| { {} } $front_sha256 = lookup("cryptoportfolio::front_sha256") |$key| { {} } + $bot_version = lookup("cryptoportfolio::bot_version") |$key| { {} } + $bot_sha256 = lookup("cryptoportfolio::bot_sha256") |$key| { {} } + + unless empty($bot_version) { + ensure_packages(["python", "python-pip"]) + + file { $cf_bot_app: + ensure => "directory", + mode => "0700", + owner => $cf_user, + group => $cf_group, + require => User[$cf_user], + } + + archive { "${cf_home}/${bot_version}.tar.gz": + path => "${cf_home}/${bot_version}.tar.gz", + source => "https://git.immae.eu/releases/cryptoportfolio/trader/trader_${bot_version}.tar.gz", + checksum_type => "sha256", + checksum => $bot_sha256, + cleanup => false, + extract => true, + user => "cryptoportfolio", + username => $facts["ec2_metadata"]["hostname"], + password => generate_password(24, $password_seed, "ldap"), + extract_path => $cf_bot_app, + require => [User[$cf_user], File[$cf_bot_app]], + } ~> + exec { "py-cryptoportfolio-dependencies": + cwd => $cf_bot_app, + user => $cf_user, + environment => ["HOME=${cf_home}"], + command => "/usr/bin/make install", + require => User[$cf_user], + refreshonly => true, + } + + file { $cf_bot_app_conf: + owner => $cf_user, + group => $cf_group, + mode => "0600", + content => template("role/cryptoportfolio/bot_config.ini.erb") + } + } + unless empty($front_version) { ensure_packages(["go", "npm", "nodejs", "yarn"])