49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
import yaml
|
|
|
|
from random import SystemRandom
|
|
|
|
def generate_secret_key():
|
|
cryptogen = SystemRandom()
|
|
return str(cryptogen.getrandbits(256))
|
|
|
|
|
|
def add_enterprise_config_defaults(config_obj, current_secret_key, hostname):
|
|
""" Adds/Sets the config defaults for enterprise registry config. """
|
|
# These have to be false.
|
|
config_obj['TESTING'] = False
|
|
config_obj['USE_CDN'] = False
|
|
|
|
# Default features that are on.
|
|
config_obj['FEATURE_USER_LOG_ACCESS'] = config_obj.get('FEATURE_USER_LOG_ACCESS', True)
|
|
config_obj['FEATURE_USER_CREATION'] = config_obj.get('FEATURE_USER_CREATION', True)
|
|
config_obj['FEATURE_ANONYMOUS_ACCESS'] = config_obj.get('FEATURE_ANONYMOUS_ACCESS', True)
|
|
|
|
# Default features that are off.
|
|
config_obj['FEATURE_MAILING'] = config_obj.get('FEATURE_MAILING', False)
|
|
config_obj['FEATURE_BUILD_SUPPORT'] = config_obj.get('FEATURE_BUILD_SUPPORT', False)
|
|
|
|
# Default auth type.
|
|
if not 'AUTHENTICATION_TYPE' in config_obj:
|
|
config_obj['AUTHENTICATION_TYPE'] = 'Database'
|
|
|
|
# Default secret key.
|
|
if not 'SECRET_KEY' in config_obj:
|
|
config_obj['SECRET_KEY'] = current_secret_key
|
|
|
|
# Default storage configuration.
|
|
if not 'DISTRIBUTED_STORAGE_CONFIG' in config_obj:
|
|
config_obj['DISTRIBUTED_STORAGE_PREFERENCE'] = ['local']
|
|
config_obj['DISTRIBUTED_STORAGE_CONFIG'] = {
|
|
'local': ['LocalStorage', {'storage_path': '/datastorage/registry'}]
|
|
}
|
|
|
|
config_obj['USERFILES_LOCATION'] = 'local'
|
|
config_obj['USERFILES_PATH'] = 'userfiles/'
|
|
|
|
if not 'SERVER_HOSTNAME' in config_obj:
|
|
config_obj['SERVER_HOSTNAME'] = hostname
|
|
|
|
# Misc configuration.
|
|
config_obj['PREFERRED_URL_SCHEME'] = config_obj.get('PREFERRED_URL_SCHEME', 'http')
|
|
config_obj['ENTERPRISE_LOGO_URL'] = config_obj.get('ENTERPRISE_LOGO_URL',
|
|
'/static/img/quay-logo.png')
|