mirror of
https://github.com/zulip/docker-zulip.git
synced 2025-11-20 14:38:32 +00:00
Removed postgresql-9.3 from the packages to install
Fixes and tweaks for the entrypoint.sh #31 Added currently experimental Log2Zulip env vars and functions Cleand and reformatted some Zulip puppet manifests
This commit is contained in:
@@ -3,6 +3,7 @@ MAINTAINER Alexander Trost <galexrt@googlemail.com>
|
|||||||
|
|
||||||
ENV ZULIP_VERSION="1.3.7" ZULIP_CHECKSUM="88bfa668eb14e07b0b806977db2ae2cd4d7e7ef8" DATA_DIR="/data"
|
ENV ZULIP_VERSION="1.3.7" ZULIP_CHECKSUM="88bfa668eb14e07b0b806977db2ae2cd4d7e7ef8" DATA_DIR="/data"
|
||||||
|
|
||||||
|
ADD entrypoint.sh /entrypoint.sh
|
||||||
ADD zulip-puppet /root/zulip-puppet
|
ADD zulip-puppet /root/zulip-puppet
|
||||||
RUN apt-get -qq update -q && \
|
RUN apt-get -qq update -q && \
|
||||||
apt-get -qq dist-upgrade -y && \
|
apt-get -qq dist-upgrade -y && \
|
||||||
@@ -34,7 +35,6 @@ RUN apt-get -qq update -q && \
|
|||||||
apt-get -qq autoremove --purge -y && \
|
apt-get -qq autoremove --purge -y && \
|
||||||
apt-get -qq clean && \
|
apt-get -qq clean && \
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
ADD entrypoint.sh /entrypoint.sh
|
|
||||||
VOLUME ["$DATA_DIR"]
|
VOLUME ["$DATA_DIR"]
|
||||||
EXPOSE 80 443
|
EXPOSE 80 443
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,12 @@ ZULIP_CERTIFICATE_CN="${ZULIP_CERTIFICATE_CN:-}"
|
|||||||
# Zulip related settings
|
# Zulip related settings
|
||||||
ZULIP_AUTH_BACKENDS="${ZULIP_AUTH_BACKENDS:-EmailAuthBackend}"
|
ZULIP_AUTH_BACKENDS="${ZULIP_AUTH_BACKENDS:-EmailAuthBackend}"
|
||||||
ZULIP_SECRETS_rabbitmq_password="${ZULIP_SECRETS_rabbitmq_password:-$(echo $RABBITMQ_PASS)}"
|
ZULIP_SECRETS_rabbitmq_password="${ZULIP_SECRETS_rabbitmq_password:-$(echo $RABBITMQ_PASS)}"
|
||||||
|
# Log2Zulip settings
|
||||||
|
LOG2ZULIP_ENABLED="False"
|
||||||
|
LOG2ZULIP_EMAIL=""
|
||||||
|
LOG2ZULIP_API_KEY=""
|
||||||
|
LOG2ZULIP_SITE=""
|
||||||
|
LOG2ZULIP_LOGFILES="/var/log/nginx/error.log"
|
||||||
|
|
||||||
# entrypoint.sh specific variables
|
# entrypoint.sh specific variables
|
||||||
ZULIP_CURRENT_DEPLOY="/home/zulip/deployments/current"
|
ZULIP_CURRENT_DEPLOY="/home/zulip/deployments/current"
|
||||||
@@ -121,6 +127,8 @@ setConfigurationValue() {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
configureCerts() {
|
configureCerts() {
|
||||||
|
echo "Exectuing certificates configuration..."
|
||||||
|
echo "==="
|
||||||
case "$ZULIP_AUTO_GENERATE_CERTS" in
|
case "$ZULIP_AUTO_GENERATE_CERTS" in
|
||||||
[Tt][Rr][Uu][Ee])
|
[Tt][Rr][Uu][Ee])
|
||||||
export ZULIP_AUTO_GENERATE_CERTS="True"
|
export ZULIP_AUTO_GENERATE_CERTS="True"
|
||||||
@@ -140,7 +148,7 @@ configureCerts() {
|
|||||||
ln -sfT "$DATA_DIR/certs/zulip.combined-chain.crt" /etc/ssl/certs/zulip.combined-chain.crt
|
ln -sfT "$DATA_DIR/certs/zulip.combined-chain.crt" /etc/ssl/certs/zulip.combined-chain.crt
|
||||||
fi
|
fi
|
||||||
if [ ! -e "$DATA_DIR/certs/zulip.key" ] && [ ! -e "$DATA_DIR/certs/zulip.combined-chain.crt" ]; then
|
if [ ! -e "$DATA_DIR/certs/zulip.key" ] && [ ! -e "$DATA_DIR/certs/zulip.combined-chain.crt" ]; then
|
||||||
if [ ! -z "$ZULIP_AUTO_GENERATE_CERTS" ] && [ "$ZULIP_AUTO_GENERATE_CERTS" == "True" ]; then
|
if [ ! -z "$ZULIP_AUTO_GENERATE_CERTS" ] && ([ "$ZULIP_AUTO_GENERATE_CERTS" == "True" ] || [ "$ZULIP_AUTO_GENERATE_CERTS" == "true" ]); then
|
||||||
echo "ZULIP_AUTO_GENERATE_CERTS is true and no certs where found in $DATA_DIR/certs. Autogenerating certificates ..."
|
echo "ZULIP_AUTO_GENERATE_CERTS is true and no certs where found in $DATA_DIR/certs. Autogenerating certificates ..."
|
||||||
if [ -z "$ZULIP_CERTIFICATE_SUBJ" ]; then
|
if [ -z "$ZULIP_CERTIFICATE_SUBJ" ]; then
|
||||||
if [ -z "$ZULIP_CERTIFICATE_CN" ]; then
|
if [ -z "$ZULIP_CERTIFICATE_CN" ]; then
|
||||||
@@ -157,9 +165,9 @@ configureCerts() {
|
|||||||
openssl req -new -nodes -subj "$ZULIP_CERTIFICATE_SUBJ" -key "$DATA_DIR/certs/zulip.key" -out /tmp/server.csr
|
openssl req -new -nodes -subj "$ZULIP_CERTIFICATE_SUBJ" -key "$DATA_DIR/certs/zulip.key" -out /tmp/server.csr
|
||||||
openssl x509 -req -days 365 -in /tmp/server.csr -signkey "$DATA_DIR/certs/zulip.key" -out "$DATA_DIR/certs/zulip.combined-chain.crt"
|
openssl x509 -req -days 365 -in /tmp/server.csr -signkey "$DATA_DIR/certs/zulip.key" -out "$DATA_DIR/certs/zulip.combined-chain.crt"
|
||||||
rm -f /tmp/server.csr /tmp/server.pass.key
|
rm -f /tmp/server.csr /tmp/server.pass.key
|
||||||
echo "Certificates autogenerated."
|
echo "Certificate autogeneration succeeded."
|
||||||
else
|
else
|
||||||
echo "Certificates already exist. No need to generate them."
|
echo "Certificates already exist. No need to generate them. Continuing."
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [ ! -e "$DATA_DIR/certs/zulip.key" ]; then
|
if [ ! -e "$DATA_DIR/certs/zulip.key" ]; then
|
||||||
@@ -170,11 +178,19 @@ configureCerts() {
|
|||||||
echo "No zulip.combined-chain.crt given in $DATA_DIR."
|
echo "No zulip.combined-chain.crt given in $DATA_DIR."
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
echo "==="
|
||||||
|
echo "Certificates configuration succeeded."
|
||||||
}
|
}
|
||||||
secretsConfiguration() {
|
secretsConfiguration() {
|
||||||
|
echo "Setting Zulip secrets ..."
|
||||||
|
echo "==="
|
||||||
if [ ! -e "$DATA_DIR/zulip-secrets.conf" ]; then
|
if [ ! -e "$DATA_DIR/zulip-secrets.conf" ]; then
|
||||||
|
echo "Generating Zulip secrets ..."
|
||||||
su zulip -c "/root/zulip/scripts/setup/generate_secrets.py"
|
su zulip -c "/root/zulip/scripts/setup/generate_secrets.py"
|
||||||
mv -f /etc/zulip/zulip-secrets.conf "$DATA_DIR/zulip-secrets.conf"
|
mv -f /etc/zulip/zulip-secrets.conf "$DATA_DIR/zulip-secrets.conf"
|
||||||
|
echo "Zulip secrets generation succeeded."
|
||||||
|
else
|
||||||
|
echo "Zulip secrets already generated."
|
||||||
fi
|
fi
|
||||||
ln -sfT "$DATA_DIR/zulip-secrets.conf" /etc/zulip/zulip-secrets.conf
|
ln -sfT "$DATA_DIR/zulip-secrets.conf" /etc/zulip/zulip-secrets.conf
|
||||||
local SECRETS=($(env | sed -nr "s/ZULIP_SECRETS_([A-Z_a-z-]*).*/\1/p"))
|
local SECRETS=($(env | sed -nr "s/ZULIP_SECRETS_([A-Z_a-z-]*).*/\1/p"))
|
||||||
@@ -195,9 +211,11 @@ secretsConfiguration() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
unset SECRET_KEY SECRET_VAR KEY
|
unset SECRET_KEY SECRET_VAR KEY
|
||||||
|
echo "==="
|
||||||
|
echo "Zulip secrets configuration succeeded."
|
||||||
}
|
}
|
||||||
databaseConfiguration() {
|
databaseConfiguration() {
|
||||||
sed -i "s~psycopg2.connect\(.*\)~psycopg2.connect(\"host=$DB_HOST port=$DB_HOST_PORT dbname=$DB_NAME user=$DB_USER password=$DB_PASS\")~g" /usr/local/bin/process_fts_updates
|
echo "Setting database configuration ..."
|
||||||
setConfigurationValue "from zerver.lib.db import TimeTrackingConnection" "" "$ZPROJECT_SETTINGS" "literal"
|
setConfigurationValue "from zerver.lib.db import TimeTrackingConnection" "" "$ZPROJECT_SETTINGS" "literal"
|
||||||
VALUE="DATABASES = {
|
VALUE="DATABASES = {
|
||||||
'default': {
|
'default': {
|
||||||
@@ -216,8 +234,11 @@ databaseConfiguration() {
|
|||||||
},
|
},
|
||||||
}"
|
}"
|
||||||
setConfigurationValue "DATABASES" "$VALUE" "$ZPROJECT_SETTINGS" "array"
|
setConfigurationValue "DATABASES" "$VALUE" "$ZPROJECT_SETTINGS" "array"
|
||||||
|
sed -i "s~psycopg2.connect\(.*\)~psycopg2.connect(\"host=$DB_HOST port=$DB_HOST_PORT dbname=$DB_NAME user=$DB_USER password=$DB_PASS\")~g" /usr/local/bin/process_fts_updates
|
||||||
|
echo "Database configuration succeeded."
|
||||||
}
|
}
|
||||||
cacheRatelimitConfiguration() {
|
cacheRatelimitConfiguration() {
|
||||||
|
echo "Setting caches configuration ..."
|
||||||
VALUE="CACHES = {
|
VALUE="CACHES = {
|
||||||
'default': {
|
'default': {
|
||||||
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
|
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
|
||||||
@@ -235,27 +256,36 @@ cacheRatelimitConfiguration() {
|
|||||||
},
|
},
|
||||||
}"
|
}"
|
||||||
setConfigurationValue "CACHES" "$VALUE" "$ZPROJECT_SETTINGS" "array"
|
setConfigurationValue "CACHES" "$VALUE" "$ZPROJECT_SETTINGS" "array"
|
||||||
|
echo "Caches configuration succeeded."
|
||||||
}
|
}
|
||||||
authenticationBackends() {
|
authenticationBackends() {
|
||||||
|
echo "Activating authentication backends ..."
|
||||||
echo "$ZULIP_AUTH_BACKENDS" | sed -n 1'p' | tr ',' '\n' | while read AUTH_BACKEND; do
|
echo "$ZULIP_AUTH_BACKENDS" | sed -n 1'p' | tr ',' '\n' | while read AUTH_BACKEND; do
|
||||||
echo "Adding authentication backend \"$AUTH_BACKEND\"."
|
|
||||||
echo "AUTHENTICATION_BACKENDS += ('zproject.backends.${AUTH_BACKEND//\'/\'}',)" >> "$ZULIP_SETTINGS"
|
echo "AUTHENTICATION_BACKENDS += ('zproject.backends.${AUTH_BACKEND//\'/\'}',)" >> "$ZULIP_SETTINGS"
|
||||||
|
echo "Adding authentication backend \"$AUTH_BACKEND\"."
|
||||||
done
|
done
|
||||||
|
echo "Authentication backend activation succeeded."
|
||||||
}
|
}
|
||||||
redisConfiguration() {
|
redisConfiguration() {
|
||||||
|
echo "Setting redis configuration ..."
|
||||||
setConfigurationValue "RATE_LIMITING" "$REDIS_RATE_LIMITING" "$ZPROJECT_SETTINGS" "bool"
|
setConfigurationValue "RATE_LIMITING" "$REDIS_RATE_LIMITING" "$ZPROJECT_SETTINGS" "bool"
|
||||||
setConfigurationValue "REDIS_HOST" "$REDIS_HOST" "$ZPROJECT_SETTINGS"
|
setConfigurationValue "REDIS_HOST" "$REDIS_HOST" "$ZPROJECT_SETTINGS"
|
||||||
setConfigurationValue "REDIS_HOST_PORT" "$REDIS_HOST_PORT" "$ZPROJECT_SETTINGS" "int"
|
setConfigurationValue "REDIS_HOST_PORT" "$REDIS_HOST_PORT" "$ZPROJECT_SETTINGS" "int"
|
||||||
|
echo "Redis configuration succeeded."
|
||||||
}
|
}
|
||||||
rabbitmqConfiguration() {
|
rabbitmqConfiguration() {
|
||||||
|
echo "Setting rabbitmq configuration ..."
|
||||||
setConfigurationValue "RABBITMQ_HOST" "$RABBITMQ_HOST" "$ZPROJECT_SETTINGS"
|
setConfigurationValue "RABBITMQ_HOST" "$RABBITMQ_HOST" "$ZPROJECT_SETTINGS"
|
||||||
sed -i "s~pika.ConnectionParameters('localhost',~pika.ConnectionParameters(settings.RABBITMQ_HOST,~g" "$ZULIP_CURRENT_DEPLOY/zerver/lib/queue.py"
|
sed -i "s~pika.ConnectionParameters('localhost',~pika.ConnectionParameters(settings.RABBITMQ_HOST,~g" "$ZULIP_CURRENT_DEPLOY/zerver/lib/queue.py"
|
||||||
setConfigurationValue "RABBITMQ_USERNAME" "$RABBITMQ_USERNAME" "$ZPROJECT_SETTINGS"
|
setConfigurationValue "RABBITMQ_USERNAME" "$RABBITMQ_USERNAME" "$ZPROJECT_SETTINGS"
|
||||||
|
echo "Rabbitmq configuration succeeded."
|
||||||
}
|
}
|
||||||
camoConfiguration() {
|
camoConfiguration() {
|
||||||
setConfigurationValue "CAMO_URI" "$CAMO_URI" "$ZPROJECT_SETTINGS" "emptyreturn"
|
setConfigurationValue "CAMO_URI" "$CAMO_URI" "$ZPROJECT_SETTINGS" "emptyreturn"
|
||||||
}
|
}
|
||||||
zulipConfiguration() {
|
zulipConfiguration() {
|
||||||
|
echo "Executing Zulip configuration ..."
|
||||||
|
echo "==="
|
||||||
if [ ! -z "$ZULIP_CUSTOM_SETTINGS" ]; then
|
if [ ! -z "$ZULIP_CUSTOM_SETTINGS" ]; then
|
||||||
echo -e "\n$ZULIP_CUSTOM_SETTINGS" >> "$ZPROJECT_SETTINGS"
|
echo -e "\n$ZULIP_CUSTOM_SETTINGS" >> "$ZPROJECT_SETTINGS"
|
||||||
fi
|
fi
|
||||||
@@ -271,14 +301,39 @@ zulipConfiguration() {
|
|||||||
echo "Set key \"$SETTING_KEY\"."
|
echo "Set key \"$SETTING_KEY\"."
|
||||||
done
|
done
|
||||||
unset SETTING_KEY SETTING_VAR KEY
|
unset SETTING_KEY SETTING_VAR KEY
|
||||||
|
if ! su zulip -c "/home/zulip/deployments/current/manage.py checkconfig"; then
|
||||||
|
echo "Error in Zulip configuration."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "==="
|
||||||
|
echo "Zulip configuration succeeded."
|
||||||
|
}
|
||||||
|
log2zulipConfiguration() {
|
||||||
|
echo "log2zulip is currently not fully implemented. Stay tuned."
|
||||||
|
if [ "$LOG2ZULIP_ENABLED" != "True" ] || [ "$LOG2ZULIP_ENABLED" != "true" ]; then
|
||||||
|
rm -f /etc/cron/conf.d/log2zulip
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
echo "Executing Log2Zulip configuration ..."
|
||||||
|
echo "==="
|
||||||
|
if ([ "$LOG2ZULIP_AUTO_CREATE" != "True" ] || [ "$LOG2ZULIP_AUTO_CREATE" != "true" ]) && [ ! -z "$LOG2ZULIP_EMAIL" ] && [ ! -z "$LOG2ZULIP_API_KEY" ] && [ ! -z "$LOG2ZULIP_SITE" ]; then
|
||||||
|
sed -i "s/email = .*/email = $LOG2ZULIP_EMAIL/g" /etc/log2zulip.zuliprc
|
||||||
|
sed -i "s/key = .*/key = $LOG2ZULIP_API_KEY/g" /etc/log2zulip.zuliprc
|
||||||
|
sed -i "s/site = .*/site = $LOG2ZULIP_SITE/g" /etc/log2zulip.zuliprc
|
||||||
|
LOGFILES="["
|
||||||
|
echo "$LOG2ZULIP_LOGFILES" | sed -n 1'p' | tr ',' '\n' | while read LOG_FILE; do
|
||||||
|
LOGFILES="$LOGFILES\"${LOG_FILE//\"/\"}\","
|
||||||
|
echo "Adding log file \"$LOG_FILE\"."
|
||||||
|
done
|
||||||
|
echo "$(echo "$LOGFILES" | sed 's/,$//g')]" > /etc/log2zulip.conf
|
||||||
|
fi
|
||||||
|
echo "==="
|
||||||
|
echo "Log2Zulip configuration succeeded."
|
||||||
}
|
}
|
||||||
initialConfiguration() {
|
initialConfiguration() {
|
||||||
|
echo "=== Begin Initial Configuration Phase ==="
|
||||||
secretsConfiguration
|
secretsConfiguration
|
||||||
configureCerts
|
configureCerts
|
||||||
if [ ! -e "$DATA_DIR/zulip-settings.py" ]; then
|
|
||||||
mv -f /etc/zulip/settings.py "$DATA_DIR/zulip-settings.py"
|
|
||||||
fi
|
|
||||||
ln -sfT "$DATA_DIR/zulip-settings.py" /etc/zulip/settings.py
|
|
||||||
databaseConfiguration
|
databaseConfiguration
|
||||||
cacheRatelimitConfiguration
|
cacheRatelimitConfiguration
|
||||||
authenticationBackends
|
authenticationBackends
|
||||||
@@ -286,6 +341,8 @@ initialConfiguration() {
|
|||||||
rabbitmqConfiguration
|
rabbitmqConfiguration
|
||||||
camoConfiguration
|
camoConfiguration
|
||||||
zulipConfiguration
|
zulipConfiguration
|
||||||
|
log2zulipConfiguration
|
||||||
|
echo "=== End Initial Configuration Phase ==="
|
||||||
}
|
}
|
||||||
# === bootstrappingEnvironment ===
|
# === bootstrappingEnvironment ===
|
||||||
waitingForDatabase() {
|
waitingForDatabase() {
|
||||||
@@ -331,7 +388,7 @@ bootstrapRabbitMQ() {
|
|||||||
rabbitmqctl -n "$RABBITMQ_HOST" set_user_tags "$RABBITMQ_USERNAME" administrator || :
|
rabbitmqctl -n "$RABBITMQ_HOST" set_user_tags "$RABBITMQ_USERNAME" administrator || :
|
||||||
echo "RabbitMQ setting permissions for user \"$RABBITMQ_USERNAME\"."
|
echo "RabbitMQ setting permissions for user \"$RABBITMQ_USERNAME\"."
|
||||||
rabbitmqctl -n "$RABBITMQ_HOST" set_permissions -p / "$RABBITMQ_USERNAME" '.*' '.*' '.*' || :
|
rabbitmqctl -n "$RABBITMQ_HOST" set_permissions -p / "$RABBITMQ_USERNAME" '.*' '.*' '.*' || :
|
||||||
echo "RabbitMQ bootstrap done."
|
echo "RabbitMQ bootstrap succeeded."
|
||||||
}
|
}
|
||||||
zulipFirstStartInit() {
|
zulipFirstStartInit() {
|
||||||
if [ -z "$FORCE_INIT" ] || [ -e "$DATA_DIR/.initiated" ]; then
|
if [ -z "$FORCE_INIT" ] || [ -e "$DATA_DIR/.initiated" ]; then
|
||||||
@@ -379,14 +436,16 @@ zulipMigration() {
|
|||||||
rm -rf "$DATA_DIR/.zulip-*"
|
rm -rf "$DATA_DIR/.zulip-*"
|
||||||
touch "$DATA_DIR/.zulip-$ZULIP_VERSION"
|
touch "$DATA_DIR/.zulip-$ZULIP_VERSION"
|
||||||
echo "==="
|
echo "==="
|
||||||
echo "Zulip migration done."
|
echo "Zulip migration succeeded."
|
||||||
}
|
}
|
||||||
bootstrappingEnvironment() {
|
bootstrappingEnvironment() {
|
||||||
|
echo "=== Begin Bootstrap Phase ==="
|
||||||
waitingForDatabase
|
waitingForDatabase
|
||||||
bootstrapDatabase
|
bootstrapDatabase
|
||||||
bootstrapRabbitMQ
|
bootstrapRabbitMQ
|
||||||
zulipFirstStartInit
|
zulipFirstStartInit
|
||||||
zulipMigration
|
zulipMigration
|
||||||
|
echo "=== End Bootstrap Phase ==="
|
||||||
}
|
}
|
||||||
# END appRun functionss
|
# END appRun functionss
|
||||||
appHelp() {
|
appHelp() {
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ class zulip::app_frontend {
|
|||||||
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",
|
||||||
@@ -85,6 +86,7 @@ class zulip::app_frontend {
|
|||||||
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",
|
||||||
@@ -92,12 +94,14 @@ class zulip::app_frontend {
|
|||||||
mode => 644,
|
mode => 644,
|
||||||
source => "puppet:///modules/zulip/nginx/zulip-include-frontend/uploads.types",
|
source => "puppet:///modules/zulip/nginx/zulip-include-frontend/uploads.types",
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/etc/nginx/zulip-include/app.d/":
|
file { "/etc/nginx/zulip-include/app.d/":
|
||||||
ensure => directory,
|
ensure => directory,
|
||||||
owner => "root",
|
owner => "root",
|
||||||
group => "root",
|
group => "root",
|
||||||
mode => 755,
|
mode => 755,
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/etc/supervisor/conf.d/zulip.conf":
|
file { "/etc/supervisor/conf.d/zulip.conf":
|
||||||
require => Package[supervisor],
|
require => Package[supervisor],
|
||||||
ensure => file,
|
ensure => file,
|
||||||
@@ -106,25 +110,30 @@ class zulip::app_frontend {
|
|||||||
mode => 644,
|
mode => 644,
|
||||||
source => "puppet:///modules/zulip/supervisor/conf.d/zulip.conf",
|
source => "puppet:///modules/zulip/supervisor/conf.d/zulip.conf",
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/home/zulip/tornado":
|
file { "/home/zulip/tornado":
|
||||||
ensure => directory,
|
ensure => directory,
|
||||||
owner => "zulip",
|
owner => "zulip",
|
||||||
group => "zulip",
|
group => "zulip",
|
||||||
mode => 755,
|
mode => 755,
|
||||||
}
|
}
|
||||||
|
|
||||||
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":
|
||||||
ensure => absent,
|
ensure => absent,
|
||||||
}
|
}
|
||||||
|
|
||||||
file { '/etc/log2zulip.conf':
|
file { '/etc/log2zulip.conf':
|
||||||
ensure => file,
|
ensure => file,
|
||||||
owner => "zulip",
|
owner => "zulip",
|
||||||
@@ -132,6 +141,7 @@ class zulip::app_frontend {
|
|||||||
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",
|
||||||
@@ -139,6 +149,7 @@ class zulip::app_frontend {
|
|||||||
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",
|
||||||
@@ -146,6 +157,7 @@ class zulip::app_frontend {
|
|||||||
mode => 644,
|
mode => 644,
|
||||||
source => "puppet:///modules/zulip/cron.d/check-apns-tokens",
|
source => "puppet:///modules/zulip/cron.d/check-apns-tokens",
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/etc/supervisor/conf.d/cron.conf":
|
file { "/etc/supervisor/conf.d/cron.conf":
|
||||||
require => Package[supervisor],
|
require => Package[supervisor],
|
||||||
ensure => file,
|
ensure => file,
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
class zulip::postgres_common {
|
class zulip::postgres_common {
|
||||||
$postgres_packages = [# The database itself
|
$postgres_packages = [# Python modules used in our monitoring/worker threads
|
||||||
"postgresql-9.3",
|
|
||||||
# Python modules used in our monitoring/worker threads
|
|
||||||
"python-gevent",
|
"python-gevent",
|
||||||
"python-tz",
|
"python-tz",
|
||||||
"python-dateutil",
|
"python-dateutil",
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ class zulip::rabbit {
|
|||||||
mode => 644,
|
mode => 644,
|
||||||
source => "puppet:///modules/zulip/cron.d/rabbitmq-queuesize",
|
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,
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ class zulip::voyager {
|
|||||||
mode => 644,
|
mode => 644,
|
||||||
source => "puppet:///modules/zulip/cron.d/restart-zulip",
|
source => "puppet:///modules/zulip/cron.d/restart-zulip",
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/etc/supervisor/conf.d/zulip_postsetup.conf":
|
file { "/etc/supervisor/conf.d/zulip_postsetup.conf":
|
||||||
require => Package[supervisor],
|
require => Package[supervisor],
|
||||||
ensure => file,
|
ensure => file,
|
||||||
@@ -48,6 +49,7 @@ class zulip::voyager {
|
|||||||
mode => 644,
|
mode => 644,
|
||||||
source => "puppet:///modules/zulip/supervisor/conf.d/zulip_postsetup.conf",
|
source => "puppet:///modules/zulip/supervisor/conf.d/zulip_postsetup.conf",
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/opt/setupZulipUser.sh":
|
file { "/opt/setupZulipUser.sh":
|
||||||
ensure => file,
|
ensure => file,
|
||||||
owner => "root",
|
owner => "root",
|
||||||
|
|||||||
Reference in New Issue
Block a user