docs: update configuration deployment

This commit is contained in:
2024-11-09 04:52:05 +01:00
parent 8730fcd98e
commit ea1dbf26bd
5 changed files with 69 additions and 12 deletions

View File

@@ -112,10 +112,16 @@ services:
- ./config:/etc/goma/
```
## Supported Systems
## Requirement
- [x] Linux
- [x] MacOS
- [x] Windows
## Deployment
- Docker
- Kubernetes
## Contributing
@@ -126,6 +132,8 @@ The Goma Gateway project welcomes all contributors. We appreciate your help!
If you like or are using Goma Gateway, please give it a star. Thanks!
Please share.
## License

View File

@@ -9,7 +9,7 @@ services:
start_period: 20s
timeout: 10s
ports:
- "80:8080"
- "443:8443"
- "8080:8080"
- "8443:8443"
volumes:
- ./config:/etc/goma/
- ./:/etc/goma/

View File

@@ -4,20 +4,21 @@ metadata:
name: goma-config
data:
goma.yml: |
# Goma Gateway configurations
# Goma Gateway configurations
version: 0.1.7
gateway:
# Proxy write timeout
writeTimeout: 15
# Proxy read timeout
readTimeout: 15
# Proxy idle timeout
idleTimeout: 60
idleTimeout: 30
## SSL Certificate file
sslCertFile: '' #cert.pem
## SSL Private Key file
sslKeyFile: ''#key.pem
# Proxy rate limit, it's In-Memory IP based
rateLimiter: 0
rateLimit: 0
accessLog: "/dev/Stdout"
errorLog: "/dev/stderr"
## Enable, disable routes health check
@@ -28,6 +29,8 @@ data:
disableDisplayRouteOnStart: false
# disableKeepAlive allows enabling and disabling KeepALive server
disableKeepAlive: false
# Block common exploits | detect SQL injection, and simple XSS attempts
blockCommonExploits: false
# interceptErrors intercepts backend errors based on defined the status codes
interceptErrors:
- 405
@@ -47,7 +50,7 @@ data:
##### Define routes
routes:
# Example of a route | 1
- name: Public
- name: Public # Name is optional
# host Domain/host based request routing
host: "" # Host is optional
path: /public
@@ -55,6 +58,8 @@ data:
# e.g rewrite: /store to /
rewrite: /
destination: https://example.com
# Limit HTTP methods allowed for this route
methods: [POST, PUT, GET]
#DisableHeaderXForward Disable X-forwarded header.
# [X-Forwarded-Host, X-Forwarded-For, Host, Scheme ]
# It will not match the backend route, by default, it's disabled
@@ -84,6 +89,7 @@ data:
path: /protected
rewrite: /
destination: https://example.com
methods: []
healthCheck:
cors: {}
middlewares:

View File

@@ -6,7 +6,7 @@ gateway:
# Proxy read timeout
readTimeout: 15
# Proxy idle timeout
idleTimeout: 60
idleTimeout: 30
## SSL Certificate file
sslCertFile: '' #cert.pem
## SSL Private Key file
@@ -23,6 +23,7 @@ gateway:
disableDisplayRouteOnStart: false
# disableKeepAlive allows enabling and disabling KeepALive server
disableKeepAlive: false
# Block common exploits | detect SQL injection, and simple XSS attempts
blockCommonExploits: false
# interceptErrors intercepts backend errors based on defined the status codes
interceptErrors:
@@ -43,7 +44,7 @@ gateway:
##### Define routes
routes:
# Example of a route | 1
- name: Public
- name: Public # Name is optional
# host Domain/host based request routing
host: "" # Host is optional
path: /public
@@ -51,6 +52,7 @@ gateway:
# e.g rewrite: /store to /
rewrite: /
destination: https://example.com
# Limit HTTP methods allowed for this route
methods: [POST, PUT, GET]
#DisableHeaderXForward Disable X-forwarded header.
# [X-Forwarded-Host, X-Forwarded-For, Host, Scheme ]
@@ -81,6 +83,7 @@ gateway:
path: /protected
rewrite: /
destination: https://example.com
methods: []
healthCheck:
cors: {}
middlewares:
@@ -139,3 +142,43 @@ middlewares:
- /api-docs/*
- /internal/*
- /actuator/*
- name: oauth-google
type: oauth
paths:
- /protected
- /example-of-oauth
rule:
clientId: xxx
clientSecret: xxx
provider: google
endpoint:
userInfoUrl: ""
redirectUrl: http://localhost:8080/callback
redirectPath: ""
cookiePath: ""
scopes:
- https://www.googleapis.com/auth/userinfo.email
- https://www.googleapis.com/auth/userinfo.profile
state: randomStateString
jwtSecret: your-strong-jwt-secret | It's optional
- name: oauth-authentik
type: oauth
paths:
- /protected
- /example-of-oauth
rule:
clientId: xxx
clientSecret: xxx
provider: custom
endpoint:
authUrl: https://authentik.example.com/application/o/authorize/
tokenUrl: https://authentik.example.com/application/o/token/
userInfoUrl: https://authentik.example.com/application/o/userinfo/
redirectUrl: http://localhost:8080/callback
redirectPath: ""
cookiePath: ""
scopes:
- email
- openid
state: randomStateString
jwtSecret: your-strong-jwt-secret | It's optional

View File

@@ -5,7 +5,7 @@ gateway:
# Proxy read timeout
readTimeout: 15
# Proxy idle timeout
idleTimeout: 60
idleTimeout: 30
## SSL Certificate file
sslCertFile: '' #cert.pem
## SSL Private Key file