2023-02-22 03:48:26 +00:00
|
|
|
#!/bin/bash
|
2023-03-28 22:48:58 +00:00
|
|
|
# Copyright (c) HashiCorp, Inc.
|
2023-08-11 13:12:13 +00:00
|
|
|
# SPDX-License-Identifier: BUSL-1.1
|
2023-03-28 22:48:58 +00:00
|
|
|
|
2023-02-22 03:48:26 +00:00
|
|
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
upsert_config_entry primary '
|
|
|
|
kind = "api-gateway"
|
|
|
|
name = "api-gateway"
|
|
|
|
listeners = [
|
|
|
|
{
|
|
|
|
name = "listener-one"
|
|
|
|
port = 9999
|
|
|
|
protocol = "http"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
'
|
|
|
|
|
|
|
|
upsert_config_entry primary '
|
|
|
|
Kind = "proxy-defaults"
|
|
|
|
Name = "global"
|
|
|
|
Config {
|
|
|
|
protocol = "http"
|
|
|
|
}
|
|
|
|
'
|
|
|
|
|
|
|
|
upsert_config_entry primary '
|
|
|
|
kind = "http-route"
|
|
|
|
name = "api-gateway-route-one"
|
|
|
|
rules = [
|
|
|
|
{
|
|
|
|
services = [
|
|
|
|
{
|
|
|
|
name = "splitter-one"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
parents = [
|
|
|
|
{
|
|
|
|
name = "api-gateway"
|
|
|
|
sectionName = "listener-one"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
'
|
|
|
|
|
|
|
|
upsert_config_entry primary '
|
|
|
|
kind = "service-splitter"
|
|
|
|
name = "splitter-one"
|
|
|
|
splits = [
|
|
|
|
{
|
|
|
|
weight = 50,
|
|
|
|
service = "s1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
weight = 50,
|
|
|
|
service = "splitter-two"
|
|
|
|
},
|
|
|
|
]
|
|
|
|
'
|
|
|
|
|
|
|
|
upsert_config_entry primary '
|
|
|
|
kind = "service-splitter"
|
|
|
|
name = "splitter-two"
|
|
|
|
splits = [
|
|
|
|
{
|
|
|
|
weight = 50,
|
|
|
|
service = "s2"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
weight = 50,
|
|
|
|
service = "s3"
|
|
|
|
},
|
|
|
|
]
|
|
|
|
'
|
|
|
|
|
|
|
|
register_services primary
|
|
|
|
|
|
|
|
gen_envoy_bootstrap api-gateway 20000 primary true
|
|
|
|
gen_envoy_bootstrap s1 19000
|
|
|
|
gen_envoy_bootstrap s2 19001
|
|
|
|
gen_envoy_bootstrap s3 19002
|