Is there a plan to introduce a scripting language in linkerd-proxy #9771
Unanswered
spacewander
asked this question in
Ideas
Replies: 1 comment
-
Hey! I recently encountered a case where it could be a potential solution: #12957. Although there's other ways(less radical) in which Linkerd could support this use case. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
What problem are you trying to solve?
Extensibility has always been a consideration when introducing service mesh. After all, in many cases, developers are not introducing a service mesh in a completely new environment.
How should the problem be solved?
To solve this problem, it is common practice to include a scripting language. For example, Envoy uses LuaJIT and Pipy uses its own JS engine called PipyJS.
Does Linkerd have plans to do this?
Any alternatives you've considered?
Wasm may be an alternative (and immature) solution to this problem. However, Wasm requires a more complex toolchain, and the languages that support it well are usually compiled languages (rather than scripting languages in the usual sense).
How would users interact with this feature?
To use the code written in these scripting languages, users need to first package or mount the corresponding code directory themselves. Then you can reference them in Linkerd in a similar way to EnvoyFilter.
Linkerd-proxy exposes some Host interfaces to the scripting language, allowing it to rewrite HTTP requests and responses, access attributes such as SNI and client addresses, and make requests to the authorization server.
Would you like to work on this feature?
I am afraid that this will be a long time project, which would be better done by someone who works on Linkerd full time.
Beta Was this translation helpful? Give feedback.
All reactions