def run_build_manager(): if not features.BUILD_SUPPORT: logger.debug("Building is disabled. Please enable the feature flag") while True: time.sleep(1000) return if app.config.get("REGISTRY_STATE", "normal") == "readonly": logger.debug("Building is disabled while in read-only mode.") while True: time.sleep(1000) return build_manager_config = app.config.get("BUILD_MANAGER") if build_manager_config is None: return # If the build system is externally managed, then we just sleep this process. if build_manager_config[0] == EXTERNALLY_MANAGED: logger.debug("Builds are externally managed.") while True: time.sleep(1000) 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 manager_hostname = os.environ.get( "BUILDMAN_HOSTNAME", app.config.get("BUILDMAN_HOSTNAME", app.config["SERVER_HOSTNAME"])) controller_port = int( os.environ.get( "BUILDMAN_CONTROLLER_PORT", app.config.get("BUILDMAN_CONTROLLER_PORT", DEFAULT_CONTROLLER_PORT), )) logger.debug( "Will pass buildman hostname %s to builders for websocket connection", manager_hostname) logger.debug('Starting build manager with lifecycle "%s"', build_manager_config[0]) server = BuilderServer( app.config["SERVER_HOSTNAME"], manager_hostname, dockerfile_build_queue, build_logs, user_files, manager_klass, build_manager_config[1], instance_keys, ) server.run("0.0.0.0", controller_port)
def run_build_manager(): if not features.BUILD_SUPPORT: logger.debug('Building is disabled. Please enable the feature flag') while True: time.sleep(1000) return if app.config.get('REGISTRY_STATE', 'normal') == 'readonly': logger.debug('Building is disabled while in read-only mode.') while True: time.sleep(1000) return build_manager_config = app.config.get('BUILD_MANAGER') if build_manager_config is None: return # If the build system is externally managed, then we just sleep this process. if build_manager_config[0] == EXTERNALLY_MANAGED: logger.debug('Builds are externally managed.') while True: time.sleep(1000) 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 manager_hostname = os.environ.get('BUILDMAN_HOSTNAME', app.config.get('BUILDMAN_HOSTNAME', app.config['SERVER_HOSTNAME'])) websocket_port = int(os.environ.get('BUILDMAN_WEBSOCKET_PORT', app.config.get('BUILDMAN_WEBSOCKET_PORT', DEFAULT_WEBSOCKET_PORT))) controller_port = int(os.environ.get('BUILDMAN_CONTROLLER_PORT', app.config.get('BUILDMAN_CONTROLLER_PORT', DEFAULT_CONTROLLER_PORT))) logger.debug('Will pass buildman hostname %s to builders for websocket connection', manager_hostname) 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.path.join(os.environ.get('SSL_CONFIG'), 'ssl.cert'), os.path.join(os.environ.get('SSL_CONFIG'), 'ssl.key')) server = BuilderServer(app.config['SERVER_HOSTNAME'], dockerfile_build_queue, build_logs, user_files, manager_klass, build_manager_config[1], manager_hostname) server.run('0.0.0.0', websocket_port, controller_port, ssl=ssl_context)