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