feat!: migrate traefik-superheader from yaegi to wasm#16
Merged
Conversation
76de7af to
ad1132f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #15
Description
This pull request migrates the traefik-superheader plugin from using yaegi to a WebAssembly (wasm) runtime. The plugin has been refactored to remove the reliance on yaegi interpretation and now compiles to wasm, improving portability, security, and alignment with the current Traefik plugin ecosystem. Supporting code and configuration have been updated accordingly.
Related Issue
No prior issue existed for this migration. This pull request formalizes and documents the transition to wasm.
Motivation and Context
The yaegi-based implementation caused compatibility and maintenance challenges due to runtime interpretation and evolving Traefik plugin constraints. Migrating to wasm provides a more stable execution model, reduces attack surface, and ensures long-term compatibility with Traefik’s recommended plugin architecture. This change simplifies deployment while enabling better performance and reliability.
How Has This Been Tested?
The plugin was tested using a local Traefik instance with multiple header configurations to confirm behavior parity with the previous version. The wasm build was validated using Traefik’s plugin loader to ensure correct initialization and runtime execution. Additional manual tests were performed to confirm expected h