Migration from Kong OSS / Enterprise
This guide covers migration from Kong Gateway (OSS or Enterprise) to STOA Platform, leveraging Kong's declarative configuration model for a smooth transition.
What You Haveβ
Typical Kong stack:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CURRENT STATE β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Kong Gateway (OSS or Enterprise) β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β Services β β Routes β β Plugins β β β
β β β & Upst. β β β β β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Kong Manager / Konnect (optional) β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β Dev β β Analyticsβ β Runtime β β β
β β β Portal β β β β Groups β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Common migration drivers: β
β β’ Seeking unified MCP + REST gateway β
β β’ European data sovereignty requirements β
β β’ Multi-tenant isolation at the Kubernetes namespace level β
β β’ GitOps-first configuration management β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
What STOA Providesβ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β WITH STOA β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β STOA Control Plane (Cloud) β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β Portal β β Console β β API β β β
β β β Catalog β β Admin β β Metrics β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β orchestrates β
β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β STOA Gateway (Rust, high-performance) β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β MCP β β REST β β Rate β β β
β β β Protocol β β Proxy β β Limiting β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Benefits: β
β β’ Native MCP support for AI agents β
β β’ Namespace-level tenant isolation β
β β’ GitOps-first (ArgoCD) configuration β
β β’ European hosting with data residency controls β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Configuration Mappingβ
Kong's declarative model maps naturally to STOA concepts:
| Kong Concept | STOA Equivalent | Notes |
|---|---|---|
| Service | API Definition | Backend upstream configuration |
| Route | API Route | Path + method matching |
| Plugin | STOA Policy | Rate limiting, auth, transforms |
| Consumer | Consumer / Subscription | API access management |
| Consumer Group | Tenant | Multi-tenant isolation |
| Upstream | Backend URL | Health checks included |
| Certificate | TLS Certificate | Managed via Keycloak/cert-manager |
| Workspace (Enterprise) | Tenant Namespace | K8s namespace isolation |
Plugin Mappingβ
| Kong Plugin | STOA Equivalent |
|---|---|
rate-limiting | Native rate limiting (per-consumer quotas) |
key-auth | API Key via Keycloak |
jwt | OIDC/JWT via Keycloak |
oauth2 | OAuth 2.0 via Keycloak |
cors | CORS policy |
request-transformer | Response transformation (ADR-032) |
acl | RBAC policies |
prometheus | Native Prometheus metrics |
opentelemetry | OpenTelemetry integration |
ip-restriction | Network policy (K8s-level) |
Migration Pathβ
Phase 1: Export & Import (1 week)β
Goal: Register existing Kong APIs in STOA catalog.
-
Export Kong Configuration
# Kong DB-less mode β already declarative
kong config db_export kong-config.yaml
# Or via Admin API
curl -s http://kong-admin:8001/ | jq '.' > kong-dump.json
# Export specific services
curl -s http://kong-admin:8001/services | jq '.data[]' > kong-services.json -
Map to STOA Format
# Use STOA CLI to import Kong config
stoa api import --file kong-config.yaml --format kong -
Verify in STOA Console
- Confirm all APIs appear in the catalog
- Check route mappings and upstream URLs
- Verify policy translations
Phase 2: Identity Integration (1 week)β
Goal: Connect STOA Keycloak to Kong's consumer authentication.
Kong consumers using key-auth or jwt can be federated:
# keycloak-kong-migration.yaml
kind: IdentityProviderConfig
metadata:
name: kong-consumer-migration
spec:
provider: oidc
config:
# If Kong uses an external IdP
issuerUri: https://your-idp/oauth
clientId: stoa-federation
scopes: openid,profile
# For key-auth consumers: bulk import to Keycloak
consumerImport:
source: kong-consumers.json
mapping:
username: custom_id
groups: acls
Phase 3: Parallel Running (1-2 weeks)β
Goal: Run STOA alongside Kong with shadow traffic.
Since Kong and STOA can coexist behind a load balancer:
# traffic-split at ingress level
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: api-canary
annotations:
nginx.ingress.kubernetes.io/canary: "true"
nginx.ingress.kubernetes.io/canary-weight: "10"
spec:
rules:
- host: api.example.com
http:
paths:
- path: /
backend:
service:
name: stoa-gateway
port:
number: 8080
Increase the canary weight from 10% to 50% to 100% as confidence grows.
Phase 4: Cutoverβ
Goal: Full production traffic through STOA.
- Set canary weight to 100%
- Monitor error rates and latency for 48 hours
- Remove Kong ingress rules
- Decommission Kong pods (keep config in Git for rollback)
Migration Complexityβ
Estimated complexity: Low to Medium Estimated timeline: 2-4 weeks
Kong's declarative configuration model and standard plugin ecosystem map well to STOA's GitOps approach. Custom Kong plugins require individual assessment.
Complexity Factorsβ
| Factor | Low | Medium | High |
|---|---|---|---|
| Number of APIs | < 20 | 20-100 | > 100 |
| Custom plugins | None | 1-3 | > 3 |
| Consumer count | < 100 | 100-1000 | > 1000 |
| DB-less mode | Yes | β | No (requires export) |
| Enterprise features | Not used | Workspaces | Vitals, Dev Portal |
Rollback Procedureβ
At any phase, revert to Kong routing:
# Immediate rollback β revert ingress canary
kubectl annotate ingress api-canary \
nginx.ingress.kubernetes.io/canary-weight="0" --overwrite
# Verify Kong is handling all traffic
curl -s http://kong-admin:8001/status
Next Stepsβ
- IBM webMethods / DataPower β If migrating from IBM stack
- Google Apigee β If migrating from Apigee
- Hybrid Deployment β Architecture options
- Security & Compliance β DORA/NIS2 considerations
Feature comparisons are based on publicly available documentation as of 2026-02. Product capabilities change frequently. We encourage readers to verify current features directly with each vendor. All trademarks belong to their respective owners. See trademarks.
Need migration assistance? Contact us for professional services.