Skip to content

dgate-io/dgate-api

Repository files navigation

DGate - Distributed API Gateway

Go Report Card Go Reference CI E2E codecov License GitHub Release

DGate is a distributed API Gateway built for developers. DGate allows you to use JavaScript/TypeScript to modify request/response data(L7). Inspired by k6 and kong.

DGate is currently in development and is not ready for production use. Please use at your own discretion.

Getting Started

http://dgate.io/docs/getting-started

Installing

# requires go 1.22+

# install dgate-server
go install github.com/dgate-io/dgate-api/cmd/dgate-server@latest

# install dgate-cli
go install github.com/dgate-io/dgate-api/cmd/dgate-cli@latest

Application Architecture

DGate Server (dgate-server)

DGate Server is proxy and admin server bundled into one. the admin server is responsible for managing the state of the proxy server. The proxy server is responsible for routing requests to upstream servers. The admin server can also be used to manage the state of the cluster using the Raft Consensus Algorithm.

DGate CLI (dgate-cli)

DGate CLI is a command-line interface that can be used to interact with the DGate Server. It can be used to deploy modules, manage the state of the cluster, and more.