Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Envoy 1.23.0-dev Didn't find a registered implementation for 'envoy.filters.http.router' with type URL: '' #21464

Closed
Judy-Sophos opened this issue May 27, 2022 · 4 comments
Labels
area/configuration question Questions that are neither investigations, bugs, nor enhancements

Comments

@Judy-Sophos
Copy link

Title: Envoy 1.23.0-dev Didn't find a registered implementation for 'envoy.filters.http.router' with type URL: ''

Description:
I am investigating Envoy external processing filter by following the setup in https://github.com/salrashid123/envoy_ext_proc. My envoy version is:

cd7ea77/1.23.0-dev/Clean/RELEASE/BoringSSL

When I run the following command to validate Envoy configuration, it complains: Didn't find a registered implementation for 'envoy.filters.http.router' with type URL: ''

envoy --mode validate -c server.yaml

The server.yaml is in https://github.com/salrashid123/envoy_ext_proc/blob/main/server.yaml

Config:

admin:
  access_log_path: /dev/null
  address:
    socket_address:
      address: 127.0.0.1
      port_value: 9000


node:
  cluster: service_greeter
  id: test-id

static_resources:
  listeners:
  - name: listener_0
    address:
      socket_address:
        address: 0.0.0.0
        port_value: 8080
    filter_chains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          stat_prefix: ingress_http
          codec_type: AUTO
          route_config:
            name: local_route
            virtual_hosts:
            - name: local_service
              domains: ["*"]
              routes:
              - match:
                  prefix: "/"
                route: 
                  cluster: service_httpbin
          http_filters:
          - name: envoy.filters.http.ext_proc
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor
              failure_mode_allow: false
              async_mode: false              
              request_attributes:
              - user
              response_attributes:
              - server
              processing_mode:
                request_header_mode: "SEND"
                response_header_mode: "SKIP"
                request_body_mode: "NONE"
                response_body_mode: "NONE"
                request_trailer_mode: "SKIP"
                response_trailer_mode: "SKIP"
              grpc_service:
                envoy_grpc:                  
                  cluster_name: ext_proc_cluster
          - name: envoy.filters.http.router
  clusters:
  - name: service_httpbin
    connect_timeout: 2s
    type: LOGICAL_DNS
    dns_lookup_family: V4_ONLY
    lb_policy: ROUND_ROBIN
    load_assignment:
      cluster_name: service_httpbin
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: httpbin.org
                port_value: 443
    transport_socket:
      name: envoy.transport_sockets.tls
      typed_config:
        "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
  - name: ext_proc_cluster
    type: STATIC
    connect_timeout: 0.25s
    http2_protocol_options: {}
    load_assignment:
      cluster_name: ext_proc_cluster
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: 127.0.0.1
                port_value: 18080 
    health_checks:
      - timeout: 1s
        interval: 5s
        interval_jitter: 1s
        no_traffic_interval: 5s
        unhealthy_threshold: 1
        healthy_threshold: 3
        grpc_health_check:
          service_name: "envoy.service.ext_proc.v3.ExternalProcessor"
          authority: "server.domain.com"

Logs:

envoy --mode validate -c server.yaml

