104 lines
2.6 KiB
YAML
104 lines
2.6 KiB
YAML
# Example configuration for ASGI application mounts
|
|
# This demonstrates how to mount various Python web frameworks
|
|
|
|
http:
|
|
static_dir: ./static
|
|
templates_dir: ./templates
|
|
|
|
server:
|
|
host: 0.0.0.0
|
|
port: 8080
|
|
backlog: 5
|
|
proxy_timeout: 30.0
|
|
|
|
logging:
|
|
level: DEBUG
|
|
console_output: true
|
|
format:
|
|
type: standard
|
|
use_colors: true
|
|
|
|
extensions:
|
|
# ASGI Application Mount Extension
|
|
- type: asgi
|
|
config:
|
|
mounts:
|
|
# FastAPI application
|
|
- path: "/api"
|
|
app_path: "examples.apps.fastapi_app:app"
|
|
app_type: asgi
|
|
name: "fastapi-api"
|
|
strip_path: true
|
|
|
|
# FastAPI with factory pattern
|
|
- path: "/api/v2"
|
|
app_path: "examples.apps.fastapi_app:create_app"
|
|
app_type: asgi
|
|
factory: true
|
|
factory_args:
|
|
debug: true
|
|
name: "fastapi-api-v2"
|
|
strip_path: true
|
|
|
|
# Flask application (WSGI wrapped to ASGI)
|
|
- path: "/flask"
|
|
app_path: "examples.apps.flask_app:app"
|
|
app_type: wsgi
|
|
name: "flask-app"
|
|
strip_path: true
|
|
|
|
# Flask with factory pattern
|
|
- path: "/flask-v2"
|
|
app_path: "examples.apps.flask_app:create_app"
|
|
app_type: wsgi
|
|
factory: true
|
|
name: "flask-app-factory"
|
|
strip_path: true
|
|
|
|
# Django application
|
|
# Uncomment and configure for your Django project
|
|
# - path: "/django"
|
|
# django_settings: "myproject.settings"
|
|
# module_path: "/path/to/django/project"
|
|
# name: "django-app"
|
|
# strip_path: true
|
|
|
|
# Starlette application
|
|
- path: "/starlette"
|
|
app_path: "examples.apps.starlette_app:app"
|
|
app_type: asgi
|
|
name: "starlette-app"
|
|
strip_path: true
|
|
|
|
# Custom ASGI application (http.server style)
|
|
- path: "/custom"
|
|
app_path: "examples.apps.custom_asgi:app"
|
|
app_type: asgi
|
|
name: "custom-asgi"
|
|
strip_path: true
|
|
|
|
# Standard routing for other paths
|
|
- type: routing
|
|
config:
|
|
regex_locations:
|
|
# Health check
|
|
"=/health":
|
|
return: "200 OK"
|
|
content_type: "text/plain"
|
|
|
|
# Static files
|
|
"~*\\.(js|css|png|jpg|gif|ico|svg|woff2?)$":
|
|
root: "./static"
|
|
cache_control: "public, max-age=31536000"
|
|
|
|
# Root path
|
|
"=/":
|
|
root: "./static"
|
|
index_file: "index.html"
|
|
|
|
# Default fallback
|
|
"__default__":
|
|
spa_fallback: true
|
|
root: "./static"
|
|
index_file: "index.html"
|