mirror of
https://github.com/zulip/docker-zulip.git
synced 2025-11-03 13:33:27 +00:00
154 lines
5.0 KiB
Puppet
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",
|
|
}
|
|
}
|