diff --git a/Dockerfile b/Dockerfile index acf8550..e8480cb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,10 @@ FROM quay.io/sameersbn/ubuntu:latest MAINTAINER Alexander Trost -ENV ZULIP_VERSION="1.3.7" ZULIP_CHECKSUM="88bfa668eb14e07b0b806977db2ae2cd4d7e7ef8" DATA_DIR="/data" +ENV ZULIP_VERSION="master" DATA_DIR="/data" ADD entrypoint.sh /entrypoint.sh -ADD zulip-puppet /root/zulip-puppet +ADD puppet/zulip/ /root/puppet-zulip RUN wget -q -O /root/zulip-ppa.asc https://zulip.com/dist/keys/zulip-ppa.asc && \ apt-key add /root/zulip-ppa.asc && \ @@ -12,14 +12,12 @@ RUN wget -q -O /root/zulip-ppa.asc https://zulip.com/dist/keys/zulip-ppa.asc && 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 -q dist-upgrade -y && \ - DEBIAN_FRONTEND=noninteractive apt-get -q install -y puppet git python-dev python-six python-pbs && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y puppet git python-dev python-six python-pbs && \ mkdir -p "/root/zulip" "/etc/zulip" "$DATA_DIR" && \ - wget -q "https://www.zulip.com/dist/releases/zulip-server-$ZULIP_VERSION.tar.gz" -P "/tmp" && \ - echo "$ZULIP_CHECKSUM /tmp/zulip-server-$ZULIP_VERSION.tar.gz" | sha1sum -c && \ - tar xfz "/tmp/zulip-server-$ZULIP_VERSION.tar.gz" -C "/root/zulip" --remove-files --strip-components=1 && \ echo "[machine]\npuppet_classes = zulip::voyager\ndeploy_type = voyager" > /etc/zulip/zulip.conf && \ - rm -rf /root/zulip/puppet/zulip_internal /root/zulip/puppet/zulip && \ - mv -f /root/zulip-puppet /root/zulip/puppet/zulip && \ + git clone https://github.com/zulip/zulip.git /root/zulip && \ + git checkout "$ZULIP_VERSION" && \ + mv -f /root/puppet-zulip /root/zulip/puppet/zulip && \ /root/zulip/scripts/zulip-puppet-apply -f && \ cp -fa /root/zulip/zproject/local_settings_template.py /etc/zulip/settings.py && \ ln -nsf /etc/zulip/settings.py /root/zulip/zproject/local_settings.py && \ @@ -29,6 +27,7 @@ RUN wget -q -O /root/zulip-ppa.asc https://zulip.com/dist/keys/zulip-ppa.asc && ln -nsf "$ZULIP_DEPLOY_PATH" "/home/zulip/deployments/next" && \ ln -nsf "$ZULIP_DEPLOY_PATH" "/home/zulip/deployments/current" && \ ln -nsf /etc/zulip/settings.py "$ZULIP_DEPLOY_PATH/zproject/local_settings.py" && \ + /root/zulip/tools/update-prod-static && \ cp -rfT "$ZULIP_DEPLOY_PATH/prod-static/serve" "/home/zulip/prod-static" && \ chown -R zulip:zulip /home/zulip /var/log/zulip /etc/zulip/settings.py && \ apt-get -qq autoremove --purge -y && \ diff --git a/zulip-puppet/files/createZulipAdmin.sh b/puppet/zulip/files/createZulipAdmin.sh similarity index 100% rename from zulip-puppet/files/createZulipAdmin.sh rename to puppet/zulip/files/createZulipAdmin.sh diff --git a/zulip-puppet/files/supervisor/conf.d/cron.conf b/puppet/zulip/files/supervisor/conf.d/cron.conf similarity index 100% rename from zulip-puppet/files/supervisor/conf.d/cron.conf rename to puppet/zulip/files/supervisor/conf.d/cron.conf diff --git a/zulip-puppet/files/supervisor/conf.d/nginx.conf b/puppet/zulip/files/supervisor/conf.d/nginx.conf similarity index 59% rename from zulip-puppet/files/supervisor/conf.d/nginx.conf rename to puppet/zulip/files/supervisor/conf.d/nginx.conf index 8552440..045084f 100644 --- a/zulip-puppet/files/supervisor/conf.d/nginx.conf +++ b/puppet/zulip/files/supervisor/conf.d/nginx.conf @@ -1,5 +1,5 @@ [program:nginx] -command = /usr/sbin/nginx -g 'daemon off;' +command = /usr/sbin/nginx -g 'daemon off;server_tokens off;' stdout_events_enabled=true stderr_events_enabled=true autorestart = true diff --git a/zulip-puppet/files/supervisor/conf.d/zulip_postsetup.conf b/puppet/zulip/files/supervisor/conf.d/zulip_postsetup.conf similarity index 100% rename from zulip-puppet/files/supervisor/conf.d/zulip_postsetup.conf rename to puppet/zulip/files/supervisor/conf.d/zulip_postsetup.conf diff --git a/zulip-puppet/files/supervisor/supervisord.conf b/puppet/zulip/files/supervisor/supervisord.conf similarity index 100% rename from zulip-puppet/files/supervisor/supervisord.conf rename to puppet/zulip/files/supervisor/supervisord.conf diff --git a/zulip-puppet/manifests/app_frontend.pp b/puppet/zulip/manifests/app_frontend.pp similarity index 98% rename from zulip-puppet/manifests/app_frontend.pp rename to puppet/zulip/manifests/app_frontend.pp index 4e9a197..a44a985 100644 --- a/zulip-puppet/manifests/app_frontend.pp +++ b/puppet/zulip/manifests/app_frontend.pp @@ -157,6 +157,6 @@ class zulip::app_frontend { owner => "root", group => "root", mode => 644, - source => "puppet:///modules/zulip/cron.d/clearsessions", + source => "puppet:///modules/zulip_internal/cron.d/clearsessions", } } diff --git a/zulip-puppet/manifests/base.pp b/puppet/zulip/manifests/base.pp similarity index 100% rename from zulip-puppet/manifests/base.pp rename to puppet/zulip/manifests/base.pp diff --git a/zulip-puppet/manifests/nginx.pp b/puppet/zulip/manifests/nginx.pp similarity index 100% rename from zulip-puppet/manifests/nginx.pp rename to puppet/zulip/manifests/nginx.pp diff --git a/zulip-puppet/manifests/postgres_appdb.pp b/puppet/zulip/manifests/postgres_appdb.pp similarity index 100% rename from zulip-puppet/manifests/postgres_appdb.pp rename to puppet/zulip/manifests/postgres_appdb.pp diff --git a/zulip-puppet/manifests/postgres_common.pp b/puppet/zulip/manifests/postgres_common.pp similarity index 100% rename from zulip-puppet/manifests/postgres_common.pp rename to puppet/zulip/manifests/postgres_common.pp diff --git a/zulip-puppet/manifests/rabbit.pp b/puppet/zulip/manifests/rabbit.pp similarity index 100% rename from zulip-puppet/manifests/rabbit.pp rename to puppet/zulip/manifests/rabbit.pp diff --git a/zulip-puppet/manifests/supervisor.pp b/puppet/zulip/manifests/supervisor.pp similarity index 100% rename from zulip-puppet/manifests/supervisor.pp rename to puppet/zulip/manifests/supervisor.pp diff --git a/zulip-puppet/manifests/voyager.pp b/puppet/zulip/manifests/voyager.pp similarity index 100% rename from zulip-puppet/manifests/voyager.pp rename to puppet/zulip/manifests/voyager.pp diff --git a/zulip-puppet/files/cron.d/active-user-stats b/zulip-puppet/files/cron.d/active-user-stats deleted file mode 100644 index 0d40738..0000000 --- a/zulip-puppet/files/cron.d/active-user-stats +++ /dev/null @@ -1,2 +0,0 @@ -MAILTO="" -*/10 * * * * zulip cd /home/zulip/deployments/current;python manage.py active_user_stats diff --git a/zulip-puppet/files/cron.d/check-apns-tokens b/zulip-puppet/files/cron.d/check-apns-tokens deleted file mode 100644 index eeee9a2..0000000 --- a/zulip-puppet/files/cron.d/check-apns-tokens +++ /dev/null @@ -1,3 +0,0 @@ -MAILTO="" -# Remove any stale apple device tokens from our list -0 3 * * * zulip cd /home/zulip/deployments/current;python manage.py check_apns_tokens diff --git a/zulip-puppet/files/cron.d/clearsessions b/zulip-puppet/files/cron.d/clearsessions deleted file mode 100644 index 7e19763..0000000 --- a/zulip-puppet/files/cron.d/clearsessions +++ /dev/null @@ -1,3 +0,0 @@ -MAILTO="" -# Clear all expired Django sessions at 10:22 PM every day. -22 22 * * * zulip cd /home/zulip/deployments/current;python manage.py clearsessions diff --git a/zulip-puppet/files/cron.d/rabbitmq-numconsumers b/zulip-puppet/files/cron.d/rabbitmq-numconsumers deleted file mode 100644 index bfa8bf0..0000000 --- a/zulip-puppet/files/cron.d/rabbitmq-numconsumers +++ /dev/null @@ -1,15 +0,0 @@ -SHELL=/bin/bash -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -USER=root -* * * * * root /home/zulip/deployments/current/bin/write-rabbitmq-consumers-state-file notify_tornado -* * * * * root /home/zulip/deployments/current/bin/write-rabbitmq-consumers-state-file user_activity -* * * * * root /home/zulip/deployments/current/bin/write-rabbitmq-consumers-state-file user_activity_interval -* * * * * root /home/zulip/deployments/current/bin/write-rabbitmq-consumers-state-file user_presence -* * * * * root /home/zulip/deployments/current/bin/write-rabbitmq-consumers-state-file invites -* * * * * root /home/zulip/deployments/current/bin/write-rabbitmq-consumers-state-file signups -* * * * * root /home/zulip/deployments/current/bin/write-rabbitmq-consumers-state-file message_sender -* * * * * root /home/zulip/deployments/current/bin/write-rabbitmq-consumers-state-file feedback_messages -* * * * * root /home/zulip/deployments/current/bin/write-rabbitmq-consumers-state-file error_reports -* * * * * root /home/zulip/deployments/current/bin/write-rabbitmq-consumers-state-file digest_emails -* * * * * root /home/zulip/deployments/current/bin/write-rabbitmq-consumers-state-file email_mirror -* * * * * root /home/zulip/deployments/current/bin/write-rabbitmq-consumers-state-file missedmessage_mobile_notifications diff --git a/zulip-puppet/files/limits.conf b/zulip-puppet/files/limits.conf deleted file mode 100644 index c515877..0000000 --- a/zulip-puppet/files/limits.conf +++ /dev/null @@ -1,60 +0,0 @@ -# /etc/security/limits.conf -# -#Each line describes a limit for a user in the form: -# -# -# -#Where: -# can be: -# - an user name -# - a group name, with @group syntax -# - the wildcard *, for default entry -# - the wildcard %, can be also used with %group syntax, -# for maxlogin limit -# - NOTE: group and wildcard limits are not applied to root. -# To apply a limit to the root user, must be -# the literal username root. -# -# can have the two values: -# - "soft" for enforcing the soft limits -# - "hard" for enforcing hard limits -# -# can be one of the following: -# - core - limits the core file size (KB) -# - data - max data size (KB) -# - fsize - maximum filesize (KB) -# - memlock - max locked-in-memory address space (KB) -# - nofile - max number of open files -# - rss - max resident set size (KB) -# - stack - max stack size (KB) -# - cpu - max CPU time (MIN) -# - nproc - max number of processes -# - as - address space limit (KB) -# - maxlogins - max number of logins for this user -# - maxsyslogins - max number of logins on the system -# - priority - the priority to run user process with -# - locks - max number of file locks the user can hold -# - sigpending - max number of pending signals -# - msgqueue - max memory used by POSIX message queues (bytes) -# - nice - max nice priority allowed to raise to values: [-20, 19] -# - rtprio - max realtime priority -# - chroot - change root to directory (Debian-specific) -# -# -# - -#* soft core 0 -#root hard core 100000 -#* hard rss 10000 -#@student hard nproc 20 -#@faculty soft nproc 20 -#@faculty hard nproc 50 -#ftp hard nproc 0 -#ftp - chroot /ftp -#@student - maxlogins 4 -zulip soft nofile 40000 -zulip hard nofile 50000 -root soft nofile 40000 -root hard nofile 50000 - -# End of file diff --git a/zulip-puppet/files/nginx/fastcgi_params b/zulip-puppet/files/nginx/fastcgi_params deleted file mode 100644 index 998d590..0000000 --- a/zulip-puppet/files/nginx/fastcgi_params +++ /dev/null @@ -1,25 +0,0 @@ -fastcgi_param QUERY_STRING $query_string; -fastcgi_param REQUEST_METHOD $request_method; -fastcgi_param CONTENT_TYPE $content_type; -fastcgi_param CONTENT_LENGTH $content_length; - -fastcgi_param SCRIPT_FILENAME $request_filename; -fastcgi_param SCRIPT_NAME $fastcgi_script_name; -fastcgi_param REQUEST_URI $uri; -fastcgi_param DOCUMENT_URI $document_uri; -fastcgi_param DOCUMENT_ROOT $document_root; -fastcgi_param SERVER_PROTOCOL $server_protocol; - -fastcgi_param GATEWAY_INTERFACE CGI/1.1; -fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; - -fastcgi_param REMOTE_ADDR $remote_addr; -fastcgi_param REMOTE_PORT $remote_port; -fastcgi_param SERVER_ADDR $server_addr; -fastcgi_param SERVER_PORT $server_port; -fastcgi_param SERVER_NAME $server_name; - -fastcgi_param HTTPS $https; - -# PHP only, required if PHP was built with --enable-force-cgi-redirect -fastcgi_param REDIRECT_STATUS 200; diff --git a/zulip-puppet/files/nginx/nginx.conf b/zulip-puppet/files/nginx/nginx.conf deleted file mode 100644 index 2757e2b..0000000 --- a/zulip-puppet/files/nginx/nginx.conf +++ /dev/null @@ -1,46 +0,0 @@ -user zulip; - -worker_processes auto; -pid /var/run/nginx.pid; - -worker_rlimit_nofile 40000; -events { - worker_connections 40000; - - use epoll; - - multi_accept on; -} - -http { - sendfile on; - tcp_nopush on; - tcp_nodelay on; - keepalive_timeout 65; - types_hash_max_size 2048; - client_max_body_size 25m; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - access_log /var/log/nginx/access.log; - error_log /var/log/nginx/error.log; - - reset_timedout_connection on; - server_tokens off; - gzip on; - gzip_disable "msie6"; - - # Select a Connection header for sockjs reverse-proxying - map $http_upgrade $connection_upgrade { - default upgrade; - '' close; - } - # These are the official ciphers as of 2014-10-14 - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:EECDH+RC4:RSA+RC4:!MD5; - - - include /etc/nginx/conf.d/*.conf; - include /etc/nginx/sites-enabled/*; -} diff --git a/zulip-puppet/files/nginx/sites-available/zulip-enterprise b/zulip-puppet/files/nginx/sites-available/zulip-enterprise deleted file mode 100644 index b2f3e3a..0000000 --- a/zulip-puppet/files/nginx/sites-available/zulip-enterprise +++ /dev/null @@ -1,32 +0,0 @@ -server { - listen 80; - return 301 https://$host$request_uri; -} - -include /etc/nginx/zulip-include/upstreams; - -server { - listen 443; - - ssl on; - ssl_certificate /etc/ssl/certs/zulip.combined-chain.crt; - ssl_certificate_key /etc/ssl/private/zulip.key; - - location /user_uploads { - add_header X-Content-Type-Options nosniff; - include /etc/nginx/zulip-include/uploads.types; - alias /home/zulip/uploads/files; - } - - location /user_avatars { - add_header X-Content-Type-Options nosniff; - include /etc/nginx/zulip-include/uploads.types; - alias /home/zulip/uploads/avatars; - } - - location /local-static { - alias /home/zulip/local-static; - } - - include /etc/nginx/zulip-include/app; -} diff --git a/zulip-puppet/files/nginx/zulip-include-common/location-sockjs b/zulip-puppet/files/nginx/zulip-include-common/location-sockjs deleted file mode 100644 index ce2852d..0000000 --- a/zulip-puppet/files/nginx/zulip-include-common/location-sockjs +++ /dev/null @@ -1,7 +0,0 @@ -# Longpolling version needed for xhr streaming support -include /etc/nginx/zulip-include/proxy_longpolling; - -proxy_set_header Upgrade $http_upgrade; -# This should override the Connection setting in zulip-include/proxy -proxy_set_header Connection $connection_upgrade; -proxy_set_header X-Real-IP $remote_addr; diff --git a/zulip-puppet/files/nginx/zulip-include-common/proxy b/zulip-puppet/files/nginx/zulip-include-common/proxy deleted file mode 100644 index 017a169..0000000 --- a/zulip-puppet/files/nginx/zulip-include-common/proxy +++ /dev/null @@ -1,8 +0,0 @@ -proxy_http_version 1.1; -# Clearing the Connection header is required for keepalives from the load balancer -# http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive -proxy_set_header Connection ""; -proxy_set_header Host $host; -proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; -proxy_next_upstream off; -proxy_redirect off; diff --git a/zulip-puppet/files/nginx/zulip-include-common/proxy_longpolling b/zulip-puppet/files/nginx/zulip-include-common/proxy_longpolling deleted file mode 100644 index 427dacf..0000000 --- a/zulip-puppet/files/nginx/zulip-include-common/proxy_longpolling +++ /dev/null @@ -1,3 +0,0 @@ -include /etc/nginx/zulip-include/proxy; -proxy_buffering off; -proxy_read_timeout 1200; diff --git a/zulip-puppet/files/nginx/zulip-include-frontend/app b/zulip-puppet/files/nginx/zulip-include-frontend/app deleted file mode 100644 index 93ce736..0000000 --- a/zulip-puppet/files/nginx/zulip-include-frontend/app +++ /dev/null @@ -1,79 +0,0 @@ -access_log /var/log/nginx/access.log; -error_log /var/log/nginx/error.log; - -# Enable HSTS: tell browsers to always use HTTPS -add_header Strict-Transport-Security max-age=15768000; - -# Serve a custom error page when the app is down -error_page 502 503 504 /static/html/5xx.html; - -# Serve static files directly -location /static/ { - alias /home/zulip/prod-static/; - error_page 404 /static/html/404.html; -} - -# Send longpoll requests to Tornado -location ~ /json/get_events|/json/events { - proxy_pass http://tornado; - include /etc/nginx/zulip-include/proxy_longpolling; - - proxy_set_header X-Real-IP $remote_addr; -} - -# Send longpoll requests to Tornado -location /api/v1/events { - - add_header Access-Control-Allow-Origin *; - add_header Access-Control-Allow-Headers Authorization; - add_header Access-Control-Allow-Methods 'GET, POST'; - - if ($request_method = 'OPTIONS') { - add_header Access-Control-Allow-Origin *; - add_header Access-Control-Allow-Headers Authorization; - add_header Access-Control-Allow-Methods 'GET, POST'; - add_header 'Content-Type' 'text/plain charset=UTF-8'; - add_header 'Content-Length' 0; - return 204; - } - - proxy_pass http://tornado; - include /etc/nginx/zulip-include/proxy_longpolling; - - proxy_set_header X-Real-IP $remote_addr; -} - - -# Send sockjs requests to Tornado -location /sockjs { - proxy_pass http://tornado; - include /etc/nginx/zulip-include/location-sockjs; -} - -# Send everything else to Django via FastCGI -location / { - include fastcgi_params; - fastcgi_pass django; - fastcgi_split_path_info ^()(.*)$; - # Second number set to `getconf PAGESIZE` - fastcgi_buffers 1024 4k; - fastcgi_max_temp_file_size 0; - fastcgi_next_upstream off; -} - -location /api/ { - add_header Access-Control-Allow-Origin *; - add_header Access-Control-Allow-Headers Authorization; - add_header Access-Control-Allow-Methods 'GET, POST'; - - include fastcgi_params; - fastcgi_pass django; - fastcgi_split_path_info ^()(.*)$; - # Second number set to `getconf PAGESIZE` - fastcgi_buffers 1024 4k; - fastcgi_max_temp_file_size 0; - fastcgi_next_upstream off; - -} - -include /etc/nginx/zulip-include/app.d/*.conf; diff --git a/zulip-puppet/files/nginx/zulip-include-frontend/uploads.types b/zulip-puppet/files/nginx/zulip-include-frontend/uploads.types deleted file mode 100644 index 20ba343..0000000 --- a/zulip-puppet/files/nginx/zulip-include-frontend/uploads.types +++ /dev/null @@ -1,22 +0,0 @@ - -types { - text/plain txt; - - image/gif gif; - image/jpeg jpeg jpg; - image/png png; - image/tiff tif tiff; - image/webp webp; - - video/3gpp 3gpp 3gp; - video/mp4 mp4; - video/mpeg mpeg mpg; - video/quicktime mov; - video/webm webm; - video/x-flv flv; - video/x-m4v m4v; - video/x-mng mng; - video/x-ms-asf asx asf; - video/x-ms-wmv wmv; - video/x-msvideo avi; -} diff --git a/zulip-puppet/files/nginx/zulip-include-frontend/upstreams b/zulip-puppet/files/nginx/zulip-include-frontend/upstreams deleted file mode 100644 index 3be40e3..0000000 --- a/zulip-puppet/files/nginx/zulip-include-frontend/upstreams +++ /dev/null @@ -1,12 +0,0 @@ -upstream django { - server unix:/home/zulip/deployments/fastcgi-socket; -} - -upstream tornado { - server 127.0.0.1:9993; - keepalive 10000; -} - -upstream localhost_sso { - server 127.0.0.1:8888; -} diff --git a/zulip-puppet/files/postgresql/process_fts_updates b/zulip-puppet/files/postgresql/process_fts_updates deleted file mode 100644 index 1384a1e..0000000 --- a/zulip-puppet/files/postgresql/process_fts_updates +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env python -import psycopg2 -import psycopg2.extensions -import select -import time -import logging - -def update_fts_columns(cursor): - cursor.execute("SELECT id, message_id FROM fts_update_log;") - ids = [] - for (id, message_id) in cursor.fetchall(): - cursor.execute("UPDATE zerver_message SET " - "search_tsvector = to_tsvector('zulip.english_us_search', " - "subject || rendered_content) " - "WHERE id = %s", (message_id,)) - ids.append(id) - cursor.execute("DELETE FROM fts_update_log WHERE id = ANY(%s)", (ids,)) - - -def am_master(cursor): - cursor.execute("SELECT pg_is_in_recovery()") - return not cursor.fetchall()[0][0] - -logging.basicConfig(format="%(asctime)s %(levelname)s: %(message)s") -logger = logging.getLogger("process_fts_updates") -logger.setLevel(logging.DEBUG) - -logger.info("process_fts_updates starting") - -conn = psycopg2.connect("user=zulip") -cursor = conn.cursor() - -conn.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT) - -first_check = True -while not am_master(cursor): - if first_check: - first_check = False - logger.info("In recovery; sleeping") - time.sleep(5) - -logger.info("Not in recovery; listening for FTS updates") - -cursor.execute("LISTEN fts_update_log;") -update_fts_columns(cursor) - -# TODO: If we go back into recovery, we should stop processing updates -while True: - if select.select([conn], [], [], 30) != ([], [], []): - conn.poll() - while conn.notifies: - conn.notifies.pop() - update_fts_columns(cursor) diff --git a/zulip-puppet/files/supervisor/conf.d/zulip.conf b/zulip-puppet/files/supervisor/conf.d/zulip.conf deleted file mode 100644 index 3f6f1b7..0000000 --- a/zulip-puppet/files/supervisor/conf.d/zulip.conf +++ /dev/null @@ -1,280 +0,0 @@ -; Supervisor config file. -; on Debian squeeze, place me in /etc/supervisor/conf.d/zulip.conf -; -; For more information on the config file, please see: -; http://supervisord.org/configuration.html -; -; Note: shell expansion ("~" or "$HOME") is not supported. Environment -; variables can be expanded using this syntax: "%(ENV_HOME)s". - -[fcgi-program:zulip-django] -command=python /home/zulip/deployments/current/manage.py runfcgi daemonize=False maxchildren=20 ; the program (relative uses PATH, can take args) -;process_name=%(program_name)s ; process_name expr (default %(program_name)s) -;numprocs=1 ; number of processes copies to start (def 1) -;directory=/tmp ; directory to cwd to before exec (def no cwd) -;umask=022 ; umask for process (default None) -priority=100 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -;startsecs=1 ; number of secs prog must stay running (def. 1) -;startretries=3 ; max # of serial start failures (default 3) -;exitcodes=0,2 ; 'expected' exit codes for process (default 0,2) -stopsignal=HUP ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -;stopasgroup=false ; send stop signal to the UNIX process group (default false) -;killasgroup=false ; SIGKILL the UNIX process group (def false) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/django.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) -;stdout_events_enabled=false ; emit events on stdout writes (default false) -;stderr_logfile=/var/log/zulip/app.err ; stderr log path, NONE for none; default AUTO -;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) -;stderr_logfile_backups=10 ; # of stderr logfile backups (default 10) -;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) -;stderr_events_enabled=false ; emit events on stderr writes (default false) -;environment=A=1,B=2 ; process environment additions (def no adds) -;serverurl=AUTO ; override serverurl computation (childutils) -directory=/home/zulip/deployments/current/ -socket=unix:///home/zulip/deployments/fastcgi-socket -socket_owner=zulip:zulip -socket_mode=0700 - -[program:zulip-tornado] -command=python /home/zulip/deployments/current/manage.py runtornado 127.0.0.1:9993 -priority=200 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/tornado.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-events-user-activity] -command=python /home/zulip/deployments/current/manage.py process_queue user_activity -priority=300 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-user-activity.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-events-user-activity-interval] -command=python /home/zulip/deployments/current/manage.py process_queue user_activity_interval -priority=300 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-user-activity-interval.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-events-user-presence] -command=python /home/zulip/deployments/current/manage.py process_queue user_presence -priority=300 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-user-presence.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-events-signups] -command=python /home/zulip/deployments/current/manage.py process_queue signups -priority=400 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-signups.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-events-confirmation-emails] -command=python /home/zulip/deployments/current/manage.py process_queue invites -priority=500 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-confirmation-emails.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-events-missedmessage_reminders] -command=python /home/zulip/deployments/current/manage.py process_queue missedmessage_emails -priority=600 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-missedmessage_reminders.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-events-missedmessage_mobile_notifications] -command=python /home/zulip/deployments/current/manage.py process_queue missedmessage_mobile_notifications -priority=600 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-missedmessage_mobile_notifications.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-events-slowqueries] -command=python /home/zulip/deployments/current/manage.py process_queue slow_queries -priority=600 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-slow_queries.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-events-message_sender] -command=python /home/zulip/deployments/current/manage.py process_queue message_sender %(process_num)s -process_name=%(program_name)s-%(process_num)s -priority=350 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-message_sender.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ -numprocs=5 - -[program:zulip-events-feedback_messages] -command=python /home/zulip/deployments/current/manage.py process_queue feedback_messages -priority=600 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-feedback_messages.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-events-error_reports] -command=python /home/zulip/deployments/current/manage.py process_queue error_reports -priority=600 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-error_reports.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-events-digest_emails] -command=python /home/zulip/deployments/current/manage.py process_queue digest_emails -priority=600 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-digest_emails.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-events-email_mirror] -command=python /home/zulip/deployments/current/manage.py process_queue email_mirror -priority=600 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-email_mirror.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - -[program:zulip-deliver-enqueued-emails] -command=python /home/zulip/deployments/current/manage.py deliver_email -priority=600 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/events-deliver_enqueued_emails.log ; stdout log path, NONE for none; default AUTO -stdout_logfile_maxbytes=1GB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -directory=/home/zulip/deployments/current/ - - -; The below sample group section shows all possible group values, -; create one or more 'real' group: sections to create "heterogeneous" -; process groups. - -[group:zulip-workers] -; each refers to 'x' in [program:x] definitions -programs=zulip-events-user-activity,zulip-events-user-activity-interval,zulip-events-user-presence,zulip-events-signups,zulip-events-confirmation-emails,zulip-events-missedmessage_reminders,zulip-events-slowqueries,zulip-events-feedback_messages,zulip-events-digest_emails,zulip-events-error_reports,zulip-deliver-enqueued-emails,zulip-events-missedmessage_mobile_notifications,zulip-events-email_mirror - -[group:zulip-senders] -programs=zulip-events-message_sender - -; The [include] section can just contain the "files" setting. This -; setting can list multiple files (separated by whitespace or -; newlines). It can also contain wildcards. The filenames are -; interpreted as relative to this file. Included files *cannot* -; include files themselves. - -;[include] -;files = relative/directory/*.ini - -;enable server restarts without requiring superuser access. This assumes that this is the only service being controlled by supervisord on this machine. -[unix_http_server] -chown=zulip:zulip diff --git a/zulip-puppet/files/supervisor/conf.d/zulip_db.conf b/zulip-puppet/files/supervisor/conf.d/zulip_db.conf deleted file mode 100644 index 677b9b0..0000000 --- a/zulip-puppet/files/supervisor/conf.d/zulip_db.conf +++ /dev/null @@ -1,10 +0,0 @@ -[program:process-fts-updates] -command=/usr/local/bin/process_fts_updates -priority=600 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -stopsignal=TERM ; signal used to kill process (default TERM) -stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10) -user=zulip ; setuid to this UNIX account to run the program -redirect_stderr=true ; redirect proc stderr to stdout (default false) -stdout_logfile=/var/log/zulip/fts-updates.log ; stdout log path, NONE for none; default AUTO