From 4ce89bed17783ae13f6d992bce8b1b563b69c963 Mon Sep 17 00:00:00 2001 From: Jonas Kaninda Date: Mon, 18 Nov 2024 10:40:12 +0100 Subject: [PATCH] docs: update feature list --- README.md | 87 +++++++++++++++++++++++++++++++++++++-------------- docs/index.md | 84 +++++++++++++++++++++++++++++++++++-------------- 2 files changed, 123 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index a84d866..b5d72d7 100644 --- a/README.md +++ b/README.md @@ -32,32 +32,71 @@ Architecture: - [Github](https://github.com/jkaninda/goma-gateway) ### Documentation is found at -### Features -It's designed to be straightforward and efficient, offering features, like: +## Features + +It's designed to be straightforward and efficient, offering a rich set of features, including: + +### Core Features +- **RESTful API Gateway Management** + Simplify the management of your API Gateway with powerful tools. + +- **Domain/Host-Based Request Routing** + Route requests based on specific domains or hosts. + +- **Multi-Domain Request Routing** + Handle requests across multiple domains seamlessly. + +- **Reverse Proxy** + Efficiently forward client requests to backend servers. + +- **WebSocket Proxy** + Enable real-time communication via WebSocket support. + +### Security and Control +- **Cross-Origin Resource Sharing (CORS)** + Define and manage cross-origin policies for secure interactions. + +- **Custom Headers** + Add and modify headers to meet specific requirements. + +- **Backend Errors Interceptor** + Catch and handle backend errors effectively. + +- **Block Common Exploits Middleware** + - Detect patterns indicating SQL injection attempts. + - Identify basic cross-site scripting (XSS) attempts. + +- **Authentication Middleware** + - Support for **JWT** with client authorization based on request results. + - **Basic-Auth** and **OAuth** authentication mechanisms. + +### Monitoring and Performance +- **Logging** + Comprehensive request and response logging. + +- **Metrics** + Gather insights and monitor performance metrics. + +- **Rate Limiting** + - **In-Memory Rate Limiting**: Client IP-based request throttling. + - **Distributed Rate Limiting**: Leverage Redis for scalable, client IP-based rate limits. + +- **Load Balancing** + Use a round-robin algorithm for efficient load distribution. + +### Configuration and Flexibility +- **Support for Multiple Route Configuration Files** + Organize routes across multiple `.yml` or `.yaml` files. + +- **TLS Support** + Ensure secure communication with TLS integration. + +- **HTTP Method Restrictions** + Limit HTTP methods for specific routes to enhance control. + +Define your routes and middleware directly in code for seamless configuration. -- RESTFull API Gateway management -- Domain/host based request routing -- Multi domain request routing -- Reverse Proxy -- Websocket Proxy -- Cross-Origin Resource Sharing (CORS) -- Custom Headers -- Backend Errors interceptor -- Logging -- Metrics -- Load Balancing, round-robin algorithm -- Support TLS -- Block common exploits middleware - - Patterns to detect SQL injection attempts - - Pattern to detect simple XSS attempts -- Authentication middleware - - JWT `client authorization based on the result of a request` - - Basic-Auth - - OAuth -- Rate limiting, In-Memory client IP based -- Limit HTTP methods allowed for a particular route. -- Distributed rate limiting, client IP based using Redis ### Todo: - [ ] Blocklist IP address middleware diff --git a/docs/index.md b/docs/index.md index 839daec..42af2cb 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,34 +10,70 @@ Goma Gateway is a lightweight API Gateway Management. Goma logo -It's designed to be straightforward and efficient, offering features, like: -- RESTFull API Gateway management -- Domain/host based request routing -- Multi domain request routing -- Reverse Proxy -- Websocket Proxy -- Cross-Origin Resource Sharing (CORS) -- Custom Headers -- Backend Errors interceptor -- Logging -- Metrics -- Load Balancing, round-robin algorithm -- Support TLS -- Block common exploits middleware - - Patterns to detect SQL injection attempts - - Pattern to detect simple XSS attempts -- Authentication middleware - - JWT `client authorization based on the result of a request` - - Basic-Auth - - OAuth -- Rate limiting, In-Memory client IP based -- Limit HTTP methods allowed for a particular route. -- Distributed rate limiting, client IP based using Redis +## Features +It's designed to be straightforward and efficient, offering a rich set of features, including: +### Core Features +- **RESTful API Gateway Management** + Simplify the management of your API Gateway with powerful tools. -Declare your routes and middlewares as code. +- **Domain/Host-Based Request Routing** + Route requests based on specific domains or hosts. + +- **Multi-Domain Request Routing** + Handle requests across multiple domains seamlessly. + +- **Reverse Proxy** + Efficiently forward client requests to backend servers. + +- **WebSocket Proxy** + Enable real-time communication via WebSocket support. + +### Security and Control +- **Cross-Origin Resource Sharing (CORS)** + Define and manage cross-origin policies for secure interactions. + +- **Custom Headers** + Add and modify headers to meet specific requirements. + +- **Backend Errors Interceptor** + Catch and handle backend errors effectively. + +- **Block Common Exploits Middleware** + - Detect patterns indicating SQL injection attempts. + - Identify basic cross-site scripting (XSS) attempts. + +- **Authentication Middleware** + - Support for **JWT** with client authorization based on request results. + - **Basic-Auth** and **OAuth** authentication mechanisms. + +### Monitoring and Performance +- **Logging** + Comprehensive request and response logging. + +- **Metrics** + Gather insights and monitor performance metrics. + +- **Rate Limiting** + - **In-Memory Rate Limiting**: Client IP-based request throttling. + - **Distributed Rate Limiting**: Leverage Redis for scalable, client IP-based rate limits. + +- **Load Balancing** + Use a round-robin algorithm for efficient load distribution. + +### Configuration and Flexibility +- **Support for Multiple Route Configuration Files** + Organize routes across multiple `.yml` or `.yaml` files. + +- **TLS Support** + Ensure secure communication with TLS integration. + +- **HTTP Method Restrictions** + Limit HTTP methods for specific routes to enhance control. + +Define your routes and middleware directly in code for seamless configuration. ---- Architecture: