github.com/kjdelisle/consul@v1.4.5/command/connect/envoy/bootstrap_tpl.go (about)

     1  package envoy
     2  
     3  type templateArgs struct {
     4  	ProxyCluster, ProxyID string
     5  	AgentAddress          string
     6  	AgentPort             string
     7  	AgentTLS              bool
     8  	AgentCAFile           string
     9  	AdminBindAddress      string
    10  	AdminBindPort         string
    11  	LocalAgentClusterName string
    12  	Token                 string
    13  }
    14  
    15  const bootstrapTemplate = `{
    16    "admin": {
    17      "access_log_path": "/dev/null",
    18      "address": {
    19        "socket_address": {
    20          "address": "{{ .AdminBindAddress }}",
    21          "port_value": {{ .AdminBindPort }}
    22        }
    23      }
    24    },
    25    "node": {
    26      "cluster": "{{ .ProxyCluster }}",
    27      "id": "{{ .ProxyID }}"
    28    },
    29    "static_resources": {
    30      "clusters": [
    31        {
    32          "name": "{{ .LocalAgentClusterName }}",
    33          "connect_timeout": "1s",
    34          "type": "STATIC",
    35          {{- if .AgentTLS -}}
    36          "tls_context": {
    37            "common_tls_context": {
    38              "validation_context": {
    39                "trusted_ca": {
    40                  "filename": "{{ .AgentCAFile }}"
    41                }
    42              }
    43            }
    44          },
    45          {{- end }}
    46          "http2_protocol_options": {},
    47          "hosts": [
    48            {
    49              "socket_address": {
    50                "address": "{{ .AgentAddress }}",
    51                "port_value": {{ .AgentPort }}
    52              }
    53            }
    54          ]
    55        }
    56      ]
    57    },
    58    "dynamic_resources": {
    59      "lds_config": { "ads": {} },
    60      "cds_config": { "ads": {} },
    61      "ads_config": {
    62        "api_type": "GRPC",
    63        "grpc_services": {
    64          "initial_metadata": [
    65            {
    66              "key": "x-consul-token",
    67              "value": "{{ .Token }}"
    68            }
    69          ],
    70          "envoy_grpc": {
    71            "cluster_name": "{{ .LocalAgentClusterName }}"
    72          }
    73        }
    74      }
    75    }
    76  }
    77  `