1 define teracara_quiz (){
2 apt_key{ 'E643C483A426BB5311D26520A631B6AF9FD3DF94':
3 source => 'http://deb.dogcraft.de/signer.gpg',
6 file { '/etc/apt/sources.list.d/dogcraft.list':
7 source => 'puppet:///modules/lxc/dogcraft.list',
9 notify => Exec['apt_update']
11 package { 'teracara-quiz':
12 require => Exec['apt_update'],
13 ensure => 'installed',
16 ensure => 'installed',
18 file {'/etc/teracara-quiz/config.php':
19 require => Package['teracara-quiz'],
21 content => epp('quiz/config.php'),
23 file {'/etc/teracara-quiz/client.crt':
24 require => Package['teracara-quiz'],
27 source => 'puppet:///modules/quiz/client.crt',
29 file {'/etc/teracara-quiz/client.key':
30 require => Package['teracara-quiz'],
33 source => 'puppet:///modules/quiz/client.key',
35 file {'/etc/teracara-quiz/sq_config.php':
36 require => Package['teracara-quiz'],
38 content => epp('quiz/sq_config'),
40 file{'/etc/teracara-quiz/root.crt':
41 require => Package['teracara-quiz'],
43 source => ['puppet:///modules/nre/config/ca/root.crt'],
46 include postgresql::client
47 exec { 'import quiz schema':
48 command => "/usr/bin/psql -U quiz -h ${ips[postgres]} < /usr/share/teracara-quiz/sql/db_postgresql.sql",
49 environment => ["PGPASSWORD=${passwords[postgres][quiz]}"],
50 unless => "/usr/bin/psql -U quiz -h ${ips[postgres]} -tc \"select * from pg_tables where schemaname='public';\" | /bin/grep -q '.'",
51 require => [Package['teracara-quiz'], Class['postgresql::client']],
52 before => File['/etc/apache2/sites-available/000-default.conf']
54 file {'/etc/apache2/sites-available/000-default.conf':
55 require => Package['apache2'],
57 source => 'puppet:///modules/quiz/000-default.conf',
58 notify => Service['apache2'],
60 package{'mariadb-server':
63 package{'mariadb-client':
68 include container::contained;
69 include container::no_ssh;
71 teracara_quiz{ 'quiz': }
73 require => Teracara_quiz['quiz'],