istio.io/istio@v0.0.0-20240520182934-d79c90f27776/tests/testdata/bootstrap_tmpl.json (about) 1 { 2 "node": { 3 "id": "{{ .EnvoyConfigOpt.NodeID }}", 4 "cluster": "mycluster", 5 "locality": { 6 "zone": "testzone" 7 }, 8 "metadata": { 9 {{ .EnvoyConfigOpt.meta_json_str }} 10 } 11 }, 12 "stats_config": { 13 "use_all_default_tags": false 14 }, 15 "admin": { 16 "access_log_path": "{{.AccessLogPath}}", 17 "address": { 18 "socket_address": { 19 "address": "0.0.0.0", 20 "port_value": {{.Ports.AdminPort}} 21 } 22 } 23 }, 24 "layered_runtime": { 25 "layers": [ 26 { 27 "name": "deprecation", 28 "static_layer": { 29 "envoy.deprecated_features:envoy.config.listener.v3.Listener.hidden_envoy_deprecated_use_original_dst": true, 30 "re2.max_program_size.error_level": 1024 31 } 32 }, 33 { 34 "name": "admin", 35 "admin_layer": {} 36 } 37 ] 38 }, 39 "dynamic_resources": { 40 "lds_config": { 41 "resource_api_version": "V3", 42 "ads": {} 43 }, 44 "cds_config": { 45 "resource_api_version": "V3", 46 "ads": {} 47 }, 48 "ads_config": { 49 "api_type": "GRPC", 50 "transport_api_version": "V3", 51 "grpc_services": { 52 "envoy_grpc": { 53 "cluster_name": "xds-grpc" 54 } 55 }, 56 "refresh_delay": { 57 "seconds": 30, 58 "nanos": 0 59 } 60 } 61 }, 62 "static_resources": { 63 "listeners": [ 64 { 65 "name": "http_0.0.0.0_{{.Ports.ServerProxyPort}}", 66 "address": { 67 "socket_address": { 68 "address": "0.0.0.0", 69 "port_value": {{.Ports.ServerProxyPort}} 70 } 71 }, 72 "filter_chains": [ 73 { 74 "filters": [ 75 { 76 "name": "envoy.filters.network.http_connection_manager", 77 "typed_config": { 78 "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", 79 "stat_prefix": "http", 80 "route_config": { 81 "name": "default", 82 "virtual_hosts": [ 83 { 84 "name": "backend", 85 "domains": [ 86 "*" 87 ], 88 "routes": [ 89 { 90 "match": { 91 "prefix": "/" 92 }, 93 "route": { 94 "cluster": "service1" 95 } 96 } 97 ] 98 } 99 100 ] 101 }, 102 "http_filters": [ 103 { 104 "name": "envoy.cors" 105 }, 106 { 107 "name": "envoy.filters.http.router" 108 } 109 ] 110 } 111 } 112 ] 113 } 114 ] 115 }, 116 { 117 "name": "http_0.0.0.0_{{.Ports.ClientProxyPort}}", 118 "address": { 119 "socket_address": { 120 "address": "0.0.0.0", 121 "port_value": {{.Ports.ClientProxyPort}} 122 } 123 }, 124 "filter_chains": [ 125 { 126 "filters": [ 127 { 128 "name": "envoy.filters.network.http_connection_manager", 129 "typed_config": { 130 "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", 131 "stat_prefix": "http", 132 "route_config": { 133 "name": "default", 134 "virtual_hosts": [ 135 { 136 "name": "backend", 137 "domains": [ 138 "*" 139 ], 140 "routes": [ 141 { 142 "match": { 143 "prefix": "/" 144 }, 145 "route": { 146 "cluster": "service2" 147 } 148 } 149 ] 150 } 151 152 ] 153 }, 154 "http_filters": [ 155 { 156 "name": "envoy.cors" 157 }, 158 { 159 "name": "envoy.filters.http.router" 160 } 161 ] 162 163 164 } 165 } 166 ] 167 } 168 ] 169 }, 170 { 171 "name": "tcpproxy", 172 "address": { 173 "socket_address": { 174 "address": "0.0.0.0", 175 "port_value": {{.Ports.TCPProxyPort}} 176 } 177 }, 178 "filter_chains": [ 179 { 180 "filters": [ 181 { 182 "name": "envoy.tcp_proxy", 183 "typed_config": { 184 "@type": "type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy", 185 "stat_prefix": "tcpproxy", 186 "cluster": "service1" 187 } 188 } 189 ] 190 } 191 ] 192 }, 193 { 194 "name": "http_proxy_80", 195 "address": { 196 "socket_address": { 197 "address": "0.0.0.0", 198 "port_value": 17002 199 } 200 }, 201 202 "filter_chains": [ 203 { 204 "filters": [ 205 { 206 "name": "envoy.filters.network.http_connection_manager", 207 "typed_config": { 208 "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", 209 "codec_type": "AUTO", 210 "stat_prefix": "http_proxy", 211 "http_filters": [ 212 {"name": "envoy.filters.http.router" 213 } 214 ], 215 "rds": { 216 "route_config_name": "80", 217 "config_source": {"resource_api_version": "V3","ads": {}} 218 }, 219 "http_protocol_options": { 220 "allow_absolute_url": true 221 }, 222 "access_log": [ 223 { 224 "name": "envoy.access_loggers.file", 225 "typedConfig": { 226 "@type": "type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog", 227 "path": "{{.AccessLogPath}}" 228 } 229 } 230 ] 231 232 } 233 } 234 ] 235 } 236 ] 237 }, 238 { 239 "name": "http_proxy_all", 240 "address": { 241 "socket_address": { 242 "address": "0.0.0.0", 243 "port_value": 17003 244 } 245 }, 246 247 "filter_chains": [ 248 { 249 "filters": [ 250 { 251 "name": "envoy.filters.network.http_connection_manager", 252 "typed_config": { 253 "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", 254 "codec_type": "AUTO", 255 "stat_prefix": "http_proxy", 256 "http_filters": [ 257 {"name": "envoy.filters.http.router" 258 } 259 ], 260 "rds": { 261 "route_config_name": "http_proxy", 262 "config_source": {"resource_api_version": "V3","ads": {}} 263 }, 264 "http_protocol_options": { 265 "allow_absolute_url": true 266 }, 267 "access_log": [ 268 { 269 "name": "envoy.access_loggers.file", 270 "typedConfig": { 271 "@type": "type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog", 272 "path": "{{.AccessLogPath}}" 273 } 274 } 275 ] 276 277 } 278 } 279 ] 280 } 281 ] 282 } 283 ], 284 "clusters": [ 285 { 286 "name": "xds-grpc", 287 "type": "STRICT_DNS", 288 "connect_timeout": { 289 "seconds": 5, 290 "nanos": 0 291 }, 292 "lb_policy": "ROUND_ROBIN", 293 "load_assignment": { 294 "cluster_name": "xds-grpc", 295 "endpoints": [{ 296 "lb_endpoints": [{ 297 "endpoint": { 298 "address":{ 299 "socket_address": { 300 "address": "127.0.0.1", 301 "port_value": {{.Ports.PilotGrpcPort}} 302 } 303 } 304 } 305 }] 306 }] 307 }, 308 "http2_protocol_options": {} 309 }, 310 { 311 "name": "service1", 312 "type": "STRICT_DNS", 313 "connect_timeout": { 314 "seconds": 5, 315 "nanos": 0 316 }, 317 "lb_policy": "ROUND_ROBIN", 318 "load_assignment": { 319 "cluster_name": "service1", 320 "endpoints": [{ 321 "lb_endpoints": [{ 322 "endpoint": { 323 "address":{ 324 "socket_address": { 325 "address": "127.0.0.1", 326 "port_value": {{.Ports.BackendPort}} 327 } 328 } 329 } 330 }] 331 }] 332 }, 333 "http2_protocol_options": {} 334 }, 335 { 336 "name": "service2", 337 "type": "STRICT_DNS", 338 "connect_timeout": { 339 "seconds": 5, 340 "nanos": 0 341 }, 342 "lb_policy": "ROUND_ROBIN", 343 "load_assignment": { 344 "cluster_name": "service2", 345 "endpoints": [{ 346 "lb_endpoints": [{ 347 "endpoint": { 348 "address":{ 349 "socket_address": { 350 "address": "127.0.0.1", 351 "port_value": {{.Ports.ServerProxyPort}} 352 } 353 } 354 } 355 }] 356 }] 357 }, 358 "http2_protocol_options": {} 359 }, 360 ] 361 } 362 }