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  }