154 lines
4.5 KiB
Plaintext
154 lines
4.5 KiB
Plaintext
{
|
|
"Chain": {
|
|
"ServiceName": "virtual-admin-1",
|
|
"Partition": "default",
|
|
"Namespace": "default",
|
|
"Datacenter": "dc-gcp",
|
|
"Protocol": "http",
|
|
"StartNode": "router:virtual-admin-1",
|
|
"Nodes": {
|
|
"resolver:virtual-admin-1.default.default.dc-gcp": {
|
|
"Type": "resolver",
|
|
"Name": "virtual-admin-1.default.default.dc-gcp",
|
|
"Resolver": {
|
|
"ConnectTimeout": "5s",
|
|
"Default": true,
|
|
"Target": "virtual-admin-1.default.default.dc-gcp"
|
|
}
|
|
},
|
|
"resolver:web.default.default.dc-aws": {
|
|
"Type": "resolver",
|
|
"Name": "web.default.default.dc-aws",
|
|
"Resolver": {
|
|
"ConnectTimeout": "15s",
|
|
"Target": "web.default.default.dc-aws",
|
|
"Failover": {
|
|
"Targets": [
|
|
"web.default.default.dc-gcp"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"resolver:web.default.default.dc-gcp": {
|
|
"Type": "resolver",
|
|
"Name": "web.default.default.dc-gcp",
|
|
"Resolver": {
|
|
"ConnectTimeout": "15s",
|
|
"Target": "web.default.default.dc-gcp",
|
|
"Failover": {
|
|
"Targets": [
|
|
"web.default.default.dc-aws"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"router:virtual-admin-1": {
|
|
"Type": "router",
|
|
"Name": "virtual-admin-1",
|
|
"Routes": [
|
|
{
|
|
"Definition": {
|
|
"Match": {
|
|
"HTTP": {
|
|
"PathPrefix": "/login"
|
|
}
|
|
},
|
|
"Destination": {
|
|
"Service": "login",
|
|
"PrefixRewrite": "/"
|
|
}
|
|
},
|
|
"NextNode": "splitter:login.default.default"
|
|
},
|
|
{
|
|
"Definition": {
|
|
"Destination": {
|
|
"Service": "global-admin"
|
|
}
|
|
},
|
|
"NextNode": "splitter:global-admin.default.default"
|
|
},
|
|
{
|
|
"Definition": {
|
|
"Match": {
|
|
"HTTP": {
|
|
"PathPrefix": "/"
|
|
}
|
|
},
|
|
"Destination": {
|
|
"Service": "virtual-admin-1"
|
|
}
|
|
},
|
|
"NextNode": "resolver:virtual-admin-1.default.default.dc-gcp"
|
|
}
|
|
]
|
|
},
|
|
"splitter:global-admin.default.default": {
|
|
"Type": "splitter",
|
|
"Name": "global-admin.default.default",
|
|
"Splits": [
|
|
{
|
|
"Weight": 50,
|
|
"NextNode": "resolver:web.default.default.dc-aws"
|
|
},
|
|
{
|
|
"Weight": 50,
|
|
"NextNode": "resolver:web.default.default.dc-gcp"
|
|
}
|
|
]
|
|
},
|
|
"splitter:login.default.default": {
|
|
"Type": "splitter",
|
|
"Name": "login.default.default",
|
|
"Splits": [
|
|
{
|
|
"Weight": 50,
|
|
"NextNode": "resolver:web.default.default.dc-gcp"
|
|
},
|
|
{
|
|
"Weight": 50,
|
|
"NextNode": "resolver:web.default.default.dc-aws"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"Targets": {
|
|
"virtual-admin-1.default.default.dc-gcp": {
|
|
"ID": "virtual-admin-1.default.default.dc-gcp",
|
|
"Service": "virtual-admin-1",
|
|
"Partition": "default",
|
|
"Namespace": "default",
|
|
"Datacenter": "dc-gcp",
|
|
"MeshGateway": {},
|
|
"Subset": {},
|
|
"SNI": "virtual-admin-1.default.default.dc-gcp.internal.ede9daf4-b641-3954-5a52-15f4fd666f6e.consul",
|
|
"Name": "virtual-admin-1.default.default.dc-gcp.internal.ede9daf4-b641-3954-5a52-15f4fd666f6e.consul"
|
|
},
|
|
"web.default.default.dc-aws": {
|
|
"ID": "web.default.default.dc-aws",
|
|
"Service": "web",
|
|
"Partition": "default",
|
|
"Namespace": "default",
|
|
"Datacenter": "dc-aws",
|
|
"MeshGateway": {
|
|
"Mode": "local"
|
|
},
|
|
"Subset": {},
|
|
"SNI": "web.default.default.dc-aws.internal.ede9daf4-b641-3954-5a52-15f4fd666f6e.consul",
|
|
"Name": "web.default.default.dc-aws.internal.ede9daf4-b641-3954-5a52-15f4fd666f6e.consul"
|
|
},
|
|
"web.default.default.dc-gcp": {
|
|
"ID": "web.default.default.dc-gcp",
|
|
"Service": "web",
|
|
"Partition": "default",
|
|
"Namespace": "default",
|
|
"Datacenter": "dc-gcp",
|
|
"MeshGateway": {},
|
|
"Subset": {},
|
|
"SNI": "web.default.default.dc-gcp.internal.ede9daf4-b641-3954-5a52-15f4fd666f6e.consul",
|
|
"Name": "web.default.default.dc-gcp.internal.ede9daf4-b641-3954-5a52-15f4fd666f6e.consul"
|
|
}
|
|
}
|
|
}
|
|
}
|