Skip to content

[Task] Document the WASM host ABI and add a gateway-level reference plugin test #7563

Closed

Description

@Aias00

Description

Make the wasm-api/wasm-base contract verifiable with a versioned ABI specification and a real gateway integration example.

The modules currently have Rust and TinyGo fixtures demonstrating shenyu.get_args/put_result, lifecycle exports and shared-memory communication. The Go ABI helper explicitly lives under test sources for internal test use. Repository searches did not find a concrete WASM business plugin or WASM integration/e2e suite exercising these abstractions through bootstrap.

This does not imply there is no external ShenYu WASM documentation; the missing evidence is a versioned contract and gateway-level test alongside the current runtime implementation. It also does not require the abstract libraries themselves to have an independent starter.

Task List

  • Specify import namespace/signatures, required versus optional exports, pointer/length conventions, serialization, buffer-too-small behavior, result/error codes and ABI compatibility/versioning.
  • State which build targets/toolchains are tested; distinguish TinyGo fixtures from support for arbitrary Go runtimes.
  • Add a small reference plugin that is actually registered in a gateway test.
  • Exercise selector/rule configuration delivery, real HTTP request data, a guest decision/result and chain behavior.
  • Exercise missing hooks, configuration updates/deletes, concurrency isolation and runtime failures using actual Wasm fixtures.
  • Document reproducible fixture builds and the integration-test command.

Additional context

ShenYu: 2.7.2-SNAPSHOT, commit 2dff2730ff399635b2bc657e21a903f391fb9df8; Java 17; Chicory 1.7.3.

The existing 24 tests across these modules passed locally, along with Checkstyle. They establish basic Rust/TinyGo communication and matching paths, not the full gateway lifecycle.

Related historical tasks: #4492, #4612, #5427. Runtime migration: #6353.

Activity

  1. github-actions commented on Oct 12, 2026

    @github-actions
    Contributor

    👋 Hello @yuluo-yx

    A new issue has been opened by @Aias00:

    Please review when you have time. Thank you! 🙏

  2. yangjj-iso commented on Oct 12, 2026

    @yangjj-iso
    Contributor

    /assign

  3. added a commit that references this issue on Oct 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions