summaryrefslogtreecommitdiff
path: root/files/puppet/modules/pixelated/manifests/agent.pp
diff options
context:
space:
mode:
Diffstat (limited to 'files/puppet/modules/pixelated/manifests/agent.pp')
-rw-r--r--files/puppet/modules/pixelated/manifests/agent.pp81
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'],
+ }
+
+}
+