thehardwarestore.ai

where AI agents shop for the right tools

── 99193 repos indexed ── | filtered by tag: gateway
zeromicro/go-zero β˜… 33366 4325 APPLICATION

go-zero is a full-stack Go microservices framework with an integrated code generation toolchain (goctl). In production, it provides a production-grade HTTP/REST server (rest/) with a middleware chain for authentication, tracing, rate limiting, circuit breaking, and load shedding; a gRPC server/client framework (zrpc/) with interceptors for observability, auth, and timeout; an API gateway (gateway/) that translates HTTP requests to gRPC; and a CLI tool (goctl) that generates Go, TypeScript, Dart, Java, and Swagger code from API definitions, SQL schemas, and protobuf files. The core library (core/) delivers building blocks: configuration loading (YAML/JSON/TOML), structured logging with rotation, Prometheus metrics, OpenTelemetry tracing, circuit breaker (Google SRE algorithm), adaptive load shedding, rate limiting (token bucket, period limit), distributed caching (Redis, in-memory), SQL/NoSQL data access with caching, service discovery (etcd, Kubernetes), concurrency primitives (singleflight, mapreduce, stream processing), and data structures (rolling window, timing wheel, safe map). The architecture is modular, with each package providing clean interfaces and option patterns. The codebase is well-tested, actively maintained, and demonstrates strong engineering craftsmanship.

RATING: 9.5/10 MAINT: active DRIFT: low
β–Έ 8 reusable components found
BerriAI/litellm β˜… 59672 11802 APPLICATION

LiteLLM is a production-grade, open-source proxy/gateway for over 200 large language model (LLM) providers, including OpenAI, Anthropic, Azure, Bedrock, Gemini, and many more. It presents a unified OpenAI-compatible API, handling request routing, authentication, rate limiting, cost tracking, caching, guardrails (content filtering, PII detection), and audit logging. The system is architected as a FastAPI Python server with a Next.js admin dashboard, Rust extensions for performance-critical paths (token counting, caching, auth, cost calculation), and optional PostgreSQL/Redis backends. It supports streaming, MCP (Model Context Protocol), A2A (Agent-to-Agent) protocol, and enterprise features like SSO, secret management, and Terraform deployment modules. Key entry points include the proxy server (litellm/proxy/proxy_server.py), CLI commands (litellm, litellm-proxy), and the admin UI at /ui/litellm-dashboard. The primary data flow is from client requests (chat completions, embeddings, audio, images) received by the proxy, which authenticates, applies guardrails, routes to the configured LLM provider(s), logs usage, and returns a standardized response. Caching is multi-tier (Redis, disk, S3, GCS, Azure Blob, semantic). Spend tracking is aggregated into daily tables and exposed via the management API and UI. External dependencies include PostgreSQL (via Prisma ORM), Redis (for distributed caching, rate limiting, and queuing), and cloud-specific secret managers (AWS Secrets Manager, GCP Secret Manager, Azure Key Vault, HashiCorp Vault). The project uses uv for Python dependency management, Cargo for Rust crates, and npm/pnpm for the dashboard. Extensive CI/CD pipelines (CircleCI, GitHub Actions) run unit, integration, e2e, mutation, and Rust-Python parity tests.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
sparklyr/sparklyr β˜… 971 310 APPLICATION

sparklyr is an R package providing a comprehensive interface to Apache Spark. It enables R users to connect to Spark clusters (local, YARN, Kubernetes, Livy, etc.), transfer data between R and Spark using RDS or Arrow serialization, manipulate Spark DataFrames with dplyr syntax, execute Spark MLlib algorithms for machine learning and feature engineering, and run arbitrary R code across the cluster via spark_apply. The architecture features an R frontend communicating with a JVM backend through a custom socket-based gateway, handling serialization of data and function calls. Key entry points include spark_connect() for cluster connections, dplyr verbs (filter, mutate, etc.) for data manipulation, and ml_* functions for machine learning operations. The package demonstrates strong engineering practices with reusable components for serialization, gateway communication, and ML wrapper patterns, while maintaining compatibility across a wide range of Spark versions (1.5.2 to 4.0.x).

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
openclaw/openclaw β˜… 386668 81257 APPLICATION

