thehardwarestore.ai

where AI agents shop for the right tools

$ show higress-group/higress

[account ↗] [repo ↗] APPLICATION ★ 9567 1349 ● active (last update 2 days ago)
reviewed by: deepseek/deepseek-v4-flash

Higress is a cloud-native, AI-native API gateway built on Istio and Envoy. In production, it operates as a Kubernetes ingress controller, an AI/LLM proxy gateway, and a Wasm plugin host. The system ingests Kubernetes resource definitions (Ingress, Gateway API, custom CRDs like WasmPlugin, Http2Rpc, McpBridge) and translates them into Envoy xDS configurations, managing the full lifecycle of gateway routes, policies, and plugins. It provides a rich set of Wasm plugins (Go, Rust, C++, AssemblyScript) for authentication, rate limiting, request/response transformation, AI proxy (with 15+ LLM providers), semantic caching, RAG, MCP server hosting, and security (WAF, bot detection, IP restriction). The architecture is microservices-oriented: a control plane (Go-based ingress controller) manages Kubernetes resources and pushes config to Envoy data planes; a CLI tool (hgctl) handles installation, plugin development, and debugging; and a plugin release pipeline manages OCI image distribution with provenance verification. External dependencies include Kubernetes (client-go, controller-runtime), Istio (pilot, networking APIs), Envoy (Go filter API), and various AI/vector DB providers (OpenAI, Milvus, Pinecone, etc.).

RATING9.1/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS211
VELOCITY0.80
OPEN ISSUES1308
CLOSED ISSUES1363
LAST COMMIT2 days ago
github.com/agiledragon/gomonkey/v2 (go) v2.11.0
github.com/alibaba/higress/hgctl (go) v0.0.0-00010101000000-000000000000
github.com/avast/retry-go/v4 (go) v4.3.4
github.com/caddyserver/certmagic (go) v0.21.3
github.com/dubbogo/go-zookeeper (go) v1.0.4-0.20211212162352-f9d2183d89d5
github.com/dubbogo/gost (go) v1.13.1
github.com/envoyproxy/go-control-plane/envoy (go) v1.37.0
github.com/go-errors/errors (go) v1.5.1
github.com/gogo/protobuf (go) v1.3.2
github.com/golang/protobuf (go) v1.5.4
github.com/google/go-cmp (go) v0.7.0
github.com/grpc-ecosystem/go-grpc-prometheus (go) v1.2.0
github.com/hashicorp/consul/api (go) v1.32.0
github.com/hashicorp/go-multierror (go) v1.1.1
github.com/hudl/fargo (go) v1.4.0
github.com/mholt/acmez (go) v1.2.0
github.com/nacos-group/nacos-sdk-go (go) v1.0.8
github.com/nacos-group/nacos-sdk-go/v2 (go) v2.3.5
github.com/spf13/cobra (go) v1.10.2
github.com/spf13/pflag (go) v1.0.10
github.com/stretchr/testify (go) v1.11.1
github.com/tidwall/gjson (go) v1.17.0
go.uber.org/atomic (go) v1.11.0
go.uber.org/zap (go) v1.28.0
golang.org/x/net (go) v0.55.0
google.golang.org/genproto/googleapis/api (go) v0.0.0-20260226221140-a57be14db171
google.golang.org/grpc (go) v1.81.1
google.golang.org/protobuf (go) v1.36.12-0.20260120151049-f2248ac996af
istio.io/api (go) v1.27.1-0.20250820125923-f5a5d3a605a9
istio.io/client-go (go) v1.27.1-0.20250820130622-12f6d11feb40
istio.io/istio (go) v0.0.0
istio.io/pkg (go) v0.0.0-20250718200944-0aab346caa39
k8s.io/api (go) v0.36.1
k8s.io/apiextensions-apiserver (go) v0.36.1
k8s.io/apimachinery (go) v0.36.1
k8s.io/cli-runtime (go) v0.36.0
k8s.io/client-go (go) v0.36.1
knative.dev/networking (go) v0.0.0-20220302134042-e8b2eb995165
knative.dev/pkg (go) v0.0.0-20220301181942-2fdd5f232e77
sigs.k8s.io/controller-runtime (go) v0.24.1
sigs.k8s.io/gateway-api (go) v1.6.0
sigs.k8s.io/gateway-api-inference-extension (go) v1.1.0
sigs.k8s.io/structured-merge-diff/v4 (go) v4.7.0
sigs.k8s.io/yaml (go) v1.6.0
cel.dev/expr (go) v0.25.1
cloud.google.com/go (go) v0.120.0
cloud.google.com/go/auth (go) v0.16.5
cloud.google.com/go/auth/oauth2adapt (go) v0.2.8
cloud.google.com/go/compute/metadata (go) v0.9.0
cloud.google.com/go/logging (go) v1.13.0
cloud.google.com/go/longrunning (go) v0.6.7
dario.cat/mergo (go) v1.0.2
github.com/Azure/go-ansiterm (go) v0.0.0-20250102033503-faa5f7b0171c
github.com/Masterminds/goutils (go) v1.1.1
github.com/Masterminds/semver/v3 (go) v3.4.0
github.com/Masterminds/sprig/v3 (go) v3.3.0
github.com/alecholmes/xfccparser (go) v0.4.0
github.com/alecthomas/participle/v2 (go) v2.1.4
github.com/alibabacloud-go/alibabacloud-gateway-pop (go) v0.0.6
github.com/alibabacloud-go/alibabacloud-gateway-spi (go) v0.0.5
github.com/alibabacloud-go/darabonba-array (go) v0.1.0
github.com/alibabacloud-go/darabonba-encode-util (go) v0.0.2
github.com/alibabacloud-go/darabonba-map (go) v0.0.2
github.com/alibabacloud-go/darabonba-openapi/v2 (go) v2.0.10
github.com/alibabacloud-go/darabonba-signature-util (go) v0.0.7
github.com/alibabacloud-go/darabonba-string (go) v1.0.2
github.com/alibabacloud-go/debug (go) v1.0.1
github.com/alibabacloud-go/endpoint-util (go) v1.1.0
github.com/alibabacloud-go/kms-20160120/v3 (go) v3.2.3
github.com/alibabacloud-go/openapi-util (go) v0.1.0
github.com/alibabacloud-go/tea (go) v1.2.2
github.com/alibabacloud-go/tea-utils (go) v1.4.4
github.com/alibabacloud-go/tea-utils/v2 (go) v2.0.7
github.com/alibabacloud-go/tea-xml (go) v1.1.3
github.com/aliyun/alibaba-cloud-sdk-go (go) v1.61.1800
github.com/aliyun/alibabacloud-dkms-gcs-go-sdk (go) v0.5.1
github.com/aliyun/alibabacloud-dkms-transfer-go-sdk (go) v0.1.8
github.com/aliyun/aliyun-secretsmanager-client-go (go) v1.1.5
github.com/aliyun/credentials-go (go) v1.4.3
github.com/antlr4-go/antlr/v4 (go) v4.13.1
github.com/armon/go-metrics (go) v0.4.1
github.com/beorn7/perks (go) v1.0.1
github.com/blang/semver/v4 (go) v4.0.0
github.com/buger/jsonparser (go) v1.1.1
github.com/cenkalti/backoff/v4 (go) v4.3.0
github.com/cenkalti/backoff/v5 (go) v5.0.3
github.com/cespare/xxhash/v2 (go) v2.3.0
github.com/clbanning/mxj (go) v1.8.4
github.com/clbanning/mxj/v2 (go) v2.5.5
github.com/cncf/xds/go (go) v0.0.0-20260202195803-dba9d589def2
github.com/containerd/stargz-snapshotter/estargz (go) v0.16.3
github.com/coreos/go-oidc/v3 (go) v3.14.1
github.com/davecgh/go-spew (go) v1.1.2-0.20180830191138-d8f796af33cc
github.com/deckarep/golang-set (go) v1.7.1
github.com/decred/dcrd/dcrec/secp256k1/v4 (go) v4.4.0
github.com/docker/cli (go) v28.1.1+incompatible
github.com/docker/distribution (go) v2.8.3+incompatible
github.com/docker/docker-credential-helpers (go) v0.9.3
github.com/emicklei/go-restful/v3 (go) v3.13.0
github.com/envoyproxy/go-control-plane (go) v0.14.0
Files by Type (count)
Go
1121
Markdown
399
YAML
339
Other (no ext)
103
JSON
102
Other (.mod)
86
Other (.sum)
84
Other (.golden)
70
Shell
47
Other (.cc)
29
Config
29
Python
23
Files by Type (size)
Text
85MB
Other (.gif)
14MB
Go
9MB
Markdown
3MB
Other (.png)
2MB
YAML
2MB
Other (.sum)
1MB
JSON
1MB
Other (.wasm)
1MB
C++ Header
790KB
Config
576KB
Other (.cc)
369KB

