Skip to content

Instantly share code, notes, and snippets.

@kyessenov
Created March 10, 2017 20:05
Show Gist options
  • Save kyessenov/04eb8ff7a1e753c34b18395e4b7e3f1d to your computer and use it in GitHub Desktop.
Save kyessenov/04eb8ff7a1e753c34b18395e4b7e3f1d to your computer and use it in GitHub Desktop.
{
"listeners": [
{
"port": 80,
"filters": [
{
"type": "read",
"name": "http_connection_manager",
"config": {
"codec_type": "auto",
"stat_prefix": "http",
"rds": {
"cluster": "rds",
"route_config_name": "80",
"refresh_delay_ms": 1000
},
"filters": [
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v9"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v8"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v7"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v6"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v5"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v4"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v3"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v2"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v1"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v0"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http:version=v1"
}
},
{
"type": "decoder",
"name": "router",
"config": {}
}
],
"access_log": [
{
"path": "/dev/stdout"
}
]
}
}
],
"bind_to_port": false
},
{
"port": 90,
"filters": [
{
"type": "read",
"name": "tcp_proxy",
"config": {
"stat_prefix": "tcp",
"route_config": {
"routes": [
{
"cluster": "inbound:90",
"destination_ip_list": [
"10.12.2.216/32"
]
},
{
"cluster": "inbound:90",
"destination_ip_list": [
"10.15.251.166/32"
]
},
{
"cluster": "outbound:a.default.svc.cluster.local:tcp",
"destination_ip_list": [
"10.15.249.87/32"
],
"destination_ports": "90"
},
{
"cluster": "outbound:hello.default.svc.cluster.local:tcp",
"destination_ip_list": [
"10.15.245.52/32"
],
"destination_ports": "90"
},
{
"cluster": "outbound:t.default.svc.cluster.local:tcp",
"destination_ip_list": [
"10.15.244.105/32"
],
"destination_ports": "90"
},
{
"cluster": "outbound:world.default.svc.cluster.local:tcp",
"destination_ip_list": [
"10.15.243.204/32"
],
"destination_ports": "90"
}
]
}
}
}
],
"bind_to_port": false
},
{
"port": 8080,
"filters": [
{
"type": "read",
"name": "http_connection_manager",
"config": {
"codec_type": "auto",
"stat_prefix": "http",
"rds": {
"cluster": "rds",
"route_config_name": "8080",
"refresh_delay_ms": 1000
},
"filters": [
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v9"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http-alternative:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v8"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http-alternative:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v7"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http-alternative:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v6"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http-alternative:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v5"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http-alternative:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v4"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http-alternative:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v3"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http-alternative:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v2"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http-alternative:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v1"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http-alternative:version=v1"
}
},
{
"type": "decoder",
"name": "fault",
"config": {
"delay": {
"type": "fixed",
"fixed_delay_percent": 100,
"fixed_duration_ms": 5000
},
"headers": [
{
"name": "version",
"value": "v0"
}
],
"upstream_cluster": "outbound:hello.default.svc.cluster.local:http-alternative:version=v1"
}
},
{
"type": "decoder",
"name": "router",
"config": {}
}
],
"access_log": [
{
"path": "/dev/stdout"
}
]
}
}
],
"bind_to_port": false
},
{
"port": 9090,
"filters": [
{
"type": "read",
"name": "tcp_proxy",
"config": {
"stat_prefix": "tcp",
"route_config": {
"routes": [
{
"cluster": "inbound:9090",
"destination_ip_list": [
"10.12.2.216/32"
]
},
{
"cluster": "inbound:9090",
"destination_ip_list": [
"10.15.251.166/32"
]
},
{
"cluster": "outbound:a.default.svc.cluster.local:tcp-alternative",
"destination_ip_list": [
"10.15.249.87/32"
],
"destination_ports": "9090"
},
{
"cluster": "outbound:hello.default.svc.cluster.local:tcp-alternative",
"destination_ip_list": [
"10.15.245.52/32"
],
"destination_ports": "9090"
},
{
"cluster": "outbound:t.default.svc.cluster.local:tcp-alternative",
"destination_ip_list": [
"10.15.244.105/32"
],
"destination_ports": "9090"
},
{
"cluster": "outbound:world.default.svc.cluster.local:tcp-alternative",
"destination_ip_list": [
"10.15.243.204/32"
],
"destination_ports": "9090"
}
]
}
}
}
],
"bind_to_port": false
},
{
"port": 9091,
"filters": [
{
"type": "read",
"name": "tcp_proxy",
"config": {
"stat_prefix": "tcp",
"route_config": {
"routes": [
{
"cluster": "outbound:mixer.default.svc.cluster.local:tcp",
"destination_ip_list": [
"10.15.251.185/32"
],
"destination_ports": "9091"
}
]
}
}
}
],
"bind_to_port": false
},
{
"port": 42422,
"filters": [
{
"type": "read",
"name": "tcp_proxy",
"config": {
"stat_prefix": "tcp",
"route_config": {
"routes": [
{
"cluster": "outbound:mixer.default.svc.cluster.local:prometheus",
"destination_ip_list": [
"10.15.251.185/32"
],
"destination_ports": "42422"
}
]
}
}
}
],
"bind_to_port": false
},
{
"port": 5001,
"filters": [],
"bind_to_port": true,
"use_original_dst": true
}
],
"admin": {
"access_log_path": "/dev/stdout",
"port": 5000
},
"cluster_manager": {
"clusters": [
{
"name": "inbound:80",
"connect_timeout_ms": 1000,
"type": "static",
"lb_type": "round_robin",
"hosts": [
{
"url": "tcp://127.0.0.1:80"
}
]
},
{
"name": "inbound:8080",
"connect_timeout_ms": 1000,
"type": "static",
"lb_type": "round_robin",
"hosts": [
{
"url": "tcp://127.0.0.1:8080"
}
]
},
{
"name": "inbound:90",
"connect_timeout_ms": 1000,
"type": "static",
"lb_type": "round_robin",
"hosts": [
{
"url": "tcp://127.0.0.1:90"
}
]
},
{
"name": "inbound:9090",
"connect_timeout_ms": 1000,
"type": "static",
"lb_type": "round_robin",
"hosts": [
{
"url": "tcp://127.0.0.1:9090"
}
]
},
{
"name": "outbound:a.default.svc.cluster.local:tcp",
"service_name": "a.default.svc.cluster.local:tcp",
"connect_timeout_ms": 1000,
"type": "sds",
"lb_type": "round_robin"
},
{
"name": "outbound:a.default.svc.cluster.local:tcp-alternative",
"service_name": "a.default.svc.cluster.local:tcp-alternative",
"connect_timeout_ms": 1000,
"type": "sds",
"lb_type": "round_robin"
},
{
"name": "outbound:hello.default.svc.cluster.local:tcp",
"service_name": "hello.default.svc.cluster.local:tcp",
"connect_timeout_ms": 1000,
"type": "sds",
"lb_type": "round_robin"
},
{
"name": "outbound:hello.default.svc.cluster.local:tcp-alternative",
"service_name": "hello.default.svc.cluster.local:tcp-alternative",
"connect_timeout_ms": 1000,
"type": "sds",
"lb_type": "round_robin"
},
{
"name": "outbound:mixer.default.svc.cluster.local:prometheus",
"service_name": "mixer.default.svc.cluster.local:prometheus",
"connect_timeout_ms": 1000,
"type": "sds",
"lb_type": "round_robin"
},
{
"name": "outbound:mixer.default.svc.cluster.local:tcp",
"service_name": "mixer.default.svc.cluster.local:tcp",
"connect_timeout_ms": 1000,
"type": "sds",
"lb_type": "round_robin"
},
{
"name": "outbound:t.default.svc.cluster.local:tcp",
"service_name": "t.default.svc.cluster.local:tcp",
"connect_timeout_ms": 1000,
"type": "sds",
"lb_type": "round_robin"
},
{
"name": "outbound:t.default.svc.cluster.local:tcp-alternative",
"service_name": "t.default.svc.cluster.local:tcp-alternative",
"connect_timeout_ms": 1000,
"type": "sds",
"lb_type": "round_robin"
},
{
"name": "outbound:world.default.svc.cluster.local:tcp",
"service_name": "world.default.svc.cluster.local:tcp",
"connect_timeout_ms": 1000,
"type": "sds",
"lb_type": "round_robin"
},
{
"name": "outbound:world.default.svc.cluster.local:tcp-alternative",
"service_name": "world.default.svc.cluster.local:tcp-alternative",
"connect_timeout_ms": 1000,
"type": "sds",
"lb_type": "round_robin"
},
{
"name": "rds",
"connect_timeout_ms": 1000,
"type": "strict_dns",
"lb_type": "round_robin",
"hosts": [
{
"url": "tcp://manager:8080"
}
]
}
],
"sds": {
"cluster": {
"name": "sds",
"connect_timeout_ms": 1000,
"type": "strict_dns",
"lb_type": "round_robin",
"hosts": [
{
"url": "tcp://manager:8080"
}
]
},
"refresh_delay_ms": 1000
},
"cds": {
"cluster": {
"name": "cds",
"connect_timeout_ms": 1000,
"type": "strict_dns",
"lb_type": "round_robin",
"hosts": [
{
"url": "tcp://manager:8080"
}
]
},
"refresh_delay_ms": 1000
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment