EnvoyFilterUsesReplaceOperationIncorrectly
このメッセージは、EnvoyFilter
がREPLACE
操作を使用し、ApplyTo
がHTTP_FILTER
またはNETWORK_FILTER
に設定されている場合に発生します。HTTP_FILTER
とNETWORK_FILTER
はREPLACE
に対して無効であるため、REPLACE
操作は無視されます。
例
パッチ操作がREPLACE
であるEnvoyFilter
を例に挙げると、このEnvoyFilter
は無視されます。
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: test-replace-2
namespace: bookinfo
spec:
workloadSelector:
labels:
app: reviews2
priority: 10
configPatches:
# The first patch adds the Lua filter to the listener/http connection manager
- applyTo: HTTP_FILTER
match:
context: SIDECAR_INBOUND
listener:
portNumber: 8080
filterChain:
filter:
name: "envoy.filters.network.http_connection_manager"
subFilter:
name: "envoy.filters.http.router"
patch:
operation: REPLACE
value: # Lua filter specification
name: envoy.lua
typed_config:
"@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
inlineCode: |
function envoy_on_request(request_handle)
-- Make an HTTP call to an upstream host with the following headers, body, and timeout.
local headers, body = request_handle:httpCall(
"lua_cluster",
{
[":method"] = "POST",
[":path"] = "/acl",
[":authority"] = "internal.org.net"
},
"authorize call",
5000)
end