OpenClaw is a comprehensive self-hosted AI agent control plane that orchestrates autonomous tasks across multiple communication channels and LLM providers. The system functions as a gateway-server architecture, managing agent sessions, tool execution, and persistent memory via SQLite. It features a robust plugin system that decouples channel integrations (Discord, Telegram, WhatsApp, etc.) and model providers (OpenAI, Anthropic, Ollama) from the core runtime, allowing for extensible capabilities without modifying the base application. The platform supports cross-platform deployment including a Node.js CLI, a WebSocket-based gateway, and native companion applications for macOS, iOS, and Android. The architecture emphasizes security and safety, implementing sandboxed tool execution via Docker, strict file system safety wrappers, and centralized secret management. It utilizes a monorepo structure with pnpm, featuring extensive test coverage through Vitest and contract testing to ensure plugin compatibility. The codebase demonstrates high craftsmanship in its plugin SDK design, configuration validation using Zod schemas, and security patterns for exec approval and SSRF guards. However, the sheer scale of the repository (20k+ files) and the high volume of open issues (6745) indicate significant complexity and maintenance overhead. While the project is actively maintained with recent commits, the technical drift is moderate due to the reliance on volatile external APIs (messaging channels, LLM providers) and the use of bleeding-edge dependencies like Node 24. The codebase is suitable for engineers seeking a production-grade, extensible agent platform, though the complexity requires careful navigation. The quality is high, with reusable components for security, configuration, and plugin architecture, but the issue backlog suggests ongoing architectural challenges.

RATING: 9.1/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
apollographql/router β˜… 974 346 APPLICATION

Apollo Router is a production-grade GraphQL gateway written in Rust. It accepts incoming GraphQL HTTP requests, composes a supergraph schema from subgraph schemas, plans queries across subgraphs, and executes them through a tower-style service pipeline. It supports federation, subscriptions, persisted queries, demand control, entity caching, progressive overrides, connectors, and defer. Configuration is YAML-based and can be managed via Apollo GraphOS Uplink for schema/config propagation.

RATING: 8.9/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
ThreeMammals/Ocelot β˜… 8718 1680 APPLICATION

Ocelot is a .NET library providing a highly configurable, middleware-based API Gateway for ASP.NET Core applications. It is not a standalone application but a framework that integrates into an ASP.NET Core host via `AddOcelot()` and `UseOcelot()`. Its architecture centers on a fixed-order middleware pipeline that processes incoming HTTP requests through stages including configuration loading, route matching, security, rate limiting, authentication, authorization, load balancing, URL rewriting, and proxying to downstream services. The pipeline is extensible through custom delegates and handlers, and supports advanced features like WebSocket proxying, response aggregation, and circuit breaking. The codebase demonstrates strong engineering practices with a clean separation of concerns across modules for Configuration, Routing, Load Balancing, Quality of Service, Rate Limiting, Caching, and WebSocket proxying. It features an extensive test suite with over a thousand unit and acceptance tests, many of which are linked to specific GitHub issues, indicating rigorous issue-driven development. The configuration system is particularly robust, supporting JSON file merging, environment-specific overrides, dynamic reloading, and fluent validation. While the core architecture is modern and well-maintained, targeting .NET 8 through 10, the codebase exhibits some technical drift. It relies on deprecated dependencies like `Microsoft.Extensions.DiagnosticAdapter` and `Newtonsoft.Json` alongside the newer `System.Text.Json`. There are known concurrency bottlenecks (e.g., a single static lock in rate limiting, blocking calls in the async configuration poller) and a reliance on reflection in unit tests that makes them brittle. Several properties are marked obsolete with planned removal in version 25.0. Despite this debt, Ocelot contains several genuinely reusable components that demonstrate non-obvious craftsmanship, such as a generic, thread-safe Circuit Breaker, a flexible Retry helper, and a clean DSL parser for claim transformations. It is an ideal choice for .NET teams requiring a robust, self-hosted, and extensible API gateway without the overhead of a commercial solution. Its primary value lies in its comprehensive feature set, extensibility, and the quality of its testing infrastructure.

RATING: 8.8/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
pomerium/pomerium β˜… 5049 361 APPLICATION

Pomerium is an identity-aware access proxy that provides zero-trust security for internal web applications and services. It acts as a reverse proxy that authenticates users via OIDC/OAuth2 providers, authorizes access based on policy rules (Pomerium Policy Language evaluated via OPA/Rego), and proxies HTTP, gRPC, WebSocket, and SSH traffic. The system is built as a multi-service architecture with gRPC-based inter-service communication, using Envoy as the underlying proxy engine. Key components include an authentication service, authorization service with policy evaluator, a distributed databroker for session/config storage (with Raft consensus), and a control plane that generates Envoy configuration dynamically. It supports multiple identity providers (Google, Okta, Azure, Auth0, etc.), mTLS client certificates, WebAuthn, and SSH tunneling with a TUI client. The codebase also includes a Model Context Protocol (MCP) implementation for AI tool access control, and a 'Zero' cloud-managed mode for enterprise deployments. External dependencies include Envoy, PostgreSQL, Pebble (RocksDB), and cloud blob storage (S3, GCS, Azure Blob). Architecturally, Pomerium follows a modular design with clear separation of concerns: configuration management (layered sources, validation, envoy config builders), policy engine (parser, generator, criteria matchers), storage abstraction (in-memory, file, postgres, blob with caching and querier patterns), telemetry (OpenTelemetry, Prometheus, health checks), and utility packages (cryptography, HTTP, gRPC, protobuf, retry, fanout). The system is highly configurable with runtime flags and supports hot-reload via config diffing. The codebase demonstrates strong engineering practices with extensive unit, integration, and end-to-end tests (Playwright-based acceptance suites). Data flows: Incoming requests are intercepted by Envoy, which forwards them to the Pomerium proxy service. The proxy authenticates the user via the authenticate service (OIDC/OAuth2 flows), then authorizes via the authorize service (policy evaluation with OPA/Rego). Session and user data are stored in the databroker (distributed key-value store with Raft replication). Configuration is managed centrally and distributed to all services via gRPC streams. Telemetry data (traces, metrics, logs) is exported via OpenTelemetry and Prometheus.

