Istio EnvoyFilter Customization

EnvoyFilter enables Envoy customization. This guide covers filter configuration.

Basic EnvoyFilter

Add Custom Filter

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: custom-filter
spec:
  workloadSelector:
    labels:
      app: api-service
  configPatches:
  - applyTo: HTTP_FILTER
    match:
      context: SIDECAR_INBOUND
      listener:
        filterChain:
          filter:
            name: "envoy.filters.network.http_connection_manager"
    patch:
      operation: INSERT_BEFORE
      value:
        name: envoy.filters.http.router
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

Best Practices

  1. Use carefully: EnvoyFilter is powerful but complex
  2. Test thoroughly: Validate filter behavior
  3. Document changes: Keep track of customizations

Conclusion

EnvoyFilter provides advanced customization. Use it for specialized requirements.