static_resources: listeners: - name: listener_h2c_or_h1 address: socket_address: { address: 0.0.0.0, port_value: 7860 } # start.sh přepíše na $PORT 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: local_hcm codec_type: AUTO # přijme HTTP/1.1 i h2c (curl, healthcheck i gRPC) http2_protocol_options: {} route_config: name: local_route virtual_hosts: - name: backend domains: ["*"] routes: # Zdraví (jednoduchý 200 OK, aby HF healthcheck nepadal) - match: { prefix: "/healthz" } direct_response: status: 200 body: { inline_string: "ok\n" } # Přepošli vše ostatní do gRPC serveru (HTTP/2 upstream) - match: { prefix: "/" } route: cluster: dt_grpc timeout: 0s http_filters: - name: envoy.filters.http.router typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router clusters: - name: dt_grpc type: STATIC load_assignment: cluster_name: dt_grpc endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 127.0.0.1 port_value: 7859 # start.sh přepíše pokud změníš GRPC_PORT # Upstream do gRPC serveru = HTTP/2 (bez TLS, lokální loopback) http2_protocol_options: {} admin: address: socket_address: { address: 127.0.0.1, port_value: 9901 }