{"data":{"slug":"ferro-labs-ai-gateway","name":"ai-gateway","tagline":"Unified AI Gateway for 30+ LLMs (OpenAI, Anthropic, Bedrock, Azure etc) with Caching, Guardrails, A/B test & cost controls. Go-native Fastest & Scalable AI Gateway LiteLLM & Kong AI Gateway alternativ","github_url":"https://github.com/ferro-labs/ai-gateway","owner":"ferro-labs","repo":"ai-gateway","owner_avatar_url":"https://avatars.githubusercontent.com/u/263849603?v=4","primary_language":"Go","stars":180,"forks":31,"topics":["ai-gateway","ai-infrastructure","guardrails","litellm","llm","llm-cost","llm-gateway","llm-proxy","llm-strategy","llmops","mcp","openai-compatible","pii-detection","prompt-management","semantic-cache","token-saver"],"archived":false,"github_pushed_at":"2026-07-14T09:01:54+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/ferro-labs-ai-gateway","markdown_url":"https://www.graphcanon.com/tools/ferro-labs-ai-gateway.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/ferro-labs-ai-gateway","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=ferro-labs-ai-gateway","description":"Unified AI Gateway for 30+ LLMs (OpenAI, Anthropic, Bedrock, Azure etc) with Caching, Guardrails, A/B test & cost controls. Go-native Fastest & Scalable AI Gateway LiteLLM & Kong AI Gateway alternative.","homepage_url":"https://docs.ferrolabs.ai","license":"Apache-2.0","open_issues":47,"watchers":5,"ai_summary":null,"readme_excerpt":"## Quick Start\n\nGet from zero to first request in under 2 minutes.\n\n---\n\n### Option B — Docker\n\n```bash\ndocker pull ghcr.io/ferro-labs/ai-gateway:latest\ndocker run -p 8080:8080 \\\n  -e OPENAI_API_KEY=sk-your-key \\\n  -e MASTER_KEY=fgw_your-master-key \\\n  ghcr.io/ferro-labs/ai-gateway:latest\n```\n\n---\n\n### Option D — Docker Compose (dev & prod)\n\nThe repo ships three Compose files that follow the standard override pattern:\n\n| File | Purpose |\n|---|---|\n| `docker-compose.yml` | Base — shared image, port mapping, all provider env var stubs |\n| `docker-compose.dev.yml` | Dev — builds from source, debug logging, live config mount, Ollama host access |\n| `docker-compose.prod.yml` | Prod — pinned image tag, restart policy, health check, resource limits, log rotation |\n\n**Dev** (builds from source):\n\n```bash\ndocker compose -f docker-compose.yml -f docker-compose.dev.yml up\n```\n\n**Prod** (pin to a release tag — never use `latest` in production):\n\n```bash\n\n---\n\n### Docker Compose (with PostgreSQL)\n\n```yaml\nservices:\n  ferrogw:\n    image: ghcr.io/ferro-labs/ai-gateway:latest\n    ports:\n      - \"8080:8080\"\n    environment:\n      - OPENAI_API_KEY=${OPENAI_API_KEY}\n      - GATEWAY_CONFIG=/etc/ferrogw/config.yaml\n      - CONFIG_STORE_BACKEND=postgres\n      - CONFIG_STORE_DSN=postgresql://ferrogw:ferrogw@db:5432/ferrogw?sslmode=disable\n      - API_KEY_STORE_BACKEND=postgres\n      - API_KEY_STORE_DSN=postgresql://ferrogw:ferrogw@db:5432/ferrogw?sslmode=disable\n      - REQUEST_LOG_STORE_BACKEND=postgres\n      - REQUEST_LOG_STORE_DSN=postgresql://ferrogw:ferrogw@db:5432/ferrogw?sslmode=disable\n    volumes:\n      - ./config.yaml:/etc/ferrogw/config.yaml:ro\n    depends_on:\n      - db\n\n  db:\n    image: postgres:16-alpine\n    environment:\n      POSTGRES_USER: ferrogw\n      POSTGRES_PASSWORD: ferrogw\n      POSTGRES_DB: ferrogw\n    volumes:\n      - pgdata:/var/lib/postgresql/data\n\nvolumes:\n  pgdata:\n```\n\n---\n\n# Gains: failover, caching, rate limiting, cost tracking\nclient = OpenAI(\n    base_url=\"http://localhost:8080/v1\",\n    api_key=\"your-ferro-api-key\",\n)\n```\n\nFerro Labs AI Gateway handles provider failover automatically — if OpenAI is down, your requests fall through to Anthropic or Gemini with zero application code changes.\n\n---\n\n---\n\n## License\n\nApache 2.0 — see [LICENSE](LICENSE).","github_created_at":"2026-02-25T07:46:16+00:00","created_at":"2026-07-15T10:42:53.705774+00:00","updated_at":"2026-07-15T10:42:57.148246+00:00","categories":[{"slug":"computer-vision","name":"Computer Vision","url":"https://www.graphcanon.com/categories/computer-vision","markdown_url":"https://www.graphcanon.com/categories/computer-vision.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/computer-vision"},{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"}],"tags":[{"slug":"ai-gateway","name":"ai-gateway"},{"slug":"ai-infrastructure","name":"ai-infrastructure"},{"slug":"guardrails","name":"guardrails"},{"slug":"litellm","name":"litellm"},{"slug":"llm","name":"llm"},{"slug":"llm-cost","name":"llm-cost"},{"slug":"llm-gateway","name":"llm-gateway"},{"slug":"llm-proxy","name":"llm-proxy"}],"trust":{"provenance":{"is_fork":false,"github_id":1166416848,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-15T10:42:54.704Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":30,"days_since_push":1,"last_release_at":"2026-07-14T09:10:42Z"},"security_summary":{"status":"findings","scanner":"osv@v1","low_count":7,"high_count":0,"last_scan_at":"2026-07-15T10:42:55.041Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-15T10:42:54.460Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-07-15T10:42:54.460Z","managed_saas":false},"languages":{"value":["go"],"source":"github.language","observed_at":"2026-07-15T10:42:54.460Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-07-15T10:42:54.460Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-07-15T10:42:54.460Z"}}}}