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: # special case to redirect specifically the route path # to the builder, if this were a prefix then it would break minio - match: { path: "/" } redirect: { path_redirect: "/builder/" } - match: { prefix: "/db/" } route: cluster: couchdb-service prefix_rewrite: "/" - match: { prefix: "/api/admin/" } route: cluster: worker-dev - match: { prefix: "/api/" } route: cluster: server-dev - match: { prefix: "/app_" } route: cluster: server-dev - match: { prefix: "/app/" } route: cluster: server-dev prefix_rewrite: "/" # the below three cases are needed to make sure # all traffic prefixed for the builder is passed through # correctly. - match: { path: "/" } route: cluster: builder-dev - match: { prefix: "/builder/" } route: cluster: builder-dev - match: { prefix: "/builder" } route: cluster: builder-dev prefix_rewrite: "/builder/" # 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: 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 port_value: 9000 - 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: couchdb-service port_value: 5984 - name: server-dev connect_timeout: 0.25s type: strict_dns lb_policy: round_robin load_assignment: cluster_name: server-dev endpoints: - lb_endpoints: - endpoint: address: socket_address: address: {{ address }} port_value: 4001 - name: builder-dev connect_timeout: 15s type: strict_dns lb_policy: round_robin load_assignment: cluster_name: builder-dev endpoints: - lb_endpoints: - endpoint: address: socket_address: address: {{ address }} port_value: 3000 - name: worker-dev connect_timeout: 0.25s type: strict_dns lb_policy: round_robin load_assignment: cluster_name: worker-dev endpoints: - lb_endpoints: - endpoint: address: socket_address: address: {{ address }} port_value: 4002