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 => file, 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', enable => true, } file { '/etc/systemd/system/aes_ms.service': ensure => file, 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 => file, owner => root, group => root, mode => '0700', content => @(MSCRON), #!/bin/sh /usr/bin/systemctl restart aes_ms | MSCRON } # todo: logrotate service { 'aes_ms' : ensure => 'running', enable => true, } 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', } }