41 lines
1.1 KiB
YAML
41 lines
1.1 KiB
YAML
_format_version: "3.0"
|
||
_transform: true
|
||
|
||
#########################################################
|
||
# Upstream — FastAPI service running in podman-compose
|
||
#########################################################
|
||
services:
|
||
- name: fastapi-svc
|
||
host: fastapi # container alias on the internal network
|
||
port: 8000
|
||
protocol: http
|
||
|
||
routes:
|
||
# Public API
|
||
- name: api-root
|
||
paths: ["/api/"]
|
||
strip_path: true
|
||
methods: ["GET", "POST", "PUT", "PATCH", "DELETE"]
|
||
plugins:
|
||
# Enable CORS for local testing
|
||
- name: cors
|
||
config:
|
||
origins: ["*"]
|
||
methods: ["GET", "POST", "PUT", "PATCH", "DELETE"]
|
||
headers: ["Accept", "Content-Type", "Authorization"]
|
||
credentials: false
|
||
max_age: 3600
|
||
|
||
# Health probe exposed at /gateway-health
|
||
- name: gateway-health
|
||
paths: ["/gateway-health"]
|
||
strip_path: true
|
||
methods: ["GET"]
|
||
|
||
plugins:
|
||
# Global rate-limit (optional; remove if you don’t need it yet)
|
||
- name: rate-limiting
|
||
config:
|
||
second: 25
|
||
policy: local
|