def deploy(): image = build_web_app_image() container = image.run(port_maps=[{"container": 80}, {"container": 443}]) PortForwarder.kill() for map in container.port_maps(): PortForwarder.map(host=map["container_ip"], mapped_to_container=map["host_port"])
try: from port_forwarder import PortForwarder (exit_value, ad_user) = d.inputbox("Please enter your AD username:"******"Please enter your AD password:\n" "(note: it will not show in the text field)", nocancel=1, backtitle=dialog_title) d.infobox("Starting SSH tunnel...", 5, 60, backtitle=dialog_title) time.sleep(1) pfw = PortForwarder(ssh_host='services.hq', username=ad_user, password=ad_pwd) pfw.start_port_forward(local_port=4506, target_host=salt_master, target_port=4506, local_address='127.0.0.1', abort_transfer_on_exit=True) time.sleep(2) salt_master = 'localhost' except Exception, e: d.msgbox("SSH tunnel failed. Falling back to direct connection " "(which might not work).\n" "{0}".format(e), 7, 60,
(r"/turn_configuration", ConfigurationRequestHandler) ] app = tornado.web.Application( handlers, **settings) # Create a secure http listener ssl_http_server = tornado.httpserver.HTTPServer(app, ssl_options=ssl_ctx) upstream_http_server = tornado.httpserver.HTTPServer(app) upstream_http_server.listen(8888) ssl_http_server.listen(8443, "127.0.0.1") log.debug("Enabling port forwarding") # Setup network for exposing the ports to the outside world port_forwarder = PortForwarder() port_forwarder.enable_port_forwarding() port_forwarder.setup_external_ip(hostname=hostname) # Information used by the TurnServer internal_ip, external_ip = port_forwarder.get_network_adresses() # Used for starting the turn server process with security turn_server = TurnServerManager(cert=os.path.join(ssl_stuff_dir, "startssl.crt"), key=os.path.join(ssl_stuff_dir, "startssl.key"), internal_ip=internal_ip, external_ip=external_ip, realm=hostname, secret=base64.b64encode(os.urandom(50)).decode('ascii'), other_options="--lt-cred-mech --fingerprint --pidfile /tmp/turnserver.pid") turn_server.start_turn_server() log.info("Starting Tornado server") # Periodically check if the display must be woken up