X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Frole%2Fmanifests%2Fcaldance.pp;h=7f17c10e2ff2692df3ef1fba7d70822990470c01;hb=dec797274c122c6c234508766ab469dad8c419a8;hp=df8b56fb2b53c59e5cc2a724d0a9b37144de2c1d;hpb=d3948290aadf6050d4ad89b4fb1be99c7451f0c8;p=perso%2FImmae%2FProjets%2FPuppet.git diff --git a/modules/role/manifests/caldance.pp b/modules/role/manifests/caldance.pp index df8b56f..7f17c10 100644 --- a/modules/role/manifests/caldance.pp +++ b/modules/role/manifests/caldance.pp @@ -12,11 +12,12 @@ class role::caldance ( Optional[String] $pg_port = "5432", Optional[String] $caldance_version = undef, Optional[String] $caldance_sha256 = undef, + Optional[Array] $cron_pip = [], ) { $password_seed = lookup("base_installation::puppet_pass_seed") - $web_home = "/home/simon_descarpentries" include "base_installation" + include "profile::mail" include "profile::tools" include "profile::postgresql" include "profile::apache" @@ -38,6 +39,7 @@ class role::caldance ( "SECRET_KEY" => $secret_key, "DEBUG" => "False", "LOG_FILE" => "$home/caldev_django.log", + "MEDIA_ROOT" => "$home/media", "FROM_EMAIL" => $mail_from, "EMAIL_HOST" => $smtp_host, "EMAIL_PORT" => $smtp_port, @@ -52,7 +54,6 @@ class role::caldance ( mode => "0664", owner => $user, group => "http", - content => "", } file { $caldance_app: @@ -61,6 +62,12 @@ class role::caldance ( owner => $user, group => $group, require => User["$user:"], + } -> + file { "${home}/media": + ensure => "directory", + mode => "0755", + owner => "http", + group => "http", } exec { "initialize_venv": @@ -87,7 +94,7 @@ class role::caldance ( cwd => $caldance_app, user => $user, environment => concat(["HOME=${home}"], $shell_env), - command => "/usr/bin/sed -i -e '/GDAL/d' requirements.txt && ${home}/virtualenv/bin/pip install -r requirements.txt", + command => "/usr/bin/sed -i -e '/GDAL/d' requirements.txt && ${home}/virtualenv/bin/pip install -r requirements.txt --upgrade", require => User["$user:"], refreshonly => true, } ~> @@ -107,6 +114,14 @@ class role::caldance ( require => [User["$user:"], File["$caldance_app/manage.py"]], refreshonly => true, } ~> + exec { "py-symlink-file": + cwd => $caldance_app, + user => $user, + environment => concat(["HOME=${home}"], $shell_env), + command => "/usr/bin/ln -sf ${home}/media www/media", + require => [User["$user:"], File["$caldance_app/manage.py"]], + refreshonly => true, + } ~> exec { "reload httpd": command => "/usr/bin/systemctl reload httpd", require => [User["$user:"], File["$caldance_app/manage.py"]], @@ -188,7 +203,7 @@ class role::caldance ( require => "valid-user", auth_type => "Basic", auth_name => "Authentification requise", - auth_user_file => "$web_home/caldev/.htpasswd", + auth_user_file => "$home/htpasswd", }, ], aliases => [ @@ -201,4 +216,15 @@ class role::caldance ( wsgi_script_aliases => { "/" => "$caldance_app/main_app/wsgi.py" }; default: * => $::profile::apache::apache_vhost_default; } + + $mailtos = join($cron_pip, ",") + cron::job { "list_outdated_pip_packages": + ensure => present, + user => $user, + environment => concat(["HOME=${home}","MAILTO=${mailtos}"], $shell_env), + command => "${home}/virtualenv/bin/pip list --outdated", + minute => "15", + hour => "0", + require => Exec["initialize_venv"], + } }