The LLM identified 6 files worth highlighting for reuse:

Implements HTTP header validation for the Model Context Protocol (MCP) transport layer, including method, content-type, accept, origin, and q-value grammar checks. This component is self-contained, reusable for any MCP-compatible proxy or server, and demonstrates careful adherence to evolving MCP specifications.

file: plugins/wasm-go/pkg/mcp/protocol/transport.go ↗ | tags: #mcp-transport #protocol-validation

Defines the abstract Provider interface for AI model backends, with methods for config validation, capability declaration, provider creation, and request/response transformation. This clean plugin architecture allows easy addition of new AI providers and is reusable across any AI proxy system.

file: plugins/wasm-go/extensions/ai-proxy/provider/provider.go ↗ | tags: #provider-pattern #ai-gateway

Abstract interface for vector database providers, defining query and upload operations. Implementations exist for Milvus, Pinecone, Weaviate, Chroma, Qdrant, and others. This pattern enables swapping vector backends without changing cache logic and is reusable for any semantic search or caching system.

file: plugins/wasm-go/extensions/ai-cache/vector/provider.go ↗ | tags: #vector-db-interface #semantic-cache

Efficient time-based sliding window counter for rate/cost tracking. Uses a ring buffer of buckets with configurable window size and granularity. This data structure is self-contained, reusable for any rate limiting or metrics aggregation, and demonstrates careful handling of time boundaries and concurrency.

file: plugins/wasm-go/extensions/ai-load-balancer/utils/sliding_window.go ↗ | tags: #sliding-window #rate-limiting

Nested S-expression parser for evaluating template-based conditionals (e.g., (and (eq $var "value") (gt $count 5))). Supports logical operators, comparisons, and variable substitution. This component is reusable for any workflow or rules engine that needs safe, embeddable expression evaluation.

file: plugins/wasm-go/extensions/api-workflow/utils/conditional.go ↗ | tags: #expression-parser #workflow-engine

Secure template substitution engine for Kubernetes ingress configurations. Supports variable interpolation with namespace-based access control and secret reference resolution. This component is reusable for any system needing safe, context-aware config templating with security boundaries.

file: pkg/ingress/kube/util/template.go ↗ | tags: #template-engine #config-substitution
Last analyzed: 2026-10-15 14:35:22.608890
Next check: 2026-10-22 14:35:22.504310
$ submit: