Add architecture

This commit is contained in:
2024-11-02 21:19:35 +01:00
parent 191eee27ca
commit 2c9575eae8
3 changed files with 15 additions and 27 deletions

View File

@@ -11,8 +11,6 @@
``` ```
Goma Gateway is a lightweight API Gateway. Goma Gateway is a lightweight API Gateway.
Simple, easy to use, and configure.
[![Build](https://github.com/jkaninda/goma-gateway/actions/workflows/release.yml/badge.svg)](https://github.com/jkaninda/goma-gateway/actions/workflows/release.yml) [![Build](https://github.com/jkaninda/goma-gateway/actions/workflows/release.yml/badge.svg)](https://github.com/jkaninda/goma-gateway/actions/workflows/release.yml)
[![Go Report Card](https://goreportcard.com/badge/github.com/jkaninda/goma-gateway)](https://goreportcard.com/report/github.com/jkaninda/goma-gateway) [![Go Report Card](https://goreportcard.com/badge/github.com/jkaninda/goma-gateway)](https://goreportcard.com/report/github.com/jkaninda/goma-gateway)
[![Go Reference](https://pkg.go.dev/badge/github.com/jkaninda/goma-gateway.svg)](https://pkg.go.dev/github.com/jkaninda/goma-gateway) [![Go Reference](https://pkg.go.dev/badge/github.com/jkaninda/goma-gateway.svg)](https://pkg.go.dev/github.com/jkaninda/goma-gateway)
@@ -20,6 +18,13 @@ Simple, easy to use, and configure.
<img src="https://raw.githubusercontent.com/jkaninda/goma-gateway/main/logo.png" width="150" alt="Goma logo"> <img src="https://raw.githubusercontent.com/jkaninda/goma-gateway/main/logo.png" width="150" alt="Goma logo">
Architecture:
<img src="./goma-gateway.png" width="912" alt="Goma archi">
## Links: ## Links:
- [Docker Hub](https://hub.docker.com/r/jkaninda/goma-gateway) - [Docker Hub](https://hub.docker.com/r/jkaninda/goma-gateway)
@@ -27,7 +32,6 @@ Simple, easy to use, and configure.
### Documentation is found at <https://jkaninda.github.io/goma-gateway> ### Documentation is found at <https://jkaninda.github.io/goma-gateway>
### Features ### Features
It comes with a lot of integrated features, such as: It comes with a lot of integrated features, such as:
@@ -155,26 +159,18 @@ gateway:
##### Define route middlewares from middlewares names ##### Define route middlewares from middlewares names
## The name must be unique ## The name must be unique
## List of middleware name ## List of middleware name
middlewares:
- api-forbidden-paths
- basic-auth
# Example of a route | 2
- name: Authentication service
path: /auth
rewrite: /
destination: https://example.com
healthCheck: /
cors: {}
middlewares: middlewares:
- api-forbidden-paths - api-forbidden-paths
# Example of a route | 3 # Example of a route | 3
- name: Basic auth - name: Basic auth
path: /protected path: /protected
rewrite: / rewrite: /
destination: 'http://notification-service:8080' destination: https://example.com
healthCheck: healthCheck:
cors: {} cors: {}
middlewares: [] middlewares:
- api-forbidden-paths
- basic-auth
#Defines proxy middlewares #Defines proxy middlewares
# middleware name must be unique # middleware name must be unique

BIN
goma-gateway.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 KiB

View File

@@ -69,26 +69,18 @@ gateway:
##### Define route middlewares from middlewares names ##### Define route middlewares from middlewares names
## The name must be unique ## The name must be unique
## List of middleware name ## List of middleware name
middlewares:
- api-forbidden-paths
- basic-auth
# Example of a route | 2
- name: Authentication service
path: /auth
rewrite: /
destination: https://example.com
healthCheck: /
cors: {}
middlewares: middlewares:
- api-forbidden-paths - api-forbidden-paths
# Example of a route | 3 # Example of a route | 3
- name: Basic auth - name: Basic auth
path: /protected path: /protected
rewrite: / rewrite: /
destination: 'http://notification-service:8080' destination: https://example.com
healthCheck: healthCheck:
cors: {} cors: {}
middlewares: [] middlewares:
- api-forbidden-paths
- basic-auth
#Defines proxy middlewares #Defines proxy middlewares
# middleware name must be unique # middleware name must be unique