Some more clean up

Reformatted the puppet manifests
Removed two uneeded cron jobs
This commit is contained in:
Alexander Trost
2015-10-24 15:31:38 +02:00
parent 1134d69e2f
commit 2823936f95
11 changed files with 178 additions and 219 deletions

View File

@@ -11,7 +11,6 @@ RUN apt-get -qq update -q && \
wget -q -O /root/zulip-ppa.asc https://zulip.com/dist/keys/zulip-ppa.asc && \ wget -q -O /root/zulip-ppa.asc https://zulip.com/dist/keys/zulip-ppa.asc && \
apt-key add /root/zulip-ppa.asc && \ apt-key add /root/zulip-ppa.asc && \
echo "deb http://ppa.launchpad.net/tabbott/zulip/ubuntu trusty main" > /etc/apt/sources.list.d/zulip.list && \ echo "deb http://ppa.launchpad.net/tabbott/zulip/ubuntu trusty main" > /etc/apt/sources.list.d/zulip.list && \
echo "deb-src http://ppa.launchpad.net/tabbott/zulip/ubuntu trusty main" >> /etc/apt/sources.list.d/zulip.list && \
apt-get -qq update && \ apt-get -qq update && \
apt-get -qq dist-upgrade -y && \ apt-get -qq dist-upgrade -y && \
mkdir -p "/root/zulip" "/etc/zulip" "$DATA_DIR" && \ mkdir -p "/root/zulip" "/etc/zulip" "$DATA_DIR" && \

View File

@@ -1,25 +0,0 @@
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
SHELL=/bin/bash
* * * * * root /home/zulip/deployments/current/bots/check-rabbitmq-queue &> /var/lib/nagios_state/check-rabbitmq-results-tmp; mv /var/lib/nagios_state/check-rabbitmq-results-tmp /var/lib/nagios_state/check-rabbitmq-results

View File

@@ -1,5 +0,0 @@
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
USER=zulip
0 6 * * 7 zulip supervisorctl restart all

View File

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

View File

@@ -1,50 +1,50 @@
class zulip::base { class zulip::base {
include apt include apt
$base_packages = [ # Dependencies of our API $base_packages = [
"python-requests", # Dependencies of our API
"python-simplejson", "python-requests",
] "python-simplejson",
package { $base_packages: ensure => "installed" } ]
package { $base_packages: ensure => "installed" }
group { 'zulip':
ensure => present,
}
group { 'zulip': user { 'zulip':
ensure => present, ensure => present,
} require => Group['zulip'],
gid => 'zulip',
shell => '/bin/bash',
home => '/home/zulip',
managehome => true,
}
user { 'zulip': file { '/etc/zulip':
ensure => present, ensure => 'directory',
require => Group['zulip'], mode => 644,
gid => 'zulip', owner => 'zulip',
shell => '/bin/bash', group => 'zulip',
home => '/home/zulip', }
managehome => true,
}
file { '/etc/zulip': file { '/etc/security/limits.conf':
ensure => 'directory', ensure => file,
mode => 644, mode => 640,
owner => 'zulip', owner => "root",
group => 'zulip', group => "root",
} source => 'puppet:///modules/zulip/limits.conf',
}
file { '/etc/security/limits.conf': file { '/var/log/zulip':
ensure => file, ensure => 'directory',
mode => 640, owner => 'zulip',
owner => "root", group => 'zulip',
group => "root", mode => 640,
source => 'puppet:///modules/zulip/limits.conf', }
}
file { '/var/log/zulip': file { '/var/log/zulip/queue_error':
ensure => 'directory', ensure => 'directory',
owner => 'zulip', owner => 'zulip',
group => 'zulip', group => 'zulip',
mode => 640, mode => 640,
} }
file { '/var/log/zulip/queue_error':
ensure => 'directory',
owner => 'zulip',
group => 'zulip',
mode => 640,
}
} }

View File

