$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"
$cf_home = "/opt/cryptoportfolio"
$cf_env = "prod"
- $cf_front_app_host = "cryptoportfolio.immae.eu"
+ $cf_front_app_host = lookup("base_installation::system_hostname") |$key| { "example.com" }
$cf_front_app_port = ""
$cf_front_app_ssl = "true"
$cf_front_app = "${cf_home}/go/src/immae.eu/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front"
$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,
command => "/usr/bin/make install",
require => User[$cf_user],
refreshonly => true,
+ before => [
+ File[$cf_bot_app_conf],
+ Cron["py-cryptoportfolio-before"],
+ Cron["py-cryptoportfolio-after"],
+ ]
+ }
+
+ file { $cf_bot_app_conf:
+ owner => $cf_user,
+ group => $cf_group,
+ mode => "0600",
+ content => template("role/cryptoportfolio/bot_config.ini.erb"),
+ require => [
+ User[$cf_user],
+ Archive["${cf_home}/${bot_version}.tar.gz"],
+ ],
+ }
+
+ cron { "py-cryptoportfolio-before":
+ ensure => present,
+ command => "cd $cf_bot_app ; python main.py --config $cf_bot_app_conf --before",
+ user => "cryptoportfolio",
+ weekday => 7, # Sunday
+ hour => 22,
+ minute => 30,
+ environment => ["HOME=${cf_home}","PATH=/usr/bin/"],
+ require => [
+ File[$cf_bot_app_conf],
+ Archive["${cf_home}/${bot_version}.tar.gz"]
+ ],
+ }
+
+ cron { "py-cryptoportfolio-after":
+ ensure => present,
+ command => "cd $cf_bot_app ; python main.py --config $cf_bot_app_conf --after",
+ user => "cryptoportfolio",
+ weekday => 1, # Monday
+ hour => 1,
+ minute => 0,
+ environment => ["HOME=${cf_home}","PATH=/usr/bin/"],
+ require => [
+ File[$cf_bot_app_conf],
+ Archive["${cf_home}/${bot_version}.tar.gz"]
+ ],
}
}
+ # FIXME: incorrect build for go app
+ # FIXME: restore backup
unless empty($front_version) {
ensure_packages(["go", "npm", "nodejs", "yarn"])
checksum => $front_sha256,
cleanup => false,
extract => true,
- user => "cryptoportfolio",
+ user => $cf_user,
username => $facts["ec2_metadata"]["hostname"],
password => generate_password(24, $password_seed, "ldap"),
extract_path => $cf_front_app,