Update server.go

This commit is contained in:
2023-07-28 07:43:49 +00:00
parent 48d2397a7e
commit dee540535e

View File

@@ -86,22 +86,26 @@ var (
m := o.UnstructuredContent() m := o.UnstructuredContent()
spec := m["spec"].(map[string]interface{}) spec := m["spec"].(map[string]interface{})
resources := spec["resources"].([]map[string]interface{}) resources := spec["resources"].([]interface{})
for _, res := range resources { for _, res := range resources {
res := res.(map[string]interface{})
if res["@type"] == "type.googleapis.com/envoy.config.listener.v3.Listener" { if res["@type"] == "type.googleapis.com/envoy.config.listener.v3.Listener" {
filterChains := res["filterChains"].([]map[string]interface{}) filterChains := res["filterChains"].([]interface{})
for _, filterChain := range filterChains { for _, filterChain := range filterChains {
filters := filterChain["filters"].([]map[string]interface{}) filterChain := filterChain.(map[string]interface{})
filters := filterChain["filters"].([]interface{})
for _, filter := range filters { for _, filter := range filters {
filter := filter.(map[string]interface{})
if filter["name"] == "envoy.filters.network.http_connection_manager" { if filter["name"] == "envoy.filters.network.http_connection_manager" {
upgradeConfigs := filter["upgradeConfigs"].([]interface{}) typedConfig := filter["typedConfig"].(map[string]interface{})
upgradeConfigs := typedConfig["upgradeConfigs"].([]interface{})
upgradeConfigs = append(upgradeConfigs, map[string]interface{}{ upgradeConfigs = append(upgradeConfigs, map[string]interface{}{
"upgradeType": "tailscale-control-protocol", "upgradeType": "tailscale-control-protocol",
}) })
filter["upgradeConfigs"] = upgradeConfigs typedConfig["upgradeConfigs"] = upgradeConfigs
filter["useRemoteAddress"] = true typedConfig["useRemoteAddress"] = true
filter["xffNumTrustedHops"] = 1 typedConfig["xffNumTrustedHops"] = 1
} }
} }
} }