irasnyd / wasm-kube-metadata

Istio Envoy WebAssembly (WASM) Extension to get Kubernetes Metadata

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Scaffold extension

This extension provides a starting point for a new extension.

Instructions

Lots of Bazel code copy/pasted from the repository:

This makes it possible to compile a plugin using the newest versions of the WASM toolchain, but using older versions of the SDK.

YAML based upon:

plugin.cc

Initial attempt to get WASM working, based upon:

$ bazel build :plugin.wasm
$ kubectl delete envoyfilter header-test-filter
$ kubectl --namespace=isnyder delete cm header-test-filter
$ kubectl --namespace=isnyder create cm header-test-filter --from-file=filter.wasm=bazel-bin/plugin.wasm
$ kubectly apply -f ./yaml

filter1.cc

Based upon the example in the README.md of this repository:

$ bazel build :filter1.wasm
$ kubectl delete envoyfilter header-test-filter
$ kubectl --namespace=isnyder delete cm header-test-filter
$ kubectl --namespace=isnyder create cm header-test-filter --from-file=filter.wasm=bazel-bin/filter1.wasm
$ kubectly apply -f ./yaml

filter2.cc

Based upon the example here:

$ bazel build :filter2.wasm
$ kubectl delete envoyfilter header-test-filter
$ kubectl --namespace=isnyder delete cm header-test-filter
$ kubectl --namespace=isnyder create cm header-test-filter --from-file=filter.wasm=bazel-bin/filter2.wasm
$ kubectly apply -f ./yaml

About

Istio Envoy WebAssembly (WASM) Extension to get Kubernetes Metadata


Languages

Language:Starlark 70.4%Language:C++ 15.8%Language:Shell 13.8%