Files
docker-zulip/includes/zulip/manifests/app_frontend.pp
Alexander Trost b02b7cca5b Removed new lines from manifests
Removed now unneeded mkdir
2015-10-05 22:41:05 +02:00

154 lines
5.0 KiB
Puppet

class zulip::app_frontend {
include zulip::rabbit
include zulip::nginx
include zulip::supervisor
$web_packages = [ # Needed for memcached usage
"python-pylibmc",
# Fast JSON parser
"python-ujson",
# Django dependencies
"python-django",
"python-django-guardian",
"python-django-pipeline",
"python-django-bitfield",
# Needed for mock objects in decorators
"python-mock",
# Tornado dependencies
"python-tornado",
"python-sockjs-tornado",
# Needed for our fastcgi setup
"python-flup",
# Needed for markdown processing
"python-markdown",
"python-pygments",
# Used for Hesiod lookups, etc.
"python-dns",
# Needed to access our database
"postgresql-client-9.3",
"python-psycopg2",
# Needed for building complex DB queries
"python-sqlalchemy",
# Needed for integrations
"python-twitter",
"python-defusedxml",
# Needed for the email mirror
"python-twisted",
"python-html2text",
# Needed to access rabbitmq
"python-pika",
# Needed for timezone work
"python-tz",
# Needed to parse source maps for error reporting
"python-sourcemap",
# Needed for redis
"python-redis",
# Needed for S3 file uploads
"python-boto",
# Needed to send email
"python-mandrill",
# Needed to generate diffs for edits
"python-diff-match-patch",
# Needed for iOS
"python-apns-client",
# Needed for Android push
"python-gcm-client",
# Needed for avatar image resizing
"python-imaging",
# Needed for LDAP support
"python-django-auth-ldap",
# Needed for Google Apps mobile auth
"python-googleapi",
# Needed for JWT-based auth
"python-pyjwt",
]
define safepackage ( $ensure = present ) {
if !defined(Package[$title]) {
package { $title: ensure => $ensure }
}
}
safepackage { $web_packages: ensure => "installed" }
file { "/etc/nginx/zulip-include/app":
require => Package["nginx-full"],
owner => "root",
group => "root",
mode => 644,
source => "puppet:///modules/zulip/nginx/zulip-include-frontend/app",
}
file { "/etc/nginx/zulip-include/upstreams":
require => Package["nginx-full"],
owner => "root",
group => "root",
mode => 644,
source => "puppet:///modules/zulip/nginx/zulip-include-frontend/upstreams",
}
file { "/etc/nginx/zulip-include/uploads.types":
require => Package["nginx-full"],
owner => "root",
group => "root",
mode => 644,
source => "puppet:///modules/zulip/nginx/zulip-include-frontend/uploads.types",
}
file { "/etc/nginx/zulip-include/app.d/":
ensure => directory,
owner => "root",
group => "root",
mode => 755,
}
file { "/etc/supervisor/conf.d/zulip.conf":
require => Package[supervisor],
ensure => file,
owner => "root",
group => "root",
mode => 644,
source => "puppet:///modules/zulip/supervisor/conf.d/zulip.conf",
}
file { "/home/zulip/tornado":
ensure => directory,
owner => "zulip",
group => "zulip",
mode => 755,
}
file { '/home/zulip/logs':
ensure => 'directory',
owner => 'zulip',
group => 'zulip',
}
file { '/home/zulip/deployments':
ensure => 'directory',
owner => 'zulip',
group => 'zulip',
}
file { "/etc/cron.d/email-mirror":
ensure => absent,
}
file { '/etc/log2zulip.conf':
ensure => file,
owner => "zulip",
group => "zulip",
mode => 644,
source => 'puppet:///modules/zulip/log2zulip.conf',
}
file { '/etc/zulip':
ensure => file,
owner => "root",
group => "root",
mode => 644,
source => 'puppet:///modules/zulip/zulip',
}
file { '/etc/log2zulip.zuliprc':
ensure => file,
owner => "zulip",
group => "zulip",
mode => 600,
source => 'puppet:///modules/zulip/log2zulip.zuliprc',
}
file { "/etc/cron.d/check-apns-tokens":
ensure => file,
owner => "root",
group => "root",
mode => 644,
source => "puppet:///modules/zulip/cron.d/check-apns-tokens",
}
}