Files
goma-gateway/docs/index.md

82 lines
2.3 KiB
Markdown
Raw Normal View History

2024-11-02 12:01:29 +01:00
---
title: Overview
layout: home
nav_order: 1
---
2024-11-04 06:00:28 +01:00
# Goma Gateway
2024-11-02 12:01:29 +01:00
{:.no_toc}
2024-11-04 06:00:28 +01:00
Goma Gateway is a lightweight API Gateway Management.
2024-11-02 12:01:29 +01:00
2024-11-03 04:07:05 +01:00
<img src="https://raw.githubusercontent.com/jkaninda/goma-gateway/main/logo.png" width="150" alt="Goma logo">
It's designed to be straightforward and efficient, offering features, like:
2024-11-02 12:01:29 +01:00
2024-11-02 12:39:31 +01:00
- RESTFull API Gateway management
2024-11-02 12:01:29 +01:00
- Domain/host based request routing
- Multi domain request routing
2024-11-04 05:36:52 +01:00
- Reverse Proxy
- Websocket Proxy
2024-11-02 12:01:29 +01:00
- Cross-Origin Resource Sharing (CORS)
2024-11-04 05:35:57 +01:00
- Custom Headers
- Backend Errors interceptor
2024-11-10 20:19:46 +01:00
- Logging
- Metrics
2024-11-10 21:28:40 +01:00
- Load Balancing, round-robin algorithm
- Support TLS
- Block common exploits middleware
- Patterns to detect SQL injection attempts
- Pattern to detect simple XSS attempts
2024-11-02 12:01:29 +01:00
- Authentication middleware
- JWT `client authorization based on the result of a request`
- Basic-Auth
- OAuth
2024-11-10 20:19:46 +01:00
- Rate limiting, In-Memory client IP based
- Limit HTTP methods allowed for a particular route.
2024-11-14 15:18:39 +01:00
- Distributed rate limiting, client IP based using Redis
2024-11-02 12:01:29 +01:00
Declare your routes and middlewares as code.
2024-11-04 06:00:28 +01:00
----
2024-11-03 04:07:05 +01:00
Architecture:
<img src="https://raw.githubusercontent.com/jkaninda/goma-gateway/main/goma-gateway.png" width="912" alt="Goma archi">
2024-11-02 12:01:29 +01:00
We are open to receiving stars, PRs, and issues!
{: .fs-6 .fw-300 }
---
2024-11-07 00:00:58 +01:00
The [jkaninda/goma-gateway](https://hub.docker.com/r/jkaninda/goma-gateway) Docker image can be deployed on Docker, Docker in Swarm mode, and Kubernetes.
2024-11-02 12:01:29 +01:00
## Available image registries
This Docker image is published to both Docker Hub and the GitHub container registry.
Depending on your preferences and needs, you can reference both `jkaninda/goma-gateway` as well as `ghcr.io/jkaninda/goma-gateway`:
```
docker pull jkaninda/goma-gateway
docker pull ghcr.io/jkaninda/goma-gateway
```
Documentation references Docker Hub, but all examples will work using ghcr.io just as well.
## Supported Engines
This image is developed and tested against the Docker CE engine exclusively.
While it may work against different implementations, there are no guarantees about support for non-Docker engines.
## References
2024-11-04 06:00:28 +01:00
We decided to publish this image as a simpler and more lightweight because of the following requirements:
2024-11-02 12:01:29 +01:00
2024-11-09 15:06:09 +01:00
- The original image is based on `Alpine`, making it heavy.
2024-11-02 12:01:29 +01:00
- This image is written in Go.
- `arm64` and `arm/v7` architectures are supported.
- Docker in Swarm mode is supported.
- Kubernetes is supported.