class aes::aes_sw { $examadm_user = examadm $examadm_group = "${examadm_user}" $examadm_home = "/home/${examadm_user}" package { [ 'a2ps', 'cronie', 'java-11-openjdk-devel', ]: ensure => installed, } user { "examadm" : ensure => present, managehome => false, membership => inclusive, system => true, shell => '/sbin/nologin', } file { "${examadm_home}": ensure => directory, mode => '0755', owner => "${examadm_user}", group => "${examadm_group}", } file { "/etc/systemd/system/aes_login.service": ensure => present, owner => root, group => root, mode => '0644', content => @(LOGINSERVICE) [Unit] Description=AES Login server After=network.target [Service] Type=simple User=examadm WorkingDirectory=/home/examadm/Version-3.1/exam ExecStart=/usr/bin/python3 /home/examadm/Version-3.1/pub/bin/examiner/find_pnr_and_otp_from_liuid.py [Install] WantedBy=multi-user.target | LOGINSERVICE } # todo: logrotate service { "aes_login" : ensure => "running", } file { "/etc/systemd/system/aes_ms.service": ensure => present, owner => root, group => root, mode => '0644', content => @(MSSERVICE) [Unit] Description=AES Exam server After=network.target [Service] Type=simple User=examadm WorkingDirectory=/home/examadm/Version-3.1 ExecStart=/usr/bin/java -Xmx512M -jar /home/examadm/Version-3.1/pub/bin/examiner/ms.jar /home/examadm/Version-3.1 [Install] WantedBy=multi-user.target | MSSERVICE } file { "/etc/cron.daily/aes_ms": ensure => present, owner => root, group => root, mode => '0700', content => @(MSCRON) #!/bin/sh /usr/bin/systemctl restart aes_ms | MSCRON } # todo: logrotate service { "aes_ms" : ensure => "running", } exec { 'script-repo-updated': command => "/opt/utils/update_repo.sh ${examadm_home}/scripts https://oauth2:iAyewr9Jq5E-tnsVrmbj@gitlab.liu.se/examadm/scripts.git master", cwd => "${examadm_home}", user => "${examadm_user}", group => "${examadm_group}", } schedule { 'everyday': period => daily, range => '01:00 - 04:00', } }