09cc4ba4c1
While logger may be a global variable, it is not constant. Let the linters complain!
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
import logging
|
|
import os
|
|
import features
|
|
|
|
from app import app, userfiles as user_files, build_logs, dockerfile_build_queue
|
|
|
|
from buildman.manager.enterprise import EnterpriseManager
|
|
from buildman.server import BuilderServer
|
|
|
|
from trollius import SSLContext
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
BUILD_MANAGERS = {
|
|
'enterprise': EnterpriseManager
|
|
}
|
|
|
|
def run_build_manager():
|
|
if not features.BUILD_SUPPORT:
|
|
logger.debug('Building is disabled. Please enable the feature flag')
|
|
return
|
|
|
|
build_manager_config = app.config.get('BUILD_MANAGER')
|
|
if build_manager_config is None:
|
|
return
|
|
|
|
logger.debug('Asking to start build manager with lifecycle "%s"', build_manager_config[0])
|
|
manager_klass = BUILD_MANAGERS.get(build_manager_config[0])
|
|
if manager_klass is None:
|
|
return
|
|
|
|
logger.debug('Starting build manager with lifecycle "%s"', build_manager_config[0])
|
|
ssl_context = None
|
|
if os.environ.get('SSL_CONFIG'):
|
|
logger.debug('Loading SSL cert and key')
|
|
ssl_context = SSLContext()
|
|
ssl_context.load_cert_chain(os.environ.get('SSL_CONFIG') + '/ssl.cert',
|
|
os.environ.get('SSL_CONFIG') + '/ssl.key')
|
|
|
|
server = BuilderServer(app.config['SERVER_HOSTNAME'], dockerfile_build_queue, build_logs,
|
|
user_files, manager_klass)
|
|
server.run('0.0.0.0', ssl=ssl_context)
|
|
|
|
if __name__ == '__main__':
|
|
logging.basicConfig(level=logging.DEBUG)
|
|
run_build_manager()
|