Ejemplo n.º 1
0
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"])
Ejemplo n.º 2
0
        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,
Ejemplo n.º 3
0
        (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