[2022-05-27 05:02:34.165][141757][warning][misc] [source/common/protobuf/message_validator_impl.cc:21] Deprecated field: type envoy.config.cluster.v3.Cluster Using deprecated option 'envoy.config.cluster.v3.Cluster.http2_protocol_options' from file cluster.proto. This configuration will be removed from Envoy soon. Please see https://www.envoyproxy.io/docs/envoy/latest/version_history/version_history for details. If continued use of this field is absolutely necessary, see https://www.envoyproxy.io/docs/envoy/latest/configuration/operations/runtime#using-runtime-overrides-for-deprecated-features for how to apply a temporary and highly discouraged override.
[2022-05-27 05:02:34.165][141757][warning][misc] [source/common/protobuf/message_validator_impl.cc:21] Deprecated field: type envoy.config.bootstrap.v3.Admin Using deprecated option 'envoy.config.bootstrap.v3.Admin.access_log_path' from file bootstrap.proto. This configuration will be removed from Envoy soon. Please see https://www.envoyproxy.io/docs/envoy/latest/version_history/version_history for details. If continued use of this field is absolutely necessary, see https://www.envoyproxy.io/docs/envoy/latest/configuration/operations/runtime#using-runtime-overrides-for-deprecated-features for how to apply a temporary and highly discouraged override.
[2022-05-27 05:02:34.166][141757][info][main] [source/server/server.cc:786] runtime: {}
[2022-05-27 05:02:34.166][141757][info][config] [source/server/configuration_impl.cc:127] loading tracing configuration
[2022-05-27 05:02:34.166][141757][info][config] [source/server/configuration_impl.cc:87] loading 0 static secret(s)
[2022-05-27 05:02:34.166][141757][info][config] [source/server/configuration_impl.cc:93] loading 2 cluster(s)
[2022-05-27 05:02:34.170][141757][info][config] [source/server/configuration_impl.cc:97] loading 1 listener(s)
[2022-05-27 05:02:34.173][141757][warning][misc] [source/common/protobuf/message_validator_impl.cc:35] message 'envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor' is contained in proto file 'envoy/extensions/filters/http/ext_proc/v3/ext_proc.proto' marked as work-in-progress. API features marked as work-in-progress are not considered stable, are not covered by the threat model, are not supported by the security team, and are subject to breaking changes. Do not use this feature without understanding each of the previous points.
[2022-05-27 05:02:34.173][141757][warning][misc] [source/common/protobuf/message_validator_impl.cc:35] message 'envoy.extensions.filters.http.ext_proc.v3.ProcessingMode' is contained in proto file 'envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto' marked as work-in-progress. API features marked as work-in-progress are not considered stable, are not covered by the threat model, are not supported by the security team, and are subject to breaking changes. Do not use this feature without understanding each of the previous points.
[2022-05-27 05:02:34.173][141757][warning][misc] [source/common/protobuf/message_validator_impl.cc:35] message 'envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor' is contained in proto file 'envoy/extensions/filters/http/ext_proc/v3/ext_proc.proto' marked as work-in-progress. API features marked as work-in-progress are not considered stable, are not covered by the threat model, are not supported by the security team, and are subject to breaking changes. Do not use this feature without understanding each of the previous points.
[2022-05-27 05:02:34.173][141757][warning][misc] [source/common/protobuf/message_validator_impl.cc:35] message 'envoy.extensions.filters.http.ext_proc.v3.ProcessingMode' is contained in proto file 'envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto' marked as work-in-progress. API features marked as work-in-progress are not considered stable, are not covered by the threat model, are not supported by the security team, and are subject to breaking changes. Do not use this feature without understanding each of the previous points.
[2022-05-27 05:02:34.173][141757][critical][main] [source/server/config_validation/server.cc:63] error initializing configuration 'server-bak.yaml': Didn't find a registered implementation for 'envoy.filters.http.router' with type URL: ''


@Judy-Sophos Judy-Sophos added bug triage Issue requires triage labels May 27, 2022
@phlax
Copy link
Member

phlax commented May 27, 2022

Seems like the example you are following is not up to date with current configuration

Where you currently have:

         - name: envoy.filters.http.router

You need:

         - name: envoy.filters.http.router
           typed_config:
             "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

@phlax phlax added question Questions that are neither investigations, bugs, nor enhancements area/configuration and removed bug triage Issue requires triage labels May 27, 2022
@Judy-Sophos
Copy link
Author

@phlax thanks for your kindly help! It works after I add typed_config to the server.yaml.

@assyafii
Copy link

Seems like the example you are following is not up to date with current configuration

Where you currently have:

         - name: envoy.filters.http.router

You need:

         - name: envoy.filters.http.router
           typed_config:
             "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

Thankyou very helpful, already balanced with quota 50/50 :)

image

@thibaultcha
Copy link

[2023-04-21 11:28:26.593][369415][critical][main] [source/server/server.cc:130] error initializing configuration 'envoy_config.yaml': Protobuf message (type envoy.config.bootstrap.v3.Bootstrap reason INVALID_ARGUMENT:typed_config: Cannot find field.) has unknown fields

With:

$ envoy --version

envoy  version: 30db38825c83d2554c95f2c3426259bd18ebb707/1.27.0-dev/Clean/DEBUG/BoringSSL

lianghao208 added a commit to lianghao208/hoot that referenced this issue Dec 9, 2023
Fix error: Didn't find a registered implementation for 'envoy.filters.http.router' with type URL:

refer to: envoyproxy/envoy#21464
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/configuration question Questions that are neither investigations, bugs, nor enhancements
Projects
None yet
Development

No branches or pull requests

4 participants