What this pattern does:

In a hierarchical-parent-wallet relationship, one component (the "wallet") serves as a container or host for another component, similar to a parent-child structure. In this example, the WASM plugin acts as the parent (or wallet) that "contains" the WASM filter, representing the idea that the filter operates within the scope and capabilities provided by the plugin. For instance, in a service mesh like Istio, a WASM plugin is deployed into an Envoy proxy and serves as the runtime environment for a WASM filter. A custom WASM filter may be designed to modify HTTP requests (e.g., by adding a security header), but it relies on the plugin to intercept network traffic and integrate with the proxy’s pipeline. The plugin manages the lifecycle of the filter, ensuring it is executed whenever relevant traffic is processed. Without the plugin, the filter would not be able to apply its logic, emphasizing how the plugin enables the filter’s operation. This wallet nature highlights the idea that the plugin acts as a container that securely "holds" the filter, providing it with the necessary infrastructure and environment to function. Just as a wallet holds its contents, the plugin ensures the filter operates properly within the boundaries and resources it provides, without which the filter would not function independently.

Caveats and Consideration:

Understand that the child component (e.g., the filter) is dependent on the parent component (e.g., the plugin). If the parent (wallet) is not correctly configured or functional, the child component will not work as expected. Ensure the parent component is properly configured.

Compatibility:



Recent Discussions with "meshery" Tag