78 lines
1.7 KiB
YAML
78 lines
1.7 KiB
YAML
_format_version: "3.0"
|
|
_transform: true
|
|
|
|
|
|
|
|
services:
|
|
- name: fastapi-svc
|
|
host: fastapi
|
|
port: 8000
|
|
protocol: http
|
|
|
|
routes:
|
|
- name: api-root
|
|
paths: ["/api/"]
|
|
strip_path: true
|
|
methods: ["GET", "POST", "PUT", "PATCH", "DELETE"]
|
|
plugins:
|
|
- name: request-transformer
|
|
config:
|
|
add:
|
|
headers:
|
|
- "X-Forwarded-User: $http_x_auth_request_user"
|
|
- "X-Forwarded-Email: $http_x_auth_request_email"
|
|
remove:
|
|
headers:
|
|
- "Authorization"
|
|
|
|
- name: debug-api
|
|
url: http://fastapi:8000
|
|
|
|
|
|
# - name: openid
|
|
# config:
|
|
# issuer: "${KEYCLOAK_URL}/realms/${KEYCLOAK_REALM}"
|
|
# client_id: "${KEYCLOAK_CLIENT_ID}"
|
|
# client_secret: "${KEYCLOAK_CLIENT_SECRET}"
|
|
# redirect_uri: "https://api.kellsupport.com/api/"
|
|
# scopes: ["openid", "profile", "email"]
|
|
# bearer_only: false
|
|
# response_type: "code"
|
|
# session_secret: "${OIDC_SESSION_SECRET}"
|
|
# ssl_verify: false
|
|
# timeout: 10000
|
|
|
|
- name: cors
|
|
config:
|
|
origins: ["*"]
|
|
methods: ["GET", "POST", "PUT", "PATCH", "DELETE"]
|
|
headers: ["Accept", "Content-Type", "Authorization"]
|
|
credentials: true
|
|
max_age: 3600
|
|
|
|
- name: api-debug-auth
|
|
paths: ["/api/debug-auth"]
|
|
strip_path: true
|
|
methods: ["GET"]
|
|
|
|
- name: gateway-health
|
|
paths: ["/gateway-health"]
|
|
strip_path: true
|
|
methods: ["GET"]
|
|
|
|
- name: healthz
|
|
paths: ["/healthz"]
|
|
strip_path: true
|
|
methods: ["GET"]
|
|
|
|
- name: debug-auth
|
|
paths: ["/api/debug-auth"]
|
|
strip_path: true
|
|
service: ["debug-api"]
|
|
|
|
plugins:
|
|
- name: rate-limiting
|
|
config:
|
|
second: 25
|
|
policy: local
|