static_resources: listeners: - name: rustbox_http address: socket_address: address: 0.0.0.0 port_value: 8080 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: rustbox_ingress use_remote_address: true upgrade_configs: - upgrade_type: websocket route_config: name: rustbox_routes virtual_hosts: - name: rustbox domains: ["*"] response_headers_to_add: - header: key: X-RustBox-Backend value: "%UPSTREAM_REMOTE_ADDRESS%" append_action: OVERWRITE_IF_EXISTS_OR_ADD routes: - match: prefix: "/" route: cluster: rustbox timeout: 0s http_filters: - name: envoy.filters.http.router typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router clusters: - name: rustbox type: STRICT_DNS connect_timeout: 2s lb_policy: ROUND_ROBIN health_checks: - timeout: 2s interval: 5s unhealthy_threshold: 2 healthy_threshold: 1 http_health_check: path: /api/health load_assignment: cluster_name: rustbox endpoints: - lb_endpoints: - endpoint: address: socket_address: address: rustbox-1 port_value: 3001 - endpoint: address: socket_address: address: rustbox-2 port_value: 3001