envoyproxy/envoy

proposal: golang plugin hub

Open

#26,003 opened on Mar 9, 2023

View on GitHub
 (10 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/golanghelp wantedno stalebot

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

motivation: benefits from the golang ecosystem, people could easily implement plugins, for more long tail scenes. we could build a plugin hub, so that people could contribute plugins to the hub, and reuse plugins. similar to the traefik: https://plugins.traefik.io/plugins

technical details:

  1. each plugin is a golang module, with a valid go.mod.
  2. each plugin could declare its own config proto, default to TypedStruct.
  3. people could push config through control-plane, i.e. EnvoyFilter for istio.
  4. furthermore, the hub could provide a way to combine plugins into a big plugin, to reduce cgo calls which might be a bit heavy cost.

Contributor guide