mirror of
https://github.com/hanzoai/gateway.git
synced 2026-10-30 15:04:44 +00:00
Complete rebrand of the fork from KrakenD naming to Hanzo Gateway: - Go package: `package krakend` → `package gateway` (9 source files) - Directory: cmd/krakend-ce → cmd/gateway, cmd/krakend-integration → cmd/gateway-integration - Config files: krakend.json → gateway.json (configs, test fixtures) - Dockerfile: user, paths, binary all renamed to gateway - K8s manifests: deployment/service/ingress names, labels, env vars (KRAKEND_PORT → GATEWAY_PORT), configmap names, mount paths - Added enableServiceLinks: false to prevent K8s service link injection - Makefile: all build/deploy targets updated - GitHub Actions: configmap and deployment references updated - Builder/systemd: init scripts, service files, logrotate renamed - Log prefix: [KRAKEND] → [GATEWAY] - Test flags: krakend_* → gateway_* - README and SECURITY.md updated Upstream references preserved (not renamed): - github.com/krakend/* import paths (external dependencies) - core.KrakendVersion, KrakendHeaderName, KrakendHeaderValue (upstream API) - X-Krakend-* HTTP headers (set by upstream Lura framework) - devopsfaith/krakend config alias keys (upstream compatibility) - krakendbf variable (upstream bloomfilter package alias)
44 lines
1.7 KiB
Go
44 lines
1.7 KiB
Go
package gateway
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
cel "github.com/krakend/krakend-cel/v2"
|
|
jsonschema "github.com/krakend/krakend-jsonschema/v2"
|
|
lua "github.com/krakend/krakend-lua/v2/proxy"
|
|
metrics "github.com/krakend/krakend-metrics/v2/gin"
|
|
opencensus "github.com/krakend/krakend-opencensus/v2"
|
|
"github.com/luraproject/lura/v2/config"
|
|
"github.com/luraproject/lura/v2/logging"
|
|
"github.com/luraproject/lura/v2/proxy"
|
|
)
|
|
|
|
func internalNewProxyFactory(logger logging.Logger, backendFactory proxy.BackendFactory,
|
|
metricCollector *metrics.Metrics) proxy.Factory {
|
|
|
|
proxyFactory := proxy.NewDefaultFactory(backendFactory, logger)
|
|
proxyFactory = proxy.NewShadowFactory(proxyFactory)
|
|
proxyFactory = jsonschema.ProxyFactory(logger, proxyFactory)
|
|
proxyFactory = cel.ProxyFactory(logger, proxyFactory)
|
|
proxyFactory = lua.ProxyFactory(logger, proxyFactory)
|
|
proxyFactory = metricCollector.ProxyFactory("pipe", proxyFactory)
|
|
proxyFactory = opencensus.ProxyFactory(proxyFactory)
|
|
return proxyFactory
|
|
}
|
|
|
|
// NewProxyFactory returns a new ProxyFactory wrapping the injected BackendFactory with the default proxy stack and a metrics collector
|
|
func NewProxyFactory(logger logging.Logger, backendFactory proxy.BackendFactory, metricCollector *metrics.Metrics) proxy.Factory {
|
|
proxyFactory := internalNewProxyFactory(logger, backendFactory, metricCollector)
|
|
|
|
return proxy.FactoryFunc(func(cfg *config.EndpointConfig) (proxy.Proxy, error) {
|
|
logger.Debug(fmt.Sprintf("[ENDPOINT: %s] Building the proxy pipe", cfg.Endpoint))
|
|
return proxyFactory.New(cfg)
|
|
})
|
|
}
|
|
|
|
type proxyFactory struct{}
|
|
|
|
func (proxyFactory) NewProxyFactory(logger logging.Logger, backendFactory proxy.BackendFactory, metricCollector *metrics.Metrics) proxy.Factory {
|
|
return NewProxyFactory(logger, backendFactory, metricCollector)
|
|
}
|