Skip to content
Snippets Groups Projects
aes_sw.pp 2.83 KiB
Newer Older
  • Learn to ignore specific revisions
  •   $examadm_user = examadm
      $examadm_group = "${examadm_user}"
      $examadm_home = "/home/${examadm_user}"
    
    
    Klas Arvidsson's avatar
    Klas Arvidsson committed
      package {
        [
          'a2ps',
    
          'cronie',
    
    Klas Arvidsson's avatar
    Klas Arvidsson committed
          'java-11-openjdk-devel',
        ]:
          ensure  => installed,
      }
    
    
      user { "examadm" :
        ensure => present,
        managehome => false,
        membership => inclusive,
        system => true,
        shell => '/sbin/nologin',
      }
    
    
    Klas Arvidsson's avatar
    Klas Arvidsson committed
      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
    
    Klas Arvidsson's avatar
    Klas Arvidsson committed
      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-clone':
        command => '/usr/bin/git clone --quiet --single-branch --branch master --depth 1 git@gitlab.liu.se:examadm/scripts.git',
        cwd => "${examadm_home}",
        creates => "${examadm_home}/scripts",
        user => "${examadm_user}",
        group => "${examadm_group}",
    
        require => File["${examadm_home}/.ssh/known_hosts"],
    
      }
    
      schedule { 'everyday':
        period => daily,
        range => '01:00 - 04:00',
      }
    
      exec { 'script-repo-pull':
    
        command => '/usr/bin/git pull --depth 1',
    
        cwd => "${examadm_home}/scripts",
    
        onlyif => "/usr/bin/test -d ${examadm_home}/scripts/.git",
    
        user => "${examadm_user}",
        group => "${examadm_group}",
    
    #    schedule => 'everyday',
    
    Klas Arvidsson's avatar
    Klas Arvidsson committed
    
      file { "${examadm_home}/.ssh/known_hosts":
        ensure => present,
        owner  => "${examadm_user}",
        group  => "${examadm_group}",
        mode => '0644',
        content => @(KNOWNHOST)
        gitlab.liu.se,2001:6b0:17:f003::44 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBF3yWjkuKo7f3OH4BhGwcd71lkWZqdyk7cxOCn5exPoqLldt2OfbhEA7lM+89Gr/AqRbHlbrS1M8An7j4Lj77hc=
        | KNOWNHOST
      }