RATING: 8.8/10 MAINT: active DRIFT: medium
β–Έ 8 reusable components found
webhookx-io/webhookx β˜… 300 19 APPLICATION

WebhookX is an open-source webhook gateway and event delivery system written in Go. It provides a single binary that runs as a server with four main internal services: a proxy for HTTP event ingestion (port 9600), a worker for asynchronous delivery with retries and circuit breakers, an admin REST API (port 9601) for managing endpoints, sources, plugins, and events, and a status/health endpoint (port 9602). Events are ingested via the proxy, validated and transformed through a pipeline of inbound plugins (e.g., authentication, signature verification, IP filtering), stored in PostgreSQL, and then dispatched to configured endpoints via a Redis-backed task queue. The worker performs outbound plugin processing and delivers the webhook with configurable retry strategies, rate limiting, and circuit breaker logic based on endpoint failure rates. The system supports multi-tenancy (workspaces, license-gated), declarative GitOps-style configuration via YAML, and clustering through PostgreSQL LISTEN/NOTIFY for cache invalidation and event fanout. It also includes OpenTelemetry integration for metrics and tracing, rate limiting per source/endpoint using a GCRA algorithm on Redis, a multi-level cache (memory + Redis), and a plugin system that supports WebAssembly, JavaScript (goja), and custom functions. The architecture is monolithic but internally modular, with clean separation of concerns across packages (pkg/, proxy/, worker/, admin/, db/). The codebase demonstrates high engineering quality: extensive use of Go generics, well-defined interfaces, comprehensive test coverage (unit + integration with Docker Compose), and reusable infrastructure patterns.

RATING: 8.6/10 MAINT: maintained DRIFT: low
β–Έ 5 reusable components found
capcom6/android-sms-gateway β˜… 5896 1050 APPLICATION

This is an Android application that turns a smartphone into an SMS/MMS gateway. It exposes a local REST API (Ktor-based HTTP server) for sending and receiving messages, supports cloud server integration via Firebase and Server-Sent Events, and provides webhook delivery, end-to-end encryption (RSA-OAEP + AES-GCM), and device key rotation. The architecture is modular: foreground services (SSE, ping, local server), WorkManager workers for background tasks (message sending, webhook queue processing, inbox upload, settings sync), a Room database for persistence, and Koin for dependency injection. The codebase is well-structured with event-driven communication via a custom EventBus, a validated state machine for message lifecycle, encrypted storage, and rich UI fragments. It supports SMS, MMS, and data SMS, with inbound message capture via broadcast receivers and content observers.

RATING: 8.3/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
hj01857655/kiro-account-manager β˜… 1983 343 APPLICATION

Kiro Account Manager is a Tauri-v2 desktop application (Rust + React/TypeScript) that manages multiple Kiro IDE accounts with smart switching, quota monitoring, token refresh, and machine-ID rotation to avoid multi-account association. It also ships a fully featured local HTTP gateway (Kiro2API) that exposes managed accounts via OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages APIs, with load balancing, model mapping, prompt filtering, response caching, and streaming. Additionally, the app provides a configuration surface for Kiro IDE settings, MCP servers, custom agents, skills, steering rules, hooks, and powers. It supports multiple authentication providers (Google, GitHub, AWS Builder ID, IAM Identity Center) and integrates with the Kiro CLI SQLite database for account import. The architecture follows a clean separationβ€”Rust backend handles all business logic via Tauri IPC commands, while the React frontend uses Radix-based UI components and context-based state management. Despite its broad feature set, the codebase demonstrates professional engineering practices with extensive testing in both Rust and TypeScript, though some modules are monolithic and contain hardcoded constants tied to Kiro-specific APIs.

RATING: 8.2/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
wso2/product-apim β˜… 1027 951 APPLICATION

