docs: update configuration deployment
This commit is contained in:
10
README.md
10
README.md
@@ -112,10 +112,16 @@ services:
|
|||||||
- ./config:/etc/goma/
|
- ./config:/etc/goma/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Supported Systems
|
||||||
|
|
||||||
## Requirement
|
- [x] Linux
|
||||||
|
- [x] MacOS
|
||||||
|
- [x] Windows
|
||||||
|
|
||||||
|
## Deployment
|
||||||
|
|
||||||
- Docker
|
- Docker
|
||||||
|
- Kubernetes
|
||||||
|
|
||||||
## Contributing
|
## 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!
|
If you like or are using Goma Gateway, please give it a star. Thanks!
|
||||||
|
|
||||||
|
Please share.
|
||||||
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ services:
|
|||||||
start_period: 20s
|
start_period: 20s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
ports:
|
ports:
|
||||||
- "80:8080"
|
- "8080:8080"
|
||||||
- "443:8443"
|
- "8443:8443"
|
||||||
volumes:
|
volumes:
|
||||||
- ./config:/etc/goma/
|
- ./:/etc/goma/
|
||||||
|
|||||||
@@ -5,19 +5,20 @@ metadata:
|
|||||||
data:
|
data:
|
||||||
goma.yml: |
|
goma.yml: |
|
||||||
# Goma Gateway configurations
|
# Goma Gateway configurations
|
||||||
|
version: 0.1.7
|
||||||
gateway:
|
gateway:
|
||||||
# Proxy write timeout
|
# Proxy write timeout
|
||||||
writeTimeout: 15
|
writeTimeout: 15
|
||||||
# Proxy read timeout
|
# Proxy read timeout
|
||||||
readTimeout: 15
|
readTimeout: 15
|
||||||
# Proxy idle timeout
|
# Proxy idle timeout
|
||||||
idleTimeout: 60
|
idleTimeout: 30
|
||||||
## SSL Certificate file
|
## SSL Certificate file
|
||||||
sslCertFile: '' #cert.pem
|
sslCertFile: '' #cert.pem
|
||||||
## SSL Private Key file
|
## SSL Private Key file
|
||||||
sslKeyFile: ''#key.pem
|
sslKeyFile: ''#key.pem
|
||||||
# Proxy rate limit, it's In-Memory IP based
|
# Proxy rate limit, it's In-Memory IP based
|
||||||
rateLimiter: 0
|
rateLimit: 0
|
||||||
accessLog: "/dev/Stdout"
|
accessLog: "/dev/Stdout"
|
||||||
errorLog: "/dev/stderr"
|
errorLog: "/dev/stderr"
|
||||||
## Enable, disable routes health check
|
## Enable, disable routes health check
|
||||||
@@ -28,6 +29,8 @@ data:
|
|||||||
disableDisplayRouteOnStart: false
|
disableDisplayRouteOnStart: false
|
||||||
# disableKeepAlive allows enabling and disabling KeepALive server
|
# disableKeepAlive allows enabling and disabling KeepALive server
|
||||||
disableKeepAlive: false
|
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 intercepts backend errors based on defined the status codes
|
||||||
interceptErrors:
|
interceptErrors:
|
||||||
- 405
|
- 405
|
||||||
@@ -47,7 +50,7 @@ data:
|
|||||||
##### Define routes
|
##### Define routes
|
||||||
routes:
|
routes:
|
||||||
# Example of a route | 1
|
# Example of a route | 1
|
||||||
- name: Public
|
- name: Public # Name is optional
|
||||||
# host Domain/host based request routing
|
# host Domain/host based request routing
|
||||||
host: "" # Host is optional
|
host: "" # Host is optional
|
||||||
path: /public
|
path: /public
|
||||||
@@ -55,6 +58,8 @@ data:
|
|||||||
# e.g rewrite: /store to /
|
# e.g rewrite: /store to /
|
||||||
rewrite: /
|
rewrite: /
|
||||||
destination: https://example.com
|
destination: https://example.com
|
||||||
|
# Limit HTTP methods allowed for this route
|
||||||
|
methods: [POST, PUT, GET]
|
||||||
#DisableHeaderXForward Disable X-forwarded header.
|
#DisableHeaderXForward Disable X-forwarded header.
|
||||||
# [X-Forwarded-Host, X-Forwarded-For, Host, Scheme ]
|
# [X-Forwarded-Host, X-Forwarded-For, Host, Scheme ]
|
||||||
# It will not match the backend route, by default, it's disabled
|
# It will not match the backend route, by default, it's disabled
|
||||||
@@ -84,6 +89,7 @@ data:
|
|||||||
path: /protected
|
path: /protected
|
||||||
rewrite: /
|
rewrite: /
|
||||||
destination: https://example.com
|
destination: https://example.com
|
||||||
|
methods: []
|
||||||
healthCheck:
|
healthCheck:
|
||||||
cors: {}
|
cors: {}
|
||||||
middlewares:
|
middlewares:
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ gateway:
|
|||||||
# Proxy read timeout
|
# Proxy read timeout
|
||||||
readTimeout: 15
|
readTimeout: 15
|
||||||
# Proxy idle timeout
|
# Proxy idle timeout
|
||||||
idleTimeout: 60
|
idleTimeout: 30
|
||||||
## SSL Certificate file
|
## SSL Certificate file
|
||||||
sslCertFile: '' #cert.pem
|
sslCertFile: '' #cert.pem
|
||||||
## SSL Private Key file
|
## SSL Private Key file
|
||||||
@@ -23,6 +23,7 @@ gateway:
|
|||||||
disableDisplayRouteOnStart: false
|
disableDisplayRouteOnStart: false
|
||||||
# disableKeepAlive allows enabling and disabling KeepALive server
|
# disableKeepAlive allows enabling and disabling KeepALive server
|
||||||
disableKeepAlive: false
|
disableKeepAlive: false
|
||||||
|
# Block common exploits | detect SQL injection, and simple XSS attempts
|
||||||
blockCommonExploits: false
|
blockCommonExploits: false
|
||||||
# interceptErrors intercepts backend errors based on defined the status codes
|
# interceptErrors intercepts backend errors based on defined the status codes
|
||||||
interceptErrors:
|
interceptErrors:
|
||||||
@@ -43,7 +44,7 @@ gateway:
|
|||||||
##### Define routes
|
##### Define routes
|
||||||
routes:
|
routes:
|
||||||
# Example of a route | 1
|
# Example of a route | 1
|
||||||
- name: Public
|
- name: Public # Name is optional
|
||||||
# host Domain/host based request routing
|
# host Domain/host based request routing
|
||||||
host: "" # Host is optional
|
host: "" # Host is optional
|
||||||
path: /public
|
path: /public
|
||||||
@@ -51,6 +52,7 @@ gateway:
|
|||||||
# e.g rewrite: /store to /
|
# e.g rewrite: /store to /
|
||||||
rewrite: /
|
rewrite: /
|
||||||
destination: https://example.com
|
destination: https://example.com
|
||||||
|
# Limit HTTP methods allowed for this route
|
||||||
methods: [POST, PUT, GET]
|
methods: [POST, PUT, GET]
|
||||||
#DisableHeaderXForward Disable X-forwarded header.
|
#DisableHeaderXForward Disable X-forwarded header.
|
||||||
# [X-Forwarded-Host, X-Forwarded-For, Host, Scheme ]
|
# [X-Forwarded-Host, X-Forwarded-For, Host, Scheme ]
|
||||||
@@ -81,6 +83,7 @@ gateway:
|
|||||||
path: /protected
|
path: /protected
|
||||||
rewrite: /
|
rewrite: /
|
||||||
destination: https://example.com
|
destination: https://example.com
|
||||||
|
methods: []
|
||||||
healthCheck:
|
healthCheck:
|
||||||
cors: {}
|
cors: {}
|
||||||
middlewares:
|
middlewares:
|
||||||
@@ -139,3 +142,43 @@ middlewares:
|
|||||||
- /api-docs/*
|
- /api-docs/*
|
||||||
- /internal/*
|
- /internal/*
|
||||||
- /actuator/*
|
- /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
|
||||||
2
goma.yml
2
goma.yml
@@ -5,7 +5,7 @@ gateway:
|
|||||||
# Proxy read timeout
|
# Proxy read timeout
|
||||||
readTimeout: 15
|
readTimeout: 15
|
||||||
# Proxy idle timeout
|
# Proxy idle timeout
|
||||||
idleTimeout: 60
|
idleTimeout: 30
|
||||||
## SSL Certificate file
|
## SSL Certificate file
|
||||||
sslCertFile: '' #cert.pem
|
sslCertFile: '' #cert.pem
|
||||||
## SSL Private Key file
|
## SSL Private Key file
|
||||||
|
|||||||
Reference in New Issue
Block a user