consul/test/integration/connect/envoy/case-ingress-gateway-http/setup.sh

87 lines
1.6 KiB
Bash

#!/bin/bash
set -euo pipefail
upsert_config_entry primary '
kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
'
upsert_config_entry primary '
kind = "ingress-gateway"
name = "ingress-gateway"
listeners = [
{
port = 9999
protocol = "http"
services = [
{
name = "router"
request_headers {
add {
x-foo = "bar-req"
x-existing-1 = "appended-req"
}
set {
x-existing-2 = "replaced-req"
x-client-ip = "%DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT%"
}
remove = ["x-bad-req"]
}
response_headers {
add {
x-foo = "bar-resp"
x-existing-1 = "appended-resp"
}
set {
x-existing-2 = "replaced-resp"
}
remove = ["x-bad-resp"]
}
}
]
}
]
'
upsert_config_entry primary '
kind = "service-router"
// This is a "virtual" service name and will not have a backing
// service definition. It must match the name defined in the ingress
// configuration.
name = "router"
routes = [
{
match {
http {
path_prefix = "/s1/"
}
}
destination {
service = "s1"
prefix_rewrite = "/"
}
},
{
match {
http {
path_prefix = "/s2/"
}
}
destination {
service = "s2"
prefix_rewrite = "/"
}
}
]
'
register_services primary
gen_envoy_bootstrap ingress-gateway 20000 primary true
gen_envoy_bootstrap s1 19000
gen_envoy_bootstrap s2 19001