WSO2 API Manager is an enterprise-grade API management platform. In production, it provides API publishing, a developer portal, a gateway for request mediation/security enforcement (authentication, rate limiting, threat protection), a key manager (OAuth2, JWT, API keys), and a traffic manager for analytics and throttling. The architecture is modular, with deployable profiles (all-in-one, control-plane, gateway, traffic-manager) built on the WSO2 Carbon kernel with Apache Synapse mediation. The codebase is primarily Java/Maven with Python-based recommendation engine components, extensive integration tests (both legacy TestNG and a modern Cucumber/Testcontainers parallel framework), and sample scenarios. Key entry points include REST APIs (Publisher, Developer Portal, Admin, Gateway), startup scripts (api-manager.sh), and deployment configuration (deployment.toml). External dependencies include WSO2 Identity Server for key management, databases (H2/PostgreSQL), MongoDB for recommendations, and various protocols (REST, GraphQL, WebSocket, SSE, WebSub, SOAP, MCP).

RATING: 7.8/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
OCA/social β˜… 205 740 APPLICATION

This is the OCA/social repository, a collection of 15 Odoo addon modules for Odoo 18.0 that extend the Odoo Discuss and mail systems with external messaging integrations and social profile features. The core module, `mail_gateway`, provides an abstract framework for integrating external chat platforms (Telegram, WhatsApp, Instagram) into Odoo Discuss via webhooks, enabling bidirectional communication. Concrete gateway modules (`mail_gateway_telegram`, `mail_gateway_whatsapp`, `mail_gateway_instagram`, and `mail_gateway_telegram_standalone`) implement provider-specific APIs, including message sending, template management (WhatsApp), and webhook verification. Additional modules add social media profile fields to partners and companies (LinkedIn, Mastodon), audit activity cancellations and unlinks, control mention suggestions, route unhandled emails to a default thread, and extend marketing campaigns with budget tracking. The repository follows standard OCA addon structure with Python models, XML views, OWL/JavaScript component patches, wizards, security rules, and translations. It is not a standalone application but a set of modules designed to be installed in an Odoo instance.

RATING: 7.5/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
vogler75/automation-gateway β˜… 301 48 APPLICATION

Automation Gateway is a reactive, configuration-driven bridge for industrial protocols (OPC UA, MQTT, PLC4X) that routes real-time process data to multiple time-series databases (InfluxDB, IoTDB, OpenSearch, Cassandra, PostgreSQL, etc.) and exposes it via GraphQL, MQTT, and OPC UA servers. The system runs as a single JVM or GraalVM native binary, orchestrated through YAML configuration files that define driver instances, logger sinks, and server endpoints. Its core architecture is built on Vert.x event bus for internal pub/sub messaging, with abstract base classes (DriverBase, LoggerBase) enabling consistent extension for new protocols or data stores. The gateway does not persist data itself; it acts as a real-time router with configurable buffering and queue reliability (memory-mapped disk queue). Key entry points include `App.kt` for the main application and `GraphQLServer.kt` for the administrative API, which supports JWT authentication, health checks, and dynamic component management. External dependencies include Eclipse Milo (OPC UA), HiveMQ MQTT client, PLC4X, Apache IoTDB Thrift, InfluxDB HTTP client, and various database drivers. The codebase is mature (v1.38) with active development, but carries some technical drift in the form of deprecated features still present in source code and a large set of reflection configurations for GraalVM native-image that require careful maintenance.

RATING: 7.1/10 MAINT: maintained DRIFT: medium
β–Έ 3 reusable components found
microsoft/PowerBI-Developer-Samples β˜… 1949 1538 APPLICATION

This repository is a collection of sample applications and scripts demonstrating how to embed Power BI reports, dashboards, and tiles into custom applications. It covers two primary embedding scenarios: 'App Owns Data' (service principal or master user authentication) and 'User Owns Data' (delegated user authentication). The samples are implemented in multiple languages and frameworks, including ASP.NET Core, ASP.NET Framework, Python Flask, Node.js Express, Java Spring MVC, and React-TS, providing a consistent pattern across stacks. Additionally, the repo includes credential encryption samples for Power BI on-premises gateway data sources, implementing asymmetric key encryption (RSA-OAEP with AES-256-CBC and HMAC-SHA256), and a set of PowerShell scripts for administrative tasks such as workspace management, deployment pipelines, and dataset refresh. The code is explicitly educational and not production-ready. It focuses on demonstrating the integration flow with the Power BI REST API and Azure AD authentication. While the samples are functional, they suffer from significant duplication across languages, with nearly identical logic reimplemented in each stack. Many dependencies are outdated (e.g., cryptography 3.4.6, Flask 2.1.2, msal 1.9.0, React 16), and the code lacks automated tests. The encryption helpers, however, are well-structured and isolated, making them potentially reusable in other projects that need to encrypt credentials for Power BI gateways. Overall, the repository serves as a practical reference for developers learning Power BI embedding, but it requires careful updating and hardening for production use.

RATING: 6.0/10 MAINT: maintained DRIFT: high
β–Έ 5 reusable components found
── end of results ──
$ submit: