]> git.immae.eu Git - perso/Immae/Projets/Puppet.git/blobdiff - modules/role/manifests/cryptoportfolio.pp
Fix crontab
[perso/Immae/Projets/Puppet.git] / modules / role / manifests / cryptoportfolio.pp
index 32b4391d482ab3f81e48ed6b371a54d851306bb2..32b6ac721a59ad5c7d86e674ba1907c64cdac84d 100644 (file)
@@ -216,16 +216,55 @@ class role::cryptoportfolio {
       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")
+      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"])
 
@@ -252,7 +291,7 @@ class role::cryptoportfolio {
       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,