MCPcopy
hub / github.com/eolinker/goku_lite

github.com/eolinker/goku_lite @3.1.3 sqlite

repository ↗ · DeepWiki ↗ · release 3.1.3 ↗
4,872 symbols 13,406 edges 561 files 2,221 documented · 46%
README

Gitter Go Report Card CII Best Practices

Goku API Gateway is a Golang-based microservice gateway that enables high-performance dynamic routing,service orchestration, multi-tenancy management, API access control, etc. It's also suitable for API management under micro-service system.

Goku provides graphic interface and plug-in system to make configuration easier and expand more convenient.

Summary / 中文介绍

Why Goku

Goku API Gateway is a microservice gateway that runs on the boundaries of enterprise system services. When you build websites, apps, IOT, and even API transactions, Goku API Gateway can help you extract duplicate components from your internal system and place them on the Goku gateway, such as user authorization, access control, traffic monitoring, firewalls, data cache, data conversion and so on.

Goku API Gateway CE provides comprehensive usage guide and customization guide. Goku is written in pure Go language, with good performance and scalability, and the built-in plug-in system enables enterprises to customize development for their own business.

Goku API Gateway also can combine with EOLINK API Studio to enhance API Management,API Monitor and Automated test.

All in all, Goku API Gateway enables enterprise to focus on their business.

Stargazers over time

Product Features

  • Dashboard: Built-in dashboard to configure Goku.
  • Cluster Management:Goku nodes are stateless and can be expanded horizontally. Also the configuration can be synchronized automatically.
  • Hot Updates: Continuously updates configurations without restart nodes.
  • Orchestration:Orchestration can correspond to multiple backends. The backend input parameter supports the client incoming, and also supports the parameter transfer between backend. The return data of backend supports filter, delete, move, rename, target and group. API can set the exception return when the orchestration call fails.
  • **Data transform ** :Support for converting returned data to JSON or XML.
  • Load balancing: Round-robin load balancing with weight.
  • Service Discovery: Service discorvery from Consul or Eureka.
  • HTTP(S) Forward Proxy: Hide real backend services, support Rest API, Webservice.
  • Multi-tenant management: According to different strategies to regnorize different users.
  • Strategies: Support different strategies to access different APIs, configure different authentication (anonymous, Apikey, Basic) and so on.
  • API Alert: Support the webhook and email to alert abnormal services.
  • Flexible transmit rules: support fuzzy matching request path, support rewriting transmit path, etc.
  • IP Whitelist/Blacklist
  • Custom plugins: Allow plugins to be mounted in common phases, such as before match, access, and proxy.
  • CLI: Start\stop\reload Goku through the command line.
  • Serverless: Invoke functions in each phase in Goku.
  • Access Log:Only record the basic content in proxy, customize the record fields and sort order, and automatically clean up the logs periodically.
  • System Log:Provide running logs of consoles and nodes,only record the error information, adjust the level to INFO, WARN or DEBUG according to the actual situation.
  • Scalability: plug-in mechanism is easy to extend.
  • High performance: Performance excels among many gateways.
  • Open API:Provide OPEN API for users to operate on the gateway for easy integration.
  • Configured version management : Support for the release of operations and multiple rollbacks.
  • Monitoring and indicators: Support for Prometheus, Graphite.

Benchmark

Benchmark Detail

Console Preview

Console Preview Detail

Quick Start

Enterprise Support

Goku API Gateway EE (Enterprise Version) has more powerful functions, plug-in libraries and professional technical support services. If you want to know more details, you can contact us in the following ways. - Apply for free trial and demonstration of Enterprise Version:Appointment trial - Market Cooperation Mail:market@eolinker.com - Purchase consultation Mail:sales@eolinker.com - Help Center:help.eolinker.com - QQ Group: 725853895

About Us

EOLINK is a leading API management service provider, providing professional API research and development management, API automated test service, API monitor service, API gateway and other services for more than 3000 enterprises worldwide. It is the first enterprise to formulate API R&D management industry norms for ITSS.

Official website :https://www.eolinker.com Free download of PC client :https://www.eolinker.com/pc

License

Copyright 2017-2019 Eolink Inc.

Licensed under the GNU General Public License v3.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at http://www.gnu.org/licenses/gpl-3.0.html

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.

Extension points exported contracts — how you extend this code

GokuHandler (Interface)
GokuHandler gokuHandler [23 implementers]
goku-handler/handler.go
Counter (Interface)
Counter counter [11 implementers]
diting/metric.go
ConfigLogDao (Interface)
ConfigLogDao config-log [6 implementers]
server/dao/daos.go
Values (Interface)
Values values [10 implementers]
common/auto-form/auto.go
IHttpApplication (Interface)
IHttpApplication iHttpApplication [8 implementers]
goku-service/application/application.go
Driver (Interface)
Driver driver [11 implementers]
goku-service/discovery/drivers.go
Application (Interface)
Application application [6 implementers]
node/gateway/application/app.go
Proxy (Interface)
Proxy proxy [5 implementers]
diting/proxy.go

Core symbols most depended-on inside this repo

WriteError
called by 361
console/controller/utils.go
require
called by 331
console/static/src/libs/ace-builds/src/ace.js
append
called by 244
console/static/src/app/vendor.js
warning
called by 204
console/static/src/libs/ace-builds/src/worker-javascript.js
forEach
called by 181
console/static/libs/angular/angular.js
advance
called by 168
console/static/src/libs/ace-builds/src/worker-javascript.js
forEach
called by 165
console/static/src/app/vendor.js
Exec
called by 149
console/updater/updater.go

Shape

Function 3,252
Method 1,164
Struct 323
Interface 79
TypeAlias 38
FuncType 16

Languages

Go50%
TypeScript50%

Modules by API surface

console/static/src/app/vendor.js701 symbols
console/static/libs/angular/angular.js557 symbols
console/static/libs/angular/angular.min.js278 symbols
console/static/src/libs/ace-builds/src/worker-javascript.js244 symbols
server/dao/daos.go200 symbols
console/static/src/libs/ace-builds/src/ace.js178 symbols
console/static/libs/angular-ui-router/release/angular-ui-router.js112 symbols
goku-node/redis-plugin-proxy/proxy.go89 symbols
console/static/libs/angular-ui-router/release/angular-ui-router.min.js39 symbols
console/static/libs/angular-ui-router/src/urlMatcherFactory.js33 symbols
goku-log/exported.go32 symbols
common/auto-form/auto.go29 symbols

Dependencies from manifests, versioned

github.com/cosiner/argvv0.0.1 · 1×
github.com/devopsfaith/krakendv0.0.0-2019093009245 · 1×
github.com/eolinker/goku-pluginv0.1.3 · 1×
github.com/go-redis/redisv6.15.5+incompatible · 1×
github.com/json-iterator/gov1.1.7 · 1×
github.com/konsorten/go-windows-terminal-sequencesv1.0.2 · 1×
github.com/marpaia/graphite-golangv0.0.0-2019051902481 · 1×
github.com/mattn/go-colorablev0.1.4 · 1×
github.com/mattn/go-isattyv0.0.10 · 1×

For agents

$ claude mcp add goku_lite \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact