area/wasmhelp wanted
仓库指标
- Star
- (27,997 star)
- PR 合并指标
- (平均合并 8天) (30 天内合并 378 个 PR)
描述
Title: Envoy should be able to describe (Wasm) ABIs it supports
Context:
- consider a use case of a marketplace with Wasm extensions for Envoy
- from a user perspective, it's important to know whether a given extension is supported by a particular Envoy distribution he is using right now
- the assumption is that an answer like "use Envoy vX.Y.Z+" is not good enough (a user might be using either a 3rd party closed source Envoy distro, or a nightly build of upstream Envoy, etc)
Proposal:
- Add to Envoy the ability to describe (Wasm) ABIs it supports
- The initial focus is on the offline scenario where it is a user, or a marketplace, or a vendor, who needs to know this info
- The online scenario, where it is a Control Plane who needs to know this info, is currently out of scope
Example use cases:
- a user runs
envoy --list-abisto get the precise list of (Wasm) ABIs this particular Envoy distro supports, e.g.envoy: version: ... abis: v1: host: network_filter: ... http_filter: ... access_log: ... http_client: proxy_http_call: SUPPORTED grpc_client: proxy_grpc_call: SUPPORTED proxy_grpc_stream: SUPPORTED proxy_grpc_send: SUPPORTED tcp_client: ... udp_client: ... ... extension: network_filter: ... http_filter: ... access_log: ... http_client: proxy_on_http_call_response: SUPPORTED grpc_client: proxy_on_grpc_create_initial_metadata: SUPPORTED proxy_on_grpc_receive: DEPRECATED tcp_client: ... udp_client: ... ... - a user then comes to a marketplace site, provides info from above and gets back the exact info on what extensions (and their versions) are applicable to him
- a marketplace runs
envoy --list-abison popular Envoy distributions (e.g. upstream,getenvoy,istio,solo, etc) to provide compatibility info in advance - a vendor of a closed source Envoy distribution runs
envoy --list-abison his own binaries and submits this info to a marketplace in order to be present in the compatibility matrix for each extension in the catalog