Gateway Abstraction Layer (GAL)¶
Provider-agnostisches Konfigurationssystem für API-Gateways
GAL ermöglicht es Ihnen, API-Gateway-Konfigurationen einmal zu definieren und für verschiedene Provider (Nginx, Envoy, Kong, APISIX, Traefik, HAProxy, Azure APIM, GCP API Gateway, AWS API Gateway) zu generieren.
Schnelleinstieg¶
version: "1.0"
provider: envoy
services:
- name: my_service
type: rest
protocol: http
upstream:
host: my-app
port: 8080
routes:
- path_prefix: /api
# Für beliebigen Provider generieren
gal generate -c config.yaml -p nginx
gal generate -c config.yaml -p envoy
gal generate -c config.yaml -p kong
gal generate -c config.yaml -p apisix
gal generate -c config.yaml -p traefik
gal generate -c config.yaml -p haproxy
gal generate -c config.yaml -p azure_apim
gal generate -c config.yaml -p gcp_apigateway
gal generate -c config.yaml -p aws_apigateway
Hauptfeatures¶
-
Provider-agnostisch
Keine Vendor Lock-in. Wechseln Sie zwischen Gateways ohne Config-Neuschreibung.
-
Umfangreiche Features
Authentication, Rate Limiting, CORS, Circuit Breaker, Health Checks und mehr.
-
Automatische Transformationen
Defaults, UUID-Generierung, Timestamps - alles automatisch.
-
Docker-Ready
Container-basierte Workflows mit docker compose Integration.
-
CI/CD-freundlich
Einfache Integration in Ihre Deployment-Pipeline.
-
Import/Export
Importieren Sie bestehende Provider-Configs und exportieren Sie zu GAL.
-
A/B Testing & Traffic Splitting
Canary Deployments, Blue/Green, Header/Cookie-Routing - alle Provider.
-
Request Mirroring
Shadow Traffic für Production Testing. Sample Percentage, Custom Headers, alle Provider.
-
E2E Docker Tests
Runtime-Tests mit echten Gateway-Containern. 1000 Requests, ±5% Toleranz.
Unterstützte Provider¶
| Provider | Status | Output-Format | Transformations | Import/Export | Deployment |
|---|---|---|---|---|---|
| Nginx | nginx.conf | Lua/njs | Self-Hosted | ||
| Envoy | YAML | Lua Filters | Self-Hosted | ||
| Kong | YAML | Plugins | Self-Hosted | ||
| APISIX | JSON/YAML | Lua Serverless | Self-Hosted | ||
| Traefik | YAML/TOML | Middleware | Self-Hosted | ||
| HAProxy | haproxy.cfg | Lua | Self-Hosted | ||
| Azure APIM | ARM/JSON | Policy XML | Azure Cloud | ||
| GCP API Gateway | OpenAPI 2.0 | Backend | Google Cloud | ||
| AWS API Gateway | OpenAPI 3.0 | VTL | AWS Cloud |
Import-Hinweise:
- Azure APIM: Import erfolgt über OpenAPI 3.0 Export (az apim api export). ARM Templates werden nicht geparst. Policies müssen manuell in GAL konfiguriert werden. Siehe Azure APIM Import Guide.
- GCP API Gateway: Import erfolgt über OpenAPI 2.0 Export (gcloud api-gateway api-configs describe). Siehe GCP Import Guide.
- AWS API Gateway: Import erfolgt über OpenAPI 3.0 Export (aws apigateway get-export). Usage Plans müssen separat konfiguriert werden. Siehe AWS Import Guide.
Dokumentations-Navigation¶
Guides¶
Praktische Anleitungen für häufige Aufgaben:
- Schnellstart - Installation und erste Schritte in 5 Minuten
- Provider-Übersicht - Vergleich aller Gateway-Provider
- Provider-spezifisch: Nginx | Envoy | Kong | APISIX | Traefik | HAProxy | Azure APIM | GCP API Gateway | AWS API Gateway
- Transformationen - Request-Transformationen und Best Practices
- Entwicklung - Zum Projekt beitragen
Features¶
Detaillierte Feature-Dokumentation:
- Authentication - JWT, API Keys, Basic Auth
- Rate Limiting - Request-Limitierung
- CORS - Cross-Origin Resource Sharing
- Circuit Breaker - Fehlerbehandlung
- Health Checks - Upstream-Monitoring
- Headers - Header-Manipulation
- Logging & Observability - Monitoring & Logging
- Body Transformation - Request/Response Transformation
- gRPC Transformations - Protobuf-basierte gRPC Transformationen
- Azure API Management - Cloud-Native API Gateway für Azure
- Traffic Splitting - A/B Testing, Canary Deployments, Blue/Green
- Request Mirroring - Shadow Traffic, Production Testing, Sample Percentage
- WebSocket - WebSocket-Unterstützung
- Timeout & Retry - Timeout- & Retry-Strategien
API-Referenz¶
Vollständige technische Referenz:
- CLI-Referenz - Alle Befehle und Optionen
- Konfigurationsreferenz - YAML-Schema und alle Optionen
Architektur¶
Technische Details und Design:
- Architektur-Übersicht - System-Design, Komponenten, Datenfluss
Schnell-Links für verschiedene Zielgruppen¶
- Schnellstart-Guide - Erste Schritte
- Konfigurationsbeispiele - Vollständige Beispiele
- CLI-Referenz - Befehlsübersicht
- Entwickler-Guide - Setup und Contribution
- Architektur - System-Design
- Python-API-Referenz - Klassen und Docstrings
- Tests schreiben - Test-Best-Practices
- Provider-Vergleich - Welcher Provider passt?
- Docker-Integration - Container-Deployment
- CI/CD-Integration - Automation
Neuigkeiten¶
Version 1.4.0¶
Neu in v1.4.0:
gRPC Transformations - Protobuf-basierte Request/Response Transformationen
Cloud Provider Support - Azure APIM, AWS API Gateway, GCP API Gateway
A/B Testing & Traffic Splitting - Canary Deployments, Header/Cookie-Routing
Request Mirroring - Shadow Traffic für Production Testing (9/9 Provider)
Proto Descriptor Management (file/inline/url)
Azure AD/AWS Cognito/GCP JWT Validation
OpenAPI 3.0/2.0 Export für Cloud Provider
549+ Tests (89% Coverage)
5000+ Zeilen neue Dokumentation
Version 1.3.0¶
Features aus v1.3.0:
- Config Import für alle 7 Provider (Nginx, Envoy, Kong, APISIX, Traefik, HAProxy, Azure APIM)
- Compatibility Checker für Provider-Migration
- Migration Assistant für automatische Provider-Wechsel
- HAProxy Config Parser
Community & Support¶
Hilfe bekommen¶
- GitHub Issues: Bug Reports & Feature Requests
- GitHub Discussions: Fragen & Diskussionen
Beitragen¶
Interessiert daran beizutragen? Siehe:
Lizenz¶
MIT License - siehe LICENSE
Viel Erfolg mit GAL!