Home

Awesome

<p align="center"> <a href="https://gatewayd.io/"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/gatewayd-io/gatewayd/blob/main/assets/gatewayd-logotype-dark.png"> <img alt="GatewayD logotype" src="https://github.com/gatewayd-io/gatewayd/blob/main/assets/gatewayd-logotype-light.png"> </picture> </a> <h3 align="center">Like API gateways, for databases</h3> <p align="center">Cloud-native database gateway and framework for building data-driven applications.</p> </p> <p align="center"> <a href="https://github.com/gatewayd-io/gatewayd/releases"><img src="https://img.shields.io/github/v/release/gatewayd-io/gatewayd" alt="Downloads" /></a> <a href="https://github.com/gatewayd-io/gatewayd/actions/workflows/release.yaml"><img src="https://img.shields.io/github/actions/workflow/status/gatewayd-io/gatewayd/release.yaml" alt="Release Worflow Status" /></a> <a href="https://goreportcard.com/report/github.com/gatewayd-io/gatewayd"><img src="https://goreportcard.com/badge/github.com/gatewayd-io/gatewayd" alt="Go Report Card" /></a> <a href="https://docs.gatewayd.io/"><img src="https://img.shields.io/badge/read-docs-brightgreen" alt="Documentation"></a> <a href="https://pkg.go.dev/github.com/gatewayd-io/gatewayd"><img src="https://pkg.go.dev/badge/github.com/gatewayd-io/gatewayd.svg" alt="Go Reference"></a> <a href="https://coveralls.io/github/gatewayd-io/gatewayd?branch=main"><img src="https://coveralls.io/repos/github/gatewayd-io/gatewayd/badge.svg?branch=main" alt="Coverage Status" /></a> <a href="https://awesome-go.com/database-tools/"><img src="https://awesome.re/badge.svg" alt="Mentioned in Awesome Go" /></a> </p>

GatewayD is a free and open-source cloud-native database gateway and framework for building data-driven applications. It is a middleware that sits between your database servers and clients and proxies all their communication. It is like API gateways in system design, but instead is used for proxying database traffic, rather than HTTP traffic.

GatewayD is an L4 proxy for SQL, and eventually NoSQL, databases and clients. The core is database-protocol-agnotic, and the plugins encode, decode and add value to the database traffic flow, hence it can technically support all databases. You can either write your own plugins or make use of our built-in, community and enterprise plugins.

Using GatewayD, you can see through the queries and the data passing between your database server and clients, and take action. For example, you can cache the result of SQL SELECT queries or detect and prevent SQL injection attacks.

GatewayD is developed by GatewayD Labs and the community.

Features

Plugins & SDK

The plugins are the lifeblood of GatewayD. They are loaded on startup to add tons of functionality, for example:

The plugins are usually written in Go and are compiled into stand-alone executables. They are loaded on startup and are ready to be used by the users. In turn, the developers can write their own plugins and use them in their applications, which is made possible by using the SDK.

Documentation

The docs cover all aspects of using GatewayD. Some highlights include:

Contributing

We welcome contributions from everyone.<!-- Please read our [contributing guide](https://gatewayd-io.github.io/CONTIBUTING.md) for more details.--> Just open an issue or send us a pull request.

License

GatewayD is licensed under the Affero General Public License v3.0.