mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
settings: Classify DEFAULT_SETTINGS by audience.
This will help identify the settings that need attention: either
to remove, or to document for server admins, or to just add a
comment to explain.
Identified with the following shell "one-liner" (one 313-char line
as I originally ran it; indentation added here for clarity):
perl -lne 'next unless (/^DEFAULT_SETTINGS/../\}\)?$/);
next unless (/'\''(.*?)'\''/);
print $1' \
zproject/settings.py \
| while read var; do \
echo -n "$var: "; \
(grep -lw "$var" zproject/{prod_settings_template,{dev,test}_settings}.py \
|| echo none) \
| sed s,zproject/,,g \
| fmt -w1000; \
done
This commit is contained in:
@@ -98,47 +98,110 @@ else:
|
|||||||
# DEFAULT VALUES FOR SETTINGS
|
# DEFAULT VALUES FOR SETTINGS
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|
||||||
# For any settings that are not defined in prod_settings.py,
|
# For any settings that are not set in the site-specific configuration file
|
||||||
# we want to initialize them to sane default
|
# (/etc/zulip/settings.py in production, or dev_settings.py or test_settings.py
|
||||||
|
# in dev and test), we want to initialize them to sane defaults.
|
||||||
|
|
||||||
|
# These settings are intended for the server admin to set. We document them in
|
||||||
|
# prod_settings_template.py, and in the initial /etc/zulip/settings.py on a new
|
||||||
|
# install of the Zulip server.
|
||||||
DEFAULT_SETTINGS = {
|
DEFAULT_SETTINGS = {
|
||||||
'EMAIL_GATEWAY_PATTERN': '',
|
'EMAIL_GATEWAY_PATTERN': '',
|
||||||
'EMAIL_GATEWAY_EXAMPLE': '',
|
|
||||||
'EMAIL_GATEWAY_BOT': None,
|
|
||||||
'EMAIL_GATEWAY_LOGIN': None,
|
'EMAIL_GATEWAY_LOGIN': None,
|
||||||
'EMAIL_GATEWAY_PASSWORD': None,
|
|
||||||
'EMAIL_GATEWAY_IMAP_SERVER': None,
|
'EMAIL_GATEWAY_IMAP_SERVER': None,
|
||||||
'EMAIL_GATEWAY_IMAP_PORT': None,
|
'EMAIL_GATEWAY_IMAP_PORT': None,
|
||||||
'EMAIL_GATEWAY_IMAP_FOLDER': None,
|
'EMAIL_GATEWAY_IMAP_FOLDER': None,
|
||||||
'EMAIL_GATEWAY_EXTRA_PATTERN_HACK': None,
|
|
||||||
'EMAIL_HOST': None,
|
'EMAIL_HOST': None,
|
||||||
'EMAIL_BACKEND': None,
|
|
||||||
'NOREPLY_EMAIL_ADDRESS': "noreply@" + EXTERNAL_HOST.split(":")[0],
|
'NOREPLY_EMAIL_ADDRESS': "noreply@" + EXTERNAL_HOST.split(":")[0],
|
||||||
'STAGING': False,
|
|
||||||
'S3_AVATAR_BUCKET': '',
|
'S3_AVATAR_BUCKET': '',
|
||||||
'LOCAL_UPLOADS_DIR': None,
|
'LOCAL_UPLOADS_DIR': None,
|
||||||
'DATA_UPLOAD_MAX_MEMORY_SIZE': 25 * 1024 * 1024,
|
|
||||||
'MAX_FILE_UPLOAD_SIZE': 25,
|
'MAX_FILE_UPLOAD_SIZE': 25,
|
||||||
'MAX_AVATAR_FILE_SIZE': 5,
|
|
||||||
'MAX_ICON_FILE_SIZE': 5,
|
|
||||||
'MAX_EMOJI_FILE_SIZE': 5,
|
|
||||||
'ERROR_REPORTING': True,
|
'ERROR_REPORTING': True,
|
||||||
'BROWSER_ERROR_REPORTING': False,
|
'BROWSER_ERROR_REPORTING': False,
|
||||||
'STAGING_ERROR_NOTIFICATIONS': False,
|
|
||||||
'EVENT_LOGS_ENABLED': False,
|
|
||||||
'SAVE_FRONTEND_STACKTRACES': False,
|
|
||||||
'LOGGING_SHOW_MODULE': False,
|
'LOGGING_SHOW_MODULE': False,
|
||||||
'JWT_AUTH_KEYS': {},
|
|
||||||
'NAME_CHANGES_DISABLED': False,
|
'NAME_CHANGES_DISABLED': False,
|
||||||
'DEPLOYMENT_ROLE_NAME': "",
|
|
||||||
'RABBITMQ_HOST': 'localhost',
|
'RABBITMQ_HOST': 'localhost',
|
||||||
'RABBITMQ_USERNAME': 'zulip',
|
'RABBITMQ_USERNAME': 'zulip',
|
||||||
'MEMCACHED_LOCATION': '127.0.0.1:11211',
|
'MEMCACHED_LOCATION': '127.0.0.1:11211',
|
||||||
'RATE_LIMITING': True,
|
'RATE_LIMITING': True,
|
||||||
'REDIS_HOST': '127.0.0.1',
|
'REDIS_HOST': '127.0.0.1',
|
||||||
'REDIS_PORT': 6379,
|
'REDIS_PORT': 6379,
|
||||||
|
'INLINE_IMAGE_PREVIEW': True,
|
||||||
|
'INLINE_URL_EMBED_PREVIEW': False,
|
||||||
|
'CAMO_URI': '',
|
||||||
|
'ENABLE_FEEDBACK': PRODUCTION,
|
||||||
|
'FEEDBACK_EMAIL': None,
|
||||||
|
'ENABLE_GRAVATAR': True,
|
||||||
|
'DEFAULT_AVATAR_URI': '/static/images/default-avatar.png',
|
||||||
|
'AUTH_LDAP_SERVER_URI': "",
|
||||||
|
'LDAP_EMAIL_ATTR': None,
|
||||||
|
'REMOTE_POSTGRES_HOST': '',
|
||||||
|
'REMOTE_POSTGRES_SSLMODE': '',
|
||||||
|
'SOCIAL_AUTH_GITHUB_KEY': None,
|
||||||
|
'SOCIAL_AUTH_GITHUB_ORG_NAME': None,
|
||||||
|
'SOCIAL_AUTH_GITHUB_TEAM_ID': None,
|
||||||
|
'GOOGLE_OAUTH2_CLIENT_ID': None,
|
||||||
|
'TERMS_OF_SERVICE': None,
|
||||||
|
'ENABLE_FILE_LINKS': False,
|
||||||
|
'PASSWORD_MIN_LENGTH': 6,
|
||||||
|
'PASSWORD_MIN_ZXCVBN_QUALITY': 0.5,
|
||||||
|
'PUSH_NOTIFICATION_BOUNCER_URL': None,
|
||||||
|
}
|
||||||
|
|
||||||
|
# These settings are not documented in prod_settings_template.py.
|
||||||
|
# They should either be documented here, or documented there.
|
||||||
|
#
|
||||||
|
# Settings that it makes sense to document here instead of in
|
||||||
|
# prod_settings_template.py are those that
|
||||||
|
# * don't make sense to change in production, but rather are intended
|
||||||
|
# for dev and test environments; or
|
||||||
|
# * don't make sense to change on a typical production server with
|
||||||
|
# one or a handful of realms, though they might on an installation
|
||||||
|
# like zulipchat.com.
|
||||||
|
DEFAULT_SETTINGS.update({
|
||||||
|
|
||||||
# The following bots are optional system bots.
|
# The following bots are optional system bots.
|
||||||
'ERROR_BOT': None,
|
'ERROR_BOT': None,
|
||||||
'NEW_USER_BOT': None,
|
'NEW_USER_BOT': None,
|
||||||
|
|
||||||
|
# Structurally, we will probably eventually merge
|
||||||
|
# analytics into part of the main server, rather
|
||||||
|
# than a separate app.
|
||||||
|
'EXTRA_INSTALLED_APPS': ['analytics'],
|
||||||
|
|
||||||
|
# Default GOOGLE_CLIENT_ID to the value needed for Android auth to work
|
||||||
|
'GOOGLE_CLIENT_ID': '835904834568-77mtr5mtmpgspj9b051del9i9r5t4g4n.apps.googleusercontent.com',
|
||||||
|
|
||||||
|
# These are undocumented, but we do set them in dev_settings.py or
|
||||||
|
# test_settings.py .
|
||||||
|
# TODO: document them.
|
||||||
|
'EMAIL_GATEWAY_BOT': None,
|
||||||
|
'EMAIL_BACKEND': None,
|
||||||
|
'EVENT_LOGS_ENABLED': False,
|
||||||
|
'SAVE_FRONTEND_STACKTRACES': False,
|
||||||
|
'SEND_LOGIN_EMAILS': True,
|
||||||
|
'EXTERNAL_URI_SCHEME': "https://",
|
||||||
|
'OPEN_REALM_CREATION': False,
|
||||||
|
'REALMS_HAVE_SUBDOMAINS': True,
|
||||||
|
'SYSTEM_ONLY_REALMS': {"zulip"},
|
||||||
|
'USING_PGROONGA': False,
|
||||||
|
'POST_MIGRATION_CACHE_FLUSHING': False,
|
||||||
|
'ANALYTICS_LOCK_DIR': "/home/zulip/deployments/analytics-lock-dir",
|
||||||
|
|
||||||
|
# These are undocumented, and we don't set them in dev_settings.py
|
||||||
|
# or test_settings.py , either.
|
||||||
|
# TODO: document them.
|
||||||
|
'EMAIL_GATEWAY_EXAMPLE': '',
|
||||||
|
'EMAIL_GATEWAY_PASSWORD': None,
|
||||||
|
'EMAIL_GATEWAY_EXTRA_PATTERN_HACK': None,
|
||||||
|
'STAGING': False,
|
||||||
|
'DATA_UPLOAD_MAX_MEMORY_SIZE': 25 * 1024 * 1024,
|
||||||
|
'MAX_AVATAR_FILE_SIZE': 5,
|
||||||
|
'MAX_ICON_FILE_SIZE': 5,
|
||||||
|
'MAX_EMOJI_FILE_SIZE': 5,
|
||||||
|
'STAGING_ERROR_NOTIFICATIONS': False,
|
||||||
|
'JWT_AUTH_KEYS': {},
|
||||||
|
'DEPLOYMENT_ROLE_NAME': "",
|
||||||
'NAGIOS_STAGING_SEND_BOT': None,
|
'NAGIOS_STAGING_SEND_BOT': None,
|
||||||
'NAGIOS_STAGING_RECEIVE_BOT': None,
|
'NAGIOS_STAGING_RECEIVE_BOT': None,
|
||||||
'APNS_CERT_FILE': None,
|
'APNS_CERT_FILE': None,
|
||||||
@@ -149,22 +212,11 @@ DEFAULT_SETTINGS = {
|
|||||||
'FEEDBACK_BOT': 'feedback@zulip.com',
|
'FEEDBACK_BOT': 'feedback@zulip.com',
|
||||||
'FEEDBACK_BOT_NAME': 'Zulip Feedback Bot',
|
'FEEDBACK_BOT_NAME': 'Zulip Feedback Bot',
|
||||||
'ADMINS': '',
|
'ADMINS': '',
|
||||||
'INLINE_IMAGE_PREVIEW': True,
|
|
||||||
'INLINE_URL_EMBED_PREVIEW': False,
|
|
||||||
'CAMO_URI': '',
|
|
||||||
'ENABLE_FEEDBACK': PRODUCTION,
|
|
||||||
'SEND_MISSED_MESSAGE_EMAILS_AS_USER': False,
|
'SEND_MISSED_MESSAGE_EMAILS_AS_USER': False,
|
||||||
'SEND_LOGIN_EMAILS': True,
|
|
||||||
'SERVER_EMAIL': None,
|
'SERVER_EMAIL': None,
|
||||||
'FEEDBACK_EMAIL': None,
|
|
||||||
'FEEDBACK_STREAM': None,
|
'FEEDBACK_STREAM': None,
|
||||||
'WELCOME_EMAIL_SENDER': None,
|
'WELCOME_EMAIL_SENDER': None,
|
||||||
'EMAIL_DELIVERER_DISABLED': False,
|
'EMAIL_DELIVERER_DISABLED': False,
|
||||||
'ENABLE_GRAVATAR': True,
|
|
||||||
'DEFAULT_AVATAR_URI': '/static/images/default-avatar.png',
|
|
||||||
'AUTH_LDAP_SERVER_URI': "",
|
|
||||||
'LDAP_EMAIL_ATTR': None,
|
|
||||||
'EXTERNAL_URI_SCHEME': "https://",
|
|
||||||
'REGISTER_LINK_DISABLED': False,
|
'REGISTER_LINK_DISABLED': False,
|
||||||
'LOGIN_LINK_DISABLED': False,
|
'LOGIN_LINK_DISABLED': False,
|
||||||
'ABOUT_LINK_DISABLED': False,
|
'ABOUT_LINK_DISABLED': False,
|
||||||
@@ -172,42 +224,22 @@ DEFAULT_SETTINGS = {
|
|||||||
'CUSTOM_LOGO_URL': None,
|
'CUSTOM_LOGO_URL': None,
|
||||||
'VERBOSE_SUPPORT_OFFERS': False,
|
'VERBOSE_SUPPORT_OFFERS': False,
|
||||||
'STATSD_HOST': '',
|
'STATSD_HOST': '',
|
||||||
'OPEN_REALM_CREATION': False,
|
|
||||||
'REALMS_HAVE_SUBDOMAINS': True,
|
|
||||||
'ROOT_DOMAIN_LANDING_PAGE': False,
|
'ROOT_DOMAIN_LANDING_PAGE': False,
|
||||||
'ROOT_SUBDOMAIN_ALIASES': ["www"],
|
'ROOT_SUBDOMAIN_ALIASES': ["www"],
|
||||||
'REMOTE_POSTGRES_HOST': '',
|
|
||||||
'REMOTE_POSTGRES_SSLMODE': '',
|
|
||||||
# Default GOOGLE_CLIENT_ID to the value needed for Android auth to work
|
|
||||||
'GOOGLE_CLIENT_ID': '835904834568-77mtr5mtmpgspj9b051del9i9r5t4g4n.apps.googleusercontent.com',
|
|
||||||
'SOCIAL_AUTH_GITHUB_KEY': None,
|
|
||||||
'SOCIAL_AUTH_GITHUB_ORG_NAME': None,
|
|
||||||
'SOCIAL_AUTH_GITHUB_TEAM_ID': None,
|
|
||||||
'GOOGLE_OAUTH2_CLIENT_ID': None,
|
|
||||||
'SOCIAL_AUTH_FIELDS_STORED_IN_SESSION': ['subdomain', 'is_signup'],
|
'SOCIAL_AUTH_FIELDS_STORED_IN_SESSION': ['subdomain', 'is_signup'],
|
||||||
'PERSONAL_ZMIRROR_SERVER': None,
|
'PERSONAL_ZMIRROR_SERVER': None,
|
||||||
# Structurally, we will probably eventually merge
|
|
||||||
# analytics into part of the main server, rather
|
|
||||||
# than a separate app.
|
|
||||||
'EXTRA_INSTALLED_APPS': ['analytics'],
|
|
||||||
'CONFIRMATION_LINK_DEFAULT_VALIDITY_DAYS': 1,
|
'CONFIRMATION_LINK_DEFAULT_VALIDITY_DAYS': 1,
|
||||||
'INVITATION_LINK_VALIDITY_DAYS': 10,
|
'INVITATION_LINK_VALIDITY_DAYS': 10,
|
||||||
'REALM_CREATION_LINK_VALIDITY_DAYS': 7,
|
'REALM_CREATION_LINK_VALIDITY_DAYS': 7,
|
||||||
'TERMS_OF_SERVICE': None,
|
|
||||||
'PRIVACY_POLICY': None,
|
'PRIVACY_POLICY': None,
|
||||||
'TOS_VERSION': None,
|
'TOS_VERSION': None,
|
||||||
'SYSTEM_ONLY_REALMS': {"zulip"},
|
|
||||||
'FIRST_TIME_TOS_TEMPLATE': None,
|
'FIRST_TIME_TOS_TEMPLATE': None,
|
||||||
'USING_PGROONGA': False,
|
|
||||||
'POST_MIGRATION_CACHE_FLUSHING': False,
|
|
||||||
'ENABLE_FILE_LINKS': False,
|
|
||||||
'USE_WEBSOCKETS': True,
|
'USE_WEBSOCKETS': True,
|
||||||
'ANALYTICS_LOCK_DIR': "/home/zulip/deployments/analytics-lock-dir",
|
|
||||||
'PASSWORD_MIN_LENGTH': 6,
|
|
||||||
'PASSWORD_MIN_ZXCVBN_QUALITY': 0.5,
|
|
||||||
'OFFLINE_THRESHOLD_SECS': 5 * 60,
|
'OFFLINE_THRESHOLD_SECS': 5 * 60,
|
||||||
'PUSH_NOTIFICATION_BOUNCER_URL': None,
|
# (Don't put new settings here -- document them, and put them
|
||||||
}
|
# next to the other documented settings above.)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
for setting_name, setting_val in DEFAULT_SETTINGS.items():
|
for setting_name, setting_val in DEFAULT_SETTINGS.items():
|
||||||
if setting_name not in vars():
|
if setting_name not in vars():
|
||||||
|
|||||||
Reference in New Issue
Block a user