@@ -1,14 +1,15 @@
class zulip::nginx { class zulip::nginx {
$web_packages = [# Needed to run nginx with the modules we use $web_packages = [
"nginx-full", # Needed to run nginx with the modules we use
] "nginx-full",
]
package { $web_packages: ensure => "installed" } package { $web_packages: ensure => "installed" }
file { "/etc/nginx/zulip-include/": file { "/etc/nginx/zulip-include/":
require => Package["nginx-full"], require => Package["nginx-full"],
recurse => true, recurse => true,
owner => "root", owner => "root",
group => "root", group => "root",
mode => 644, mode => 644,
source => "puppet:///modules/zulip/nginx/zulip-include-common/", source => "puppet:///modules/zulip/nginx/zulip-include-common/",
} }
@@ -16,8 +17,8 @@ class zulip::nginx {
file { "/etc/nginx/nginx.conf": file { "/etc/nginx/nginx.conf":
require => Package["nginx-full"], require => Package["nginx-full"],
ensure => file, ensure => file,
owner => "root", owner => "root",
group => "root", group => "root",
mode => 644, mode => 644,
source => "puppet:///modules/zulip/nginx/nginx.conf", source => "puppet:///modules/zulip/nginx/nginx.conf",
} }
@@ -25,8 +26,8 @@ class zulip::nginx {
file { "/etc/nginx/fastcgi_params": file { "/etc/nginx/fastcgi_params":
require => Package["nginx-full"], require => Package["nginx-full"],
ensure => file, ensure => file,
owner => "root", owner => "root",
group => "root", group => "root",
mode => 644, mode => 644,
source => "puppet:///modules/zulip/nginx/fastcgi_params", source => "puppet:///modules/zulip/nginx/fastcgi_params",
} }

View File

@@ -2,11 +2,12 @@ class zulip::postgres_appdb {
include zulip::postgres_common include zulip::postgres_common
include zulip::supervisor include zulip::supervisor
$appdb_packages = [# Needed to run process_fts_updates $appdb_packages = [
"python-psycopg2", # Needed to run process_fts_updates
# Needed for our full text search system "python-psycopg2",
"postgresql-9.3-tsearch-extras", # Needed for our full text search system
] "postgresql-9.3-tsearch-extras",
]
define safepackage ( $ensure = present ) { define safepackage ( $ensure = present ) {
if !defined(Package[$title]) { if !defined(Package[$title]) {
package { $title: ensure => $ensure } package { $title: ensure => $ensure }

View File

@@ -1,11 +1,12 @@
class zulip::postgres_common { class zulip::postgres_common {
$postgres_packages = [# Python modules used in our monitoring/worker threads $postgres_packages = [
"python-gevent", # Python modules used in our monitoring/worker threads
"python-tz", "python-gevent",
"python-dateutil", "python-tz",
# our dictionary "python-dateutil",
"hunspell-en-us", # our dictionary
] "hunspell-en-us",
]
define safepackage ( $ensure = present ) { define safepackage ( $ensure = present ) {
if !defined(Package[$title]) { if !defined(Package[$title]) {
package { $title: ensure => $ensure } package { $title: ensure => $ensure }

View File

@@ -1,24 +1,16 @@
class zulip::rabbit { class zulip::rabbit {
$rabbit_packages = [# Needed to run rabbitmq $rabbit_packages = [
"erlang-base", # Needed to run rabbitmq
"rabbitmq-server", "erlang-base",
] "rabbitmq-server",
]
package { $rabbit_packages: ensure => "installed" } package { $rabbit_packages: ensure => "installed" }
file { "/etc/cron.d/rabbitmq-queuesize":
require => Package[rabbitmq-server],
ensure => file,
owner => "root",
group => "root",
mode => 644,
source => "puppet:///modules/zulip/cron.d/rabbitmq-queuesize",
}
file { "/etc/cron.d/rabbitmq-numconsumers": file { "/etc/cron.d/rabbitmq-numconsumers":
require => Package[rabbitmq-server], require => Package[rabbitmq-server],
ensure => file, ensure => file,
owner => "root", owner => "root",
group => "root", group => "root",
mode => 644, mode => 644,
source => "puppet:///modules/zulip/cron.d/rabbitmq-numconsumers", source => "puppet:///modules/zulip/cron.d/rabbitmq-numconsumers",
} }

View File

@@ -1,7 +1,8 @@
class zulip::supervisor { class zulip::supervisor {
$supervisor_packages = [# Needed to run supervisor $supervisor_packages = [
"supervisor", # Needed to run supervisor
] "supervisor",
]
package { $supervisor_packages: ensure => "installed" } package { $supervisor_packages: ensure => "installed" }
file { "/etc/supervisor/supervisord.conf": file { "/etc/supervisor/supervisord.conf":
@@ -16,7 +17,7 @@ class zulip::supervisor {
file { '/etc/supervisor/conf.d': file { '/etc/supervisor/conf.d':
require => Package[supervisor], require => Package[supervisor],
ensure => 'directory', ensure => 'directory',
owner => 'root', owner => 'root',
group => 'root', group => 'root',
} }
} }

View File

@@ -4,23 +4,24 @@ class zulip::voyager {
include zulip::postgres_appdb include zulip::postgres_appdb
apt::source {'zulip': apt::source {'zulip':
location => 'http://ppa.launchpad.net/tabbott/zulip/ubuntu', location => 'http://ppa.launchpad.net/tabbott/zulip/ubuntu',
release => 'trusty', release => 'trusty',
repos => 'main', repos => 'main',
key => '84C2BE60E50E336456E4749CE84240474E26AE47', key => '84C2BE60E50E336456E4749CE84240474E26AE47',
key_source => 'https://zulip.com/dist/keys/zulip.asc', key_source => 'https://zulip.com/dist/keys/zulip.asc',
pin => '995', pin => '995',
include_src => true, include_src => true,
} }
file { "/etc/nginx/sites-available/zulip-enterprise": file { "/etc/nginx/sites-available/zulip-enterprise":
require => Package["nginx-full"], require => Package["nginx-full"],
ensure => file, ensure => file,
owner => "root", owner => "root",
group => "root", group => "root",
mode => 644, mode => 644,
source => "puppet:///modules/zulip/nginx/sites-available/zulip-enterprise", source => "puppet:///modules/zulip/nginx/sites-available/zulip-enterprise",
} }
file { '/etc/nginx/sites-enabled/zulip-enterprise': file { '/etc/nginx/sites-enabled/zulip-enterprise':
require => Package["nginx-full"], require => Package["nginx-full"],
ensure => 'link', ensure => 'link',
@@ -29,16 +30,8 @@ class zulip::voyager {
file { '/home/zulip/prod-static': file { '/home/zulip/prod-static':
ensure => 'directory', ensure => 'directory',
owner => 'zulip', owner => 'zulip',
group => 'zulip', group => 'zulip',
}
file { "/etc/cron.d/restart-zulip":
ensure => file,
owner => "root",
group => "root",
mode => 644,
source => "puppet:///modules/zulip/cron.d/restart-zulip",
} }
file { "/etc/supervisor/conf.d/zulip_postsetup.conf": file { "/etc/supervisor/conf.d/zulip_postsetup.conf":
@@ -52,8 +45,8 @@ class zulip::voyager {
file { "/opt/setupZulipUser.sh": file { "/opt/setupZulipUser.sh":
ensure => file, ensure => file,
owner => "root", owner => "root",
group => "root", group => "root",
mode => 755, mode => 755,
source => "puppet:///modules/zulip/setupZulipUser.sh", source => "puppet:///modules/zulip/setupZulipUser.sh",
} }