diff options
Diffstat (limited to 'files/puppet/modules/pixelated/manifests/agent.pp')
-rw-r--r-- | files/puppet/modules/pixelated/manifests/agent.pp | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/files/puppet/modules/pixelated/manifests/agent.pp b/files/puppet/modules/pixelated/manifests/agent.pp new file mode 100644 index 0000000..c689799 --- /dev/null +++ b/files/puppet/modules/pixelated/manifests/agent.pp @@ -0,0 +1,81 @@ +# configure and install the pixelated user agent +class pixelated::agent { + include ::pixelated::apt + include ::pixelated::apt::preferences + include ::pixelated::unattended_upgrades + include ::pixelated::syslog + include ::pixelated::tests + + $domain_hash = hiera('domain') + $domain = $domain_hash['full_suffix'] + $services = hiera('services') + $default_file = '/etc/default/pixelated-server' + + package { 'pixelated-server': + ensure => installed, + } + + service { 'pixelated-server': + ensure => running, + require => Package['pixelated-server'], + } + + file { $default_file: + content => template('pixelated/pixelated-server-default'), + mode => '0644', + owner => 'root', + group => 'root', + notify => Service['pixelated-server'], + require => Package['pixelated-server'], + } + + # make pixelated accessible at https://mail.domain/ + apache::vhost::file { 'pixelated': + content => template('pixelated/pixelated-apache.conf.erb'), + mod_security => false, + } + + # Allow traffic from outside to pixelated + file { '/etc/shorewall/macro.pixelated_user_agent': + content => 'PARAM - - tcp 8080', + notify => Service['shorewall'], + require => Package['shorewall'] + } + + shorewall::rule { + 'net2fw-pixelated-user-agent': + source => 'net', + destination => '$FW', + action => 'pixelated_user_agent(ACCEPT)', + order => 200; + } + + + # webapp customizations + file{ ['/srv/leap/webapp/config/customization/locales/','/srv/leap/webapp/config/customization/views','/srv/leap/webapp/config/customization/views/common','/srv/leap/webapp/config/customization/views/users']: + ensure => directory, + owner => 'leap-webapp', + group => 'leap-webapp', + require => Vcsrepo['/srv/leap/webapp'], + } + file{ '/srv/leap/webapp/config/customization/views/common/_download_button.html.haml': + source => 'puppet:///modules/pixelated/webapp/views/common/_download_button.html.haml', + owner => 'leap-webapp', + group => 'leap-webapp', + require => File['/srv/leap/webapp/config/customization/views/common'], + } + file{ '/srv/leap/webapp/config/customization/locales/en.yml': + source => 'puppet:///modules/pixelated/webapp/locales/en.yml', + owner => 'leap-webapp', + group => 'leap-webapp', + require => File['/srv/leap/webapp/config/customization/views/common'], + } + file{ '/srv/leap/webapp/config/customization/views/users/show.html.haml': + content => template('pixelated/webapp/show.html.haml.erb'), + owner => 'leap-webapp', + group => 'leap-webapp', + require => File['/srv/leap/webapp/config/customization/views/common'], + } + +} + |