2015-01-04 19:38:41 +00:00
|
|
|
import yaml
|
|
|
|
|
|
|
|
from random import SystemRandom
|
|
|
|
|
|
|
|
def generate_secret_key():
|
|
|
|
cryptogen = SystemRandom()
|
|
|
|
return str(cryptogen.getrandbits(256))
|
|
|
|
|
|
|
|
|
2015-01-05 18:01:32 +00:00
|
|
|
def add_enterprise_config_defaults(config_obj, current_secret_key, hostname):
|
2015-01-04 19:38:41 +00:00
|
|
|
""" 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)
|
2015-05-19 21:52:44 +00:00
|
|
|
config_obj['FEATURE_ANONYMOUS_ACCESS'] = config_obj.get('FEATURE_ANONYMOUS_ACCESS', True)
|
2015-01-04 19:38:41 +00:00
|
|
|
|
|
|
|
# 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)
|
2016-02-16 20:31:23 +00:00
|
|
|
config_obj['FEATURE_ACI_CONVERSION'] = config_obj.get('FEATURE_ACI_CONVERSION', True)
|
|
|
|
|
|
|
|
# Default the signer config.
|
|
|
|
config_obj['GPG2_PRIVATE_KEY_FILENAME'] = config_obj.get('GPG2_PRIVATE_KEY_FILENAME',
|
|
|
|
'signing-private.gpg')
|
|
|
|
config_obj['GPG2_PUBLIC_KEY_FILENAME'] = config_obj.get('GPG2_PUBLIC_KEY_FILENAME',
|
|
|
|
'signing-public.gpg')
|
|
|
|
config_obj['SIGNING_ENGINE'] = config_obj.get('SIGNING_ENGINE', 'gpg2')
|
2015-01-04 19:38:41 +00:00
|
|
|
|
2015-01-05 18:01:32 +00:00
|
|
|
# Default auth type.
|
|
|
|
if not 'AUTHENTICATION_TYPE' in config_obj:
|
|
|
|
config_obj['AUTHENTICATION_TYPE'] = 'Database'
|
|
|
|
|
2015-01-04 19:38:41 +00:00
|
|
|
# Default secret key.
|
|
|
|
if not 'SECRET_KEY' in config_obj:
|
2015-01-05 17:31:02 +00:00
|
|
|
config_obj['SECRET_KEY'] = current_secret_key
|
2015-01-04 19:38:41 +00:00
|
|
|
|
|
|
|
# Default storage configuration.
|
|
|
|
if not 'DISTRIBUTED_STORAGE_CONFIG' in config_obj:
|
2015-10-26 23:06:05 +00:00
|
|
|
config_obj['DISTRIBUTED_STORAGE_PREFERENCE'] = ['default']
|
2015-01-04 19:38:41 +00:00
|
|
|
config_obj['DISTRIBUTED_STORAGE_CONFIG'] = {
|
2015-10-26 23:06:05 +00:00
|
|
|
'default': ['LocalStorage', {'storage_path': '/datastorage/registry'}]
|
2015-01-04 19:38:41 +00:00
|
|
|
}
|
|
|
|
|
2015-10-26 23:06:05 +00:00
|
|
|
config_obj['USERFILES_LOCATION'] = 'default'
|
2015-01-04 19:38:41 +00:00
|
|
|
config_obj['USERFILES_PATH'] = 'userfiles/'
|
|
|
|
|
2015-10-26 23:06:05 +00:00
|
|
|
config_obj['LOG_ARCHIVE_LOCATION'] = 'default'
|
2015-06-11 17:43:29 +00:00
|
|
|
|
2015-01-05 18:01:32 +00:00
|
|
|
if not 'SERVER_HOSTNAME' in config_obj:
|
|
|
|
config_obj['SERVER_HOSTNAME'] = hostname
|
|
|
|
|
2015-01-04 19:38:41 +00:00
|
|
|
# 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')
|