import logging import os from fastapi import FastAPI from starlette.routing import Host, Route, WebSocketRoute, Mount from authentication.endpoints import authentication, oauth from proxy import app as proxy_app from ttun_server.endpoints import health from ttun_server.websockets import tunnel logging.basicConfig(level=getattr(logging, os.environ.get('LOG_LEVEL', 'INFO'))) app = FastAPI( debug=True, routes=[ Mount('/auth/', app=authentication), Mount('/oauth/', app=oauth), WebSocketRoute('/tunnel/', endpoint=tunnel), Route('/health/', endpoint=health), Host(f'{{subdomain}}.{os.environ['TUNNEL_DOMAIN']}', app=proxy_app) ] ) try: from ._version import version __version__ = version except ImportError: __version__ = 'development'