Kong Gateway Manager - Open source visual interface for managing routes, services, plugins, and consumers in Kong Gateway.
Note
Leia em PortuguΓͺs: README.pt-BR.md
- π Self-contained Authentication - JWT with initial setup, no external service dependencies
- π Internationalization - Support for Portuguese (BR) and English (US) with automatic detection
- π‘οΈ Security - Rate limiting, security headers, brute-force protection
- π¦ Docker Ready - Ready for deployment with Docker Compose
- π§ͺ Kong Local - Development environment with integrated Kong
- π Plugin Management - Apply plugins to routes, services, and consumers
- π€ Import/Export - Export and import route configurations
- β‘ Vite + TypeScript - Modern frontend with Hot Module Replacement
# Clone the repository
git clone https://github.com/your-username/kongy.git
cd kongy
# Copy the environment file
cp .env.example .env
# Start all services (Kong + Kongy)
docker compose up -d
# Access http://localhost:8081If port 8081 is already in use, set another frontend port:
FRONTEND_PORT=8082 docker compose up -d
# Access http://localhost:8082On first access, you will be redirected to create the administrator user.
# Backend
cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000
# Frontend (in another terminal)
cd frontend
npm install
npm run devThe frontend will be available at http://localhost:8081 with HMR.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Kongy Container β
β βββββββββββββββββββββββ ββββββββββββββββββββββββββββββ β
β β Frontend (Vite) βββββΆβ Backend (FastAPI) β β
β β :8081 β β :8000 β β
β β TypeScript/HTML β β - Auth (JWT) β β
β βββββββββββββββββββββββ β - Kong Proxy β β
β β - Rate Limiting β β
β ββββββββββββ¬ββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββ β
β β Kong Admin API β β
β β :8001 (internal) β β
β βββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββ
kongy/
βββ backend/ # FastAPI backend
β βββ app/
β β βββ auth/ # JWT authentication
β β βββ kong/ # Kong Admin API proxy
β β βββ storage/ # In-memory storage
β β βββ middleware/ # Security, rate limiting
β βββ tests/ # Pytest tests
βββ frontend/ # Vite + TypeScript frontend
β βββ src/
β β βββ services/ # API, Auth, i18n
β β βββ types/ # TypeScript interfaces
β β βββ utils/ # Helpers, constants
β β βββ app.ts # Main application
β β βββ ui.ts # UI rendering
β β βββ store.ts # State management
β βββ locales/ # Translations
β βββ vite.config.ts # Vite configuration
βββ docker-compose.yml # Dev environment (with Kong)
βββ docker-compose.prod.yml # Production (external Kong)
βββ .env.example # Environment template
| Variable | Description | Default |
|---|---|---|
SECRET_KEY |
JWT signing key | change-me... |
KONG_ADMIN_URL |
Kong Admin API URL | http://kong:8001 |
DEBUG |
Enable debug mode | false |
JWT_EXPIRE_MINUTES |
Token expiration | 60 |
CORS_ORIGINS |
Allowed CORS origins | ["http://localhost:8081"] |
See .env.example for all options.
KONG_ADMIN_URL is the initial Kong Admin API URL on each application startup. If initial setup provides a different URL, that override only lives in memory until the next restart.
β οΈ Important: Data is stored in memory and lost upon restart. Configure the admin user at every startup.
- JWT Authentication
- Rate Limiting (configurable)
- Brute-force protection
- Security Headers (CSP, X-Frame-Options, etc.)
- Non-root containers
# Backend
cd backend
pip install -r requirements-dev.txt
pytest --cov=app
# Frontend Build
cd frontend
npm run buildOn the routes screen, the actions bar includes a button to download a routes-import-example.json file with a valid import example.
The import flow now shows a summary before execution and a result modal afterwards with successes and failures per route/plugin. Route import always uses the currently selected service in the UI, and exported route JSON does not include service.id.
# Production Build
docker compose -f docker-compose.prod.yml build
# Deploy
docker compose -f docker-compose.prod.yml up -dFor container registry publishing, the frontend Dockerfile now builds the production Nginx image by default:
docker build \
--provenance=false \
--build-arg NPM_REGISTRY=https://nexus.example/repository/npm-group/ \
-t kongy-frontend:1.0.0 \
frontendUse --target dev only when you explicitly want the Vite development image.
Deployment example available in k8s/ (coming soon).
Contributions are welcome! See CONTRIBUTING.md.
MIT License - see LICENSE.
Made with β€οΈ by the community



