mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
Rename local server => enterprise in some scripts.
(imported from commit 98cdb4c2e1be5a6abb59821eb32f749c058b773b)
This commit is contained in:
61
scripts/setup/generate_enterprise_secrets.py
Executable file
61
scripts/setup/generate_enterprise_secrets.py
Executable file
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env python
|
||||
# This tools generates local_settings_generated.py using the template
|
||||
|
||||
import sys, os, os.path
|
||||
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..'))
|
||||
os.environ['DJANGO_SETTINGS_MODULE'] = 'zproject.settings'
|
||||
|
||||
from django.utils.crypto import get_random_string
|
||||
from zerver.lib.utils import generate_random_token
|
||||
|
||||
SETTINGS_FILENAME = "zproject/local_settings_template.py"
|
||||
OUTPUT_SETTINGS_FILENAME = "zproject/local_settings_generated.py"
|
||||
CAMO_CONFIG_FILENAME = '/etc/default/camo'
|
||||
|
||||
if not os.path.exists(SETTINGS_FILENAME):
|
||||
print "Unable to find settings file at %s" % (SETTINGS_FILENAME,)
|
||||
|
||||
AUTOGENERATED_SETTINGS = ['SHARED_SECRET', 'HASH_SALT', 'AVATAR_SALT', 'RABBITMQ_PASSWORD']
|
||||
|
||||
def generate_camo_config_file(camo_key):
|
||||
camo_config = """ENABLED=yes
|
||||
PORT=9292
|
||||
CAMO_KEY=%s
|
||||
""" % (camo_key,)
|
||||
with open(CAMO_CONFIG_FILENAME, 'w') as camo_file:
|
||||
camo_file.write(camo_config)
|
||||
print "Generated Camo config file %s" % (CAMO_CONFIG_FILENAME,)
|
||||
|
||||
def generate_django_secretkey():
|
||||
# Secret key generation taken from Django's startproject.py
|
||||
chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
|
||||
return get_random_string(50, chars)
|
||||
|
||||
if __name__ == '__main__':
|
||||
f = open(SETTINGS_FILENAME, 'r')
|
||||
lines = f.readlines()
|
||||
|
||||
for idx, line in enumerate(lines):
|
||||
parts = [part.strip() for part in line.split('=')]
|
||||
if len(parts) != 2:
|
||||
continue
|
||||
|
||||
def config_line(var, value):
|
||||
return "%s = '%s'\n" % (var, value)
|
||||
|
||||
if parts[0] in AUTOGENERATED_SETTINGS:
|
||||
lines[idx] = config_line(parts[0], generate_random_token(64))
|
||||
elif parts[0] == 'SECRET_KEY':
|
||||
lines[idx] = config_line("SECRET_KEY", generate_django_secretkey())
|
||||
elif parts[0] == 'CAMO_KEY':
|
||||
camo_key = get_random_string(64)
|
||||
lines[idx] = config_line(parts[0], camo_key)
|
||||
# Write the Camo config file directly
|
||||
generate_camo_config_file(camo_key)
|
||||
|
||||
out = open(OUTPUT_SETTINGS_FILENAME, 'w')
|
||||
out.write("".join(lines))
|
||||
out.close()
|
||||
|
||||
print "Generated %s with auto-generated secrets!" % (OUTPUT_SETTINGS_FILENAME,)
|
||||
Reference in New Issue
Block a user