Skip to content

Latest commit

 

History

History
50 lines (32 loc) · 1.67 KB

README.md

File metadata and controls

50 lines (32 loc) · 1.67 KB

Kroxylicious WASM Filter Sample

This sample filter project provides an example usage of custom filters in Kroxylicious. Here we leverage a pure Java Wasm interpreter called Chicory to build a filter that can be dynamically reconfigured with arbitrary "compiled to Wasm" programs.

To learn more about Kroxylicious, visit the docs. To learn more about Chicory, visit the docs.

Getting started

Build

Building the sample project is easy!

mvn verify

Configure

Filters can be added and removed by altering the filters list in the sample-proxy-config.yml file. You can also reconfigure the sample filters by changing the configuration values in this file.

The SampleFetchResponseFilter and SampleProduceRequestFilter each have two configuration values that must be specified for them to work:

  • replacerModule - the string represent the wasm module to be loaded

Default Configuration

The default configuration for SampleProduceRequestFilter is:

filters:
  - type: SampleProduceRequestFilterFactory
    config:
      replacerModule: foobar.wasm

This means that it will execute the foobar.wasm module compiled from the Rust program foobar.wasm.

The default configuration for SampleFetchResponseFilter is:

filters:
  - type: SampleFetchResponseFilterFactory
    config:
      replacerModule: barbaz.wasm

This means that it will execute the barbaz.wasm module compiled from the Rust program barbaz.wasm.