Created
June 2, 2022 18:11
-
-
Save riddhi89/b5823d922f6b76477b2e685325a6c8be to your computer and use it in GitHub Desktop.
Demo: consul connect envoy cmd changes for agentless
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
➜ consul connect envoy -proxy-id web-sidecar-proxy -bootstrap | |
{ | |
"admin": { | |
"access_log_path": "/dev/null", | |
"address": { | |
"socket_address": { | |
"address": "127.0.0.1", | |
"port_value": 19000 | |
} | |
} | |
}, | |
"node": { | |
"cluster": "web", | |
"id": "web-sidecar-proxy", | |
"metadata": { | |
"namespace": "default", | |
"partition": "default" | |
} | |
}, | |
"static_resources": { | |
"clusters": [ | |
{ | |
"name": "local_agent", | |
"ignore_health_on_host_removal": false, | |
"connect_timeout": "1s", | |
"type": "STATIC", | |
"http2_protocol_options": {}, | |
"loadAssignment": { | |
"clusterName": "local_agent", | |
"endpoints": [ | |
{ | |
"lbEndpoints": [ | |
{ | |
"endpoint": { | |
"address": { | |
"socket_address": { | |
"address": "127.0.0.1", | |
"port_value": 8502 | |
} | |
} | |
} | |
} | |
] | |
} | |
] | |
} | |
}, | |
{ | |
"name": "self_admin", | |
"ignore_health_on_host_removal": false, | |
"connect_timeout": "5s", | |
"type": "STATIC", | |
"http_protocol_options": {}, | |
"loadAssignment": { | |
"clusterName": "self_admin", | |
"endpoints": [ | |
{ | |
"lbEndpoints": [ | |
{ | |
"endpoint": { | |
"address": { | |
"socket_address": { | |
"address": "127.0.0.1", | |
"port_value": 19000 | |
} | |
} | |
} | |
} | |
] | |
} | |
] | |
} | |
} | |
], | |
"listeners": [ | |
{ | |
"name": "envoy_prometheus_metrics_listener", | |
"address": { | |
"socket_address": { | |
"address": "0.0.0.0", | |
"port_value": 9102 | |
} | |
}, | |
"filter_chains": [ | |
{ | |
"filters": [ | |
{ | |
"name": "envoy.filters.network.http_connection_manager", | |
"typedConfig": { | |
"@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", | |
"stat_prefix": "envoy_prometheus_metrics", | |
"codec_type": "HTTP1", | |
"route_config": { | |
"name": "self_admin_route", | |
"virtual_hosts": [ | |
{ | |
"name": "self_admin", | |
"domains": [ | |
"*" | |
], | |
"routes": [ | |
{ | |
"match": { | |
"path": "/metrics" | |
}, | |
"route": { | |
"cluster": "self_admin", | |
"prefix_rewrite": "/stats/prometheus" | |
} | |
}, | |
{ | |
"match": { | |
"prefix": "/" | |
}, | |
"direct_response": { | |
"status": 404 | |
} | |
} | |
] | |
} | |
] | |
}, | |
"http_filters": [ | |
{ | |
"name": "envoy.filters.http.router", | |
"typedConfig": { | |
"@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router" | |
} | |
} | |
] | |
} | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"stats_sinks": [ | |
{ | |
"name": "envoy.stat_sinks.dog_statsd", | |
"typedConfig": { | |
"@type": "type.googleapis.com/envoy.config.metrics.v3.DogStatsdSink", | |
"address": { | |
"socket_address": { | |
"address": "127.0.0.1", | |
"port_value": 8125 | |
} | |
} | |
} | |
} | |
], | |
"stats_config": { | |
"stats_tags": [ | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:([^.]+)~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.custom_hash" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:([^.]+)\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.service_subset" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:[^.]+\\.)?([^.]+)\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.service" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.([^.]+)\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.namespace" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:([^.]+)\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.partition" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?([^.]+)\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.datacenter" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.([^.]+)\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.routing_type" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.([^.]+)\\.consul\\.)", | |
"tag_name": "consul.destination.trust_domain" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?(((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+)\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.target" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?(((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+)\\.consul\\.)", | |
"tag_name": "consul.destination.full_target" | |
}, | |
{ | |
"regex": "^(?:tcp|http)\\.upstream\\.(([^.]+)(?:\\.[^.]+)?(?:\\.[^.]+)?\\.[^.]+\\.)", | |
"tag_name": "consul.upstream.service" | |
}, | |
{ | |
"regex": "^(?:tcp|http)\\.upstream\\.([^.]+(?:\\.[^.]+)?(?:\\.[^.]+)?\\.([^.]+)\\.)", | |
"tag_name": "consul.upstream.datacenter" | |
}, | |
{ | |
"regex": "^(?:tcp|http)\\.upstream\\.([^.]+(?:\\.([^.]+))?(?:\\.[^.]+)?\\.[^.]+\\.)", | |
"tag_name": "consul.upstream.namespace" | |
}, | |
{ | |
"regex": "^(?:tcp|http)\\.upstream\\.([^.]+(?:\\.[^.]+)?(?:\\.([^.]+))?\\.[^.]+\\.)", | |
"tag_name": "consul.upstream.partition" | |
}, | |
{ | |
"regex": "^cluster\\.((?:([^.]+)~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.custom_hash" | |
}, | |
{ | |
"regex": "^cluster\\.((?:[^.]+~)?(?:([^.]+)\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.service_subset" | |
}, | |
{ | |
"regex": "^cluster\\.((?:[^.]+~)?(?:[^.]+\\.)?([^.]+)\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.service" | |
}, | |
{ | |
"regex": "^cluster\\.((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.([^.]+)\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.namespace" | |
}, | |
{ | |
"regex": "^cluster\\.((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?([^.]+)\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.datacenter" | |
}, | |
{ | |
"regex": "^cluster\\.((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.([^.]+)\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.routing_type" | |
}, | |
{ | |
"regex": "^cluster\\.((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.([^.]+)\\.consul\\.)", | |
"tag_name": "consul.trust_domain" | |
}, | |
{ | |
"regex": "^cluster\\.(((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+)\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.target" | |
}, | |
{ | |
"regex": "^cluster\\.(((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+)\\.consul\\.)", | |
"tag_name": "consul.full_target" | |
}, | |
{ | |
"tag_name": "local_cluster", | |
"fixed_value": "web" | |
}, | |
{ | |
"tag_name": "consul.source.service", | |
"fixed_value": "web" | |
}, | |
{ | |
"tag_name": "consul.source.namespace", | |
"fixed_value": "default" | |
}, | |
{ | |
"tag_name": "consul.source.partition", | |
"fixed_value": "default" | |
}, | |
{ | |
"tag_name": "consul.source.datacenter", | |
"fixed_value": "dc1" | |
} | |
], | |
"use_all_default_tags": true | |
}, | |
"dynamic_resources": { | |
"lds_config": { | |
"ads": {}, | |
"resource_api_version": "V3" | |
}, | |
"cds_config": { | |
"ads": {}, | |
"resource_api_version": "V3" | |
}, | |
"ads_config": { | |
"api_type": "DELTA_GRPC", | |
"transport_api_version": "V3", | |
"grpc_services": { | |
"initial_metadata": [ | |
{ | |
"key": "x-consul-token", | |
"value": "" | |
} | |
], | |
"envoy_grpc": { | |
"cluster_name": "local_agent" | |
} | |
} | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
➜ consul connect envoy -proxy-id web-sidecar-proxy -node-name rshah-C02DJ0MUMD6R -bootstrap | |
{ | |
"admin": { | |
"access_log_path": "/dev/null", | |
"address": { | |
"socket_address": { | |
"address": "127.0.0.1", | |
"port_value": 19000 | |
} | |
} | |
}, | |
"node": { | |
"cluster": "web", | |
"id": "web-sidecar-proxy", | |
"metadata": { | |
"node_name": "rshah-C02DJ0MUMD6R", | |
"namespace": "default", | |
"partition": "default" | |
} | |
}, | |
"static_resources": { | |
"clusters": [ | |
{ | |
"name": "local_agent", | |
"ignore_health_on_host_removal": false, | |
"connect_timeout": "1s", | |
"type": "STATIC", | |
"http2_protocol_options": {}, | |
"loadAssignment": { | |
"clusterName": "local_agent", | |
"endpoints": [ | |
{ | |
"lbEndpoints": [ | |
{ | |
"endpoint": { | |
"address": { | |
"socket_address": { | |
"address": "127.0.0.1", | |
"port_value": 8502 | |
} | |
} | |
} | |
} | |
] | |
} | |
] | |
} | |
}, | |
{ | |
"name": "self_admin", | |
"ignore_health_on_host_removal": false, | |
"connect_timeout": "5s", | |
"type": "STATIC", | |
"http_protocol_options": {}, | |
"loadAssignment": { | |
"clusterName": "self_admin", | |
"endpoints": [ | |
{ | |
"lbEndpoints": [ | |
{ | |
"endpoint": { | |
"address": { | |
"socket_address": { | |
"address": "127.0.0.1", | |
"port_value": 19000 | |
} | |
} | |
} | |
} | |
] | |
} | |
] | |
} | |
} | |
], | |
"listeners": [ | |
{ | |
"name": "envoy_prometheus_metrics_listener", | |
"address": { | |
"socket_address": { | |
"address": "0.0.0.0", | |
"port_value": 9102 | |
} | |
}, | |
"filter_chains": [ | |
{ | |
"filters": [ | |
{ | |
"name": "envoy.filters.network.http_connection_manager", | |
"typedConfig": { | |
"@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", | |
"stat_prefix": "envoy_prometheus_metrics", | |
"codec_type": "HTTP1", | |
"route_config": { | |
"name": "self_admin_route", | |
"virtual_hosts": [ | |
{ | |
"name": "self_admin", | |
"domains": [ | |
"*" | |
], | |
"routes": [ | |
{ | |
"match": { | |
"path": "/metrics" | |
}, | |
"route": { | |
"cluster": "self_admin", | |
"prefix_rewrite": "/stats/prometheus" | |
} | |
}, | |
{ | |
"match": { | |
"prefix": "/" | |
}, | |
"direct_response": { | |
"status": 404 | |
} | |
} | |
] | |
} | |
] | |
}, | |
"http_filters": [ | |
{ | |
"name": "envoy.filters.http.router", | |
"typedConfig": { | |
"@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router" | |
} | |
} | |
] | |
} | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"stats_sinks": [ | |
{ | |
"name": "envoy.stat_sinks.dog_statsd", | |
"typedConfig": { | |
"@type": "type.googleapis.com/envoy.config.metrics.v3.DogStatsdSink", | |
"address": { | |
"socket_address": { | |
"address": "127.0.0.1", | |
"port_value": 8125 | |
} | |
} | |
} | |
} | |
], | |
"stats_config": { | |
"stats_tags": [ | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:([^.]+)~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.custom_hash" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:([^.]+)\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.service_subset" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:[^.]+\\.)?([^.]+)\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.service" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.([^.]+)\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.namespace" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:([^.]+)\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.partition" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?([^.]+)\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.datacenter" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.([^.]+)\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.routing_type" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.([^.]+)\\.consul\\.)", | |
"tag_name": "consul.destination.trust_domain" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?(((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+)\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.destination.target" | |
}, | |
{ | |
"regex": "^cluster\\.(?:passthrough~)?(((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+)\\.consul\\.)", | |
"tag_name": "consul.destination.full_target" | |
}, | |
{ | |
"regex": "^(?:tcp|http)\\.upstream\\.(([^.]+)(?:\\.[^.]+)?(?:\\.[^.]+)?\\.[^.]+\\.)", | |
"tag_name": "consul.upstream.service" | |
}, | |
{ | |
"regex": "^(?:tcp|http)\\.upstream\\.([^.]+(?:\\.[^.]+)?(?:\\.[^.]+)?\\.([^.]+)\\.)", | |
"tag_name": "consul.upstream.datacenter" | |
}, | |
{ | |
"regex": "^(?:tcp|http)\\.upstream\\.([^.]+(?:\\.([^.]+))?(?:\\.[^.]+)?\\.[^.]+\\.)", | |
"tag_name": "consul.upstream.namespace" | |
}, | |
{ | |
"regex": "^(?:tcp|http)\\.upstream\\.([^.]+(?:\\.[^.]+)?(?:\\.([^.]+))?\\.[^.]+\\.)", | |
"tag_name": "consul.upstream.partition" | |
}, | |
{ | |
"regex": "^cluster\\.((?:([^.]+)~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.custom_hash" | |
}, | |
{ | |
"regex": "^cluster\\.((?:[^.]+~)?(?:([^.]+)\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.service_subset" | |
}, | |
{ | |
"regex": "^cluster\\.((?:[^.]+~)?(?:[^.]+\\.)?([^.]+)\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.service" | |
}, | |
{ | |
"regex": "^cluster\\.((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.([^.]+)\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.namespace" | |
}, | |
{ | |
"regex": "^cluster\\.((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?([^.]+)\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.datacenter" | |
}, | |
{ | |
"regex": "^cluster\\.((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.([^.]+)\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.routing_type" | |
}, | |
{ | |
"regex": "^cluster\\.((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.([^.]+)\\.consul\\.)", | |
"tag_name": "consul.trust_domain" | |
}, | |
{ | |
"regex": "^cluster\\.(((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+)\\.[^.]+\\.[^.]+\\.consul\\.)", | |
"tag_name": "consul.target" | |
}, | |
{ | |
"regex": "^cluster\\.(((?:[^.]+~)?(?:[^.]+\\.)?[^.]+\\.[^.]+\\.(?:[^.]+\\.)?[^.]+\\.[^.]+\\.[^.]+)\\.consul\\.)", | |
"tag_name": "consul.full_target" | |
}, | |
{ | |
"tag_name": "local_cluster", | |
"fixed_value": "web" | |
}, | |
{ | |
"tag_name": "consul.source.service", | |
"fixed_value": "web" | |
}, | |
{ | |
"tag_name": "consul.source.namespace", | |
"fixed_value": "default" | |
}, | |
{ | |
"tag_name": "consul.source.partition", | |
"fixed_value": "default" | |
}, | |
{ | |
"tag_name": "consul.source.datacenter", | |
"fixed_value": "dc1" | |
} | |
], | |
"use_all_default_tags": true | |
}, | |
"dynamic_resources": { | |
"lds_config": { | |
"ads": {}, | |
"resource_api_version": "V3" | |
}, | |
"cds_config": { | |
"ads": {}, | |
"resource_api_version": "V3" | |
}, | |
"ads_config": { | |
"api_type": "DELTA_GRPC", | |
"transport_api_version": "V3", | |
"grpc_services": { | |
"initial_metadata": [ | |
{ | |
"key": "x-consul-token", | |
"value": "" | |
} | |
], | |
"envoy_grpc": { | |
"cluster_name": "local_agent" | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment