147 lines
4.1 KiB
Nginx Configuration File
147 lines
4.1 KiB
Nginx Configuration File
|
static_resources:
|
||
|
listeners:
|
||
|
- name: main_listener
|
||
|
address:
|
||
|
socket_address: { address: 0.0.0.0, port_value: 10000 }
|
||
|
filter_chains:
|
||
|
- filters:
|
||
|
- name: envoy.filters.network.http_connection_manager
|
||
|
typed_config:
|
||
|
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
|
||
|
stat_prefix: ingress
|
||
|
codec_type: auto
|
||
|
route_config:
|
||
|
name: local_route
|
||
|
virtual_hosts:
|
||
|
- name: local_services
|
||
|
domains: ["*"]
|
||
|
routes:
|
||
|
- match: { prefix: "/app/" }
|
||
|
route:
|
||
|
cluster: app-service
|
||
|
prefix_rewrite: "/"
|
||
|
|
||
|
- match: { prefix: "/builder/" }
|
||
|
route:
|
||
|
cluster: app-service
|
||
|
|
||
|
- match: { prefix: "/builder" }
|
||
|
route:
|
||
|
cluster: app-service
|
||
|
|
||
|
- match: { prefix: "/app_" }
|
||
|
route:
|
||
|
cluster: app-service
|
||
|
|
||
|
# special cases for worker admin (deprecated), global and system API
|
||
|
- match: { prefix: "/api/global/" }
|
||
|
route:
|
||
|
cluster: worker-service
|
||
|
|
||
|
- match: { prefix: "/api/admin/" }
|
||
|
route:
|
||
|
cluster: worker-service
|
||
|
|
||
|
- match: { prefix: "/api/system/" }
|
||
|
route:
|
||
|
cluster: worker-service
|
||
|
|
||
|
- match: { path: "/" }
|
||
|
route:
|
||
|
cluster: app-service
|
||
|
|
||
|
- match:
|
||
|
safe_regex:
|
||
|
google_re2: {}
|
||
|
regex: "/api/.*/export"
|
||
|
route:
|
||
|
timeout: 0s
|
||
|
cluster: app-service
|
||
|
|
||
|
- match: { path: "/api/deploy" }
|
||
|
route:
|
||
|
timeout: 60s
|
||
|
cluster: app-service
|
||
|
|
||
|
# special case for when API requests are made, can just forward, not to minio
|
||
|
- match: { prefix: "/api/" }
|
||
|
route:
|
||
|
cluster: app-service
|
||
|
|
||
|
- match: { prefix: "/worker/" }
|
||
|
route:
|
||
|
cluster: worker-service
|
||
|
prefix_rewrite: "/"
|
||
|
|
||
|
- match: { prefix: "/db/" }
|
||
|
route:
|
||
|
cluster: couchdb-service
|
||
|
prefix_rewrite: "/"
|
||
|
|
||
|
# minio is on the default route because this works
|
||
|
# best, minio + AWS SDK doesn't handle path proxy
|
||
|
- match: { prefix: "/" }
|
||
|
route:
|
||
|
cluster: minio-service
|
||
|
|
||
|
http_filters:
|
||
|
- name: envoy.filters.http.router
|
||
|
|
||
|
clusters:
|
||
|
- name: app-service
|
||
|
connect_timeout: 0.25s
|
||
|
type: strict_dns
|
||
|
lb_policy: round_robin
|
||
|
load_assignment:
|
||
|
cluster_name: app-service
|
||
|
endpoints:
|
||
|
- lb_endpoints:
|
||
|
- endpoint:
|
||
|
address:
|
||
|
socket_address:
|
||
|
address: app-service.budibase.svc.cluster.local
|
||
|
port_value: 4002
|
||
|
|
||
|
- name: minio-service
|
||
|
connect_timeout: 0.25s
|
||
|
type: strict_dns
|
||
|
lb_policy: round_robin
|
||
|
load_assignment:
|
||
|
cluster_name: minio-service
|
||
|
endpoints:
|
||
|
- lb_endpoints:
|
||
|
- endpoint:
|
||
|
address:
|
||
|
socket_address:
|
||
|
address: minio-service.budibase.svc.cluster.local
|
||
|
port_value: 9000
|
||
|
|
||
|
- name: worker-service
|
||
|
connect_timeout: 0.25s
|
||
|
type: strict_dns
|
||
|
lb_policy: round_robin
|
||
|
load_assignment:
|
||
|
cluster_name: worker-service
|
||
|
endpoints:
|
||
|
- lb_endpoints:
|
||
|
- endpoint:
|
||
|
address:
|
||
|
socket_address:
|
||
|
address: worker-service.budibase.svc.cluster.local
|
||
|
port_value: 4001
|
||
|
|
||
|
- name: couchdb-service
|
||
|
connect_timeout: 0.25s
|
||
|
type: strict_dns
|
||
|
lb_policy: round_robin
|
||
|
load_assignment:
|
||
|
cluster_name: couchdb-service
|
||
|
endpoints:
|
||
|
- lb_endpoints:
|
||
|
- endpoint:
|
||
|
address:
|
||
|
socket_address:
|
||
|
address: budibase-prod-svc-couchdb
|
||
|
port_value: 5984
|
||
|
|