Injecter une logique personnalisée à la périphérie avec WebAssembly (Wasm) Proxies

Quick answer
Injecter une logique personnalisée à la périphérie avec WebAssembly (Wasm): quick answer
Injecter une logique personnalisée à la périphérie avec WebAssembly (Wasm) Proxies Arrêtez de déployer des middleware lourds simplement pour analyser un token ou réécrire une charge utile.
What is the main takeaway from Injecter une logique personnalisée à la périphérie avec WebAssembly (Wasm) Proxies?
Injecter une logique personnalisée à la périphérie avec WebAssembly (Wasm) Proxies Arrêtez de déployer des middleware lourds simplement pour analyser un token ou réécrire une charge utile.
Which InstaTunnel page should I read next?
Use the related pages below to continue into the most relevant documentation, product workflow, comparison page, or implementation guide.
Arrêtez de déployer des middleware lourds simplement pour analyser un token ou réécrire une charge utile. Compiler votre logique de routage en WebAssembly vous permet d’exécuter des fonctions proxy personnalisées à la périphérie du réseau avec une latence quasi nulle — et en 2026, l’écosystème a enfin mûri pour le faire en production.
Dans les architectures cloud-native modernes, la périphérie du réseau est passée d’un simple point d’entrée à une frontière intelligente et hautement programmable. Pendant des années, les ingénieurs plateforme ont été confrontés à un dilemme architectural persistant : où doit résider la logique métier personnalisée lorsqu’une requête atteint la passerelle API ou le reverse proxy ? Historiquement, si vous aviez besoin d’implémenter une validation propriétaire de token, de supprimer des PII d’une charge utile, ou d’exécuter un routage complexe basé sur le contexte, vous aviez deux options peu satisfaisantes. Vous pouviez forker le code source de votre proxy — généralement écrit en C++ ou Go — et maintenir une version personnalisée, ou déployer un microservice middleware séparé et forcer le proxy à faire un saut réseau avant de router le trafic vers sa destination finale.
Les deux approches ont un coût important. Forger un projet comme Envoy crée une dette technique énorme et des cauchemars de mise à niveau. Déployer un middleware externe introduit de la latence réseau, augmente la surface de défaillance, et complique l’empreinte de déploiement.
Entrez WebAssembly (Wasm). En compilant une logique personnalisée en WebAssembly et en l’injectant directement dans les proxies en périphérie, les ingénieurs plateforme changent la façon dont le trafic est géré à l’entrée. Ce paradigme — souvent appelé edge proxies alimentés par Wasm — permet aux développeurs d’exécuter du code sécurisé, à vitesse quasi native, directement dans l’espace de processus du proxy sans toucher au code de base du proxy.
Qu’est-ce qu’un edge proxy alimenté par Wasm ?
WebAssembly est un format d’instructions binaire pour une machine virtuelle basée sur une pile, initialement conçu pour des applications haute performance dans les navigateurs web. C’est une cible de compilation portable pour Rust, C++, Go, AssemblyScript, et d’autres langages. Appliqué au réseau côté serveur, Wasm agit comme un système de plugins universel pour le calcul en périphérie.
Au lieu de maintenir des microservices séparés pour modifier des headers, valider des tokens, ou transformer des données lors du passage dans un proxy, les développeurs écrivent leur logique dans le langage de leur choix et la compilent en un binaire .wasm. Ce binaire est injecté directement dans un proxy inverse moderne comme Envoy. Parce que Wasm s’exécute dans un sandbox sécurisé et isolé, le proxy peut exécuter le code personnalisé en toute sécurité. Si le plugin Wasm plante, le proxy lui-même reste opérationnel — le sandbox est détruit, une erreur 500 est renvoyée pour cette requête spécifique, et le proxy continue de traiter ses autres connexions sans interruption.
Cela transforme le reverse proxy en une passerelle API Wasm hautement extensible, capable d’exécuter des tâches personnalisées et intensives en calcul au moment précis où un paquet atteint la périphérie du réseau.
L’ABI Proxy-Wasm
Le catalyseur de cette architecture est l’Interface Binaire d’Application Proxy-Wasm (ABI). Avant Proxy-Wasm, écrire un plugin pour un proxy signifiait écrire du code étroitement couplé à l’API interne spécifique de ce proxy. Proxy-Wasm définit une interface standardisée entre proxies et machines virtuelles Wasm : comment un proxy transmet des headers HTTP, des charges utiles, et des métadonnées de connexion au module Wasm, et comment le module Wasm instruit le proxy à agir — bloquer cette requête, ajouter ce header, router vers cette upstream.
La version recommandée et largement implémentée de l’ABI est v0.2.1. C’est celle que Envoy, Istio, MOSN, Higress, et API7 implémentent aujourd’hui. Un plugin Proxy-Wasm écrit pour v0.2.1 peut théoriquement fonctionner dans tout proxy qui supporte cette même ABI.
Il est utile d’être honnête sur l’historique de cette spécification : l’ABI Proxy-Wasm a été utilisé activement par Envoy et Istio pendant des années sans documentation formelle adéquate. À la mi-2023, les mainteneurs du dépôt de la spécification l’ont reconnu publiquement sur GitHub et se sont engagés à documenter correctement l’ABI v0.2.1. Cet effort de documentation s’est poursuivi en 2024 et 2025, avec des commits actifs jusqu’en octobre 2025. L’ABI elle-même est stable en pratique — la surface d’attaque n’a pas changé de manière significative pour les déploiements en production — mais les développeurs qui mettent à jour leurs SDK ou runtimes entre différentes versions d’Envoy doivent tester contre la classe d’erreurs WASM version d’ABI Proxy-Wasm manquante, qui surviennent lorsque la version ABI compilée ne correspond pas à celle attendue par le proxy hôte.
Pourquoi Wasm remplace-t-il le middleware traditionnel ?
1. Éliminer la latence réseau
Dans une architecture microservices traditionnelle, une requête entrante déclenche un appel HTTP ou gRPC hors processus. Le proxy reçoit la requête de l’utilisateur, met en pause, envoie des headers à un service “AuthZ”, attend une réponse, puis route le trafic. Ce saut réseau interne s’accumule fortement à haut débit.
Avec les extensions Envoy Wasm, la logique vit dans la mémoire d’Envoy. La documentation d’Envoy confirme que ces extensions peuvent être livrées et rechargées à la volée directement depuis le plan de contrôle, sans mettre à jour ou redéployer le binaire du proxy. L’exécution de la logique personnalisée se fait avec une latence quasi nulle : le proxy mappe les données de la requête dans la mémoire du VM Wasm, la validation s’exécute, et le proxy route immédiatement la requête.
2. Indépendance du langage et vélocité du développement
Les équipes plateforme n’ont plus besoin d’experts C++ pour écrire des filtres Envoy. Un ingénieur sécurité peut écrire un algorithme de limitation de débit en Rust, une équipe d’identité peut écrire un parser JWT en Go (via TinyGo), et une équipe plateforme peut écrire une logique de manipulation des headers en AssemblyScript.
L’outil principal pour le développement Proxy-Wasm aujourd’hui :
- Rust —
proxy-wasm-rust-sdkavec la ciblewasm32-wasip1(anciennementwasm32-wasi, renommée dans le compilateur Rust en mars 2024). C’est la voie la plus mature. - Go —
proxy-wasm-go-sdk, qui nécessite TinyGo plutôt que Go standard. Le SDK Go porte le nom du langage mais repose sur TinyGo en raison du support incomplet de WASI dans Go standard pour ce cas d’usage. - C++ — via le SDK WASI basé sur Clang/LLVM.
Une fois compilés en Wasm, les modules sont distribués comme des images de conteneur. En utilisant des registres conformes à OCI, les équipes peuvent pousser et tirer des modules Wasm et les intégrer dans leurs pipelines CI/CD existants.
3. Isolation des fautes et sécurité
Un module Wasm ne peut pas accéder au système de fichiers, aux primitives réseau, ou à la mémoire en dehors de son espace alloué. Si un plugin panique ou fuit de la mémoire, la VM termine le sandbox. La spécification Proxy-Wasm prévoit aussi que l’hôte doit suivre les taux de crash et limiter l’instanciation de plugins qui plantent en boucle, empêchant un plugin défectueux de provoquer une déni de service.
Cela rend le déploiement de logique personnalisée dans des composants réseau critiques beaucoup plus sûr que les extensions natives.
Runtimes Wasm dans Envoy
Envoy supporte trois implémentations de runtime Wasm : V8, WAMR (WebAssembly Micro Runtime, développé par Intel), et Wasmtime. Dans les images officielles d’Envoy, V8 est le runtime par défaut et le seul compilé par défaut. WAMR et Wasmtime sont présents dans le code mais non inclus dans la build officielle.
Pour les équipes utilisant des distributions Envoy autres que la version officielle — comme Higress, basé sur Istio et Envoy, largement adopté sur Alibaba Cloud — l’intérêt croît pour WAMR. Lors du passage de Higress du runtime Wasm V8 à WAMR avec la compilation AOT activée, la performance des plugins s’est améliorée en moyenne de 50 %, certains plugins complexes doublant en vitesse. La raison : la dépendance V8 d’Envoy est fixée à une version 2022, ce qui limite l’accès aux fonctionnalités WasmGC plus récentes, tandis que WAMR en mode AOT génère du code machine pour la plateforme cible via une pipeline d’optimisation personnalisée, atteignant des performances comparables à celles des binaires natifs à l’exécution.
Architecture de déploiement : Envoy et Istio
Envoy
Le cycle de vie d’une extension Envoy Wasm en environnement Kubernetes en production suit un chemin bien défini :
- Développement — Un développeur écrit l’extension en Rust avec
proxy-wasm-rust-sdk, implémentant le traitHttpContextavec des callbacks pouron_http_request_headerseton_http_response_body. - Compilation — Le code Rust est compilé avec
rustup target add wasm32-wasip1puiscargo build --target wasm32-wasip1 --release, produisant un binaire.wasmcompact. - Distribution — Le binaire
.wasmest poussé dans un registre conforme à OCI. - Configuration — La configuration de la chaîne de filtres Envoy référence l’URI du module Wasm, en spécifiant le runtime (
envoy.wasm.runtime.v8par défaut) et toute configuration du plugin. - Instantiation — Lors du démarrage ou du rechargement de la configuration, Envoy récupère et instancie le module Wasm dans une VM.
- Exécution — Les requêtes HTTP traversent la chaîne de filtres Envoy et atteignent le filtre Wasm. Envoy mappe les données de la requête dans la mémoire linéaire du VM Wasm, le plugin s’exécute, modifie headers ou corps, et retourne le contrôle à Envoy.
CRD WasmPlugin d’Istio
En environnement mesh de services, Istio fournit la ressource personnalisée WasmPlugin sous le groupe API extensions.istio.io/v1alpha1, introduite dans Istio 1.12. Le CRD WasmPlugin abstrait la configuration de la chaîne de filtres Envoy sous-jacente et supporte la ciblage par sélecteur de workload ou via le champ targetRefs de l’API Gateway Kubernetes, permettant de cibler les proxies waypoint dans les déploiements Ambient Mesh.
Un exemple minimal de ressource WasmPlugin :
apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: basic-auth
namespace: istio-system
spec:
selector:
matchLabels:
istio: ingressgateway
url: oci://ghcr.io/istio-ecosystem/wasm-extensions/basic_auth:1.12.0
phase: AUTHN
pluginConfig:
basic_auth_rules:
- prefix: "/api"
request_methods: ["GET", "POST"]
credentials:
- "dXNlcjpwYXNz"
L’agent Istio interprète la configuration WasmPlugin, télécharge le module Wasm depuis le registre OCI, et injecte le filtre HTTP dans le sidecar Envoy (ou proxy waypoint, dans les déploiements Ambient) en référant au fichier local. L’intégrité du plugin peut être assurée en spécifiant le hash sha256 attendu dans la spécification.
Cas d’usage transformateurs
Authentification et autorisation avancées
Les API gateways standards valident les JWT via des endpoints JWKS classiques. Wasm permet une autre catégorie de logique d’authentification : formats de tokens propriétaires, vérifications cryptographiques multi-étapes, ou schémas HMAC spécifiques à l’entreprise qui nécessiteraient autrement un aller-retour vers un service d’auth interne. Le plugin Wasm intercepte la requête, effectue les calculs cryptographiques localement, et peut soit couper la connexion à la périphérie, soit transmettre la requête en aval. Le trafic malveillant ou les tentatives DDoS ne parviennent jamais aux services internes.
Transformation dynamique de la charge utile et anonymisation
Un plugin Wasm peut intercepter les corps de réponse HTTP sortants et effectuer des opérations DLP (Data Loss Prevention) avant que la réponse n’atteigne le client. En utilisant la gestion mémoire sûre de Rust, le module scanne la charge utile, masque ou supprime les PII comme les numéros de carte de crédit ou les numéros de sécurité sociale, et recalcule l’en-tête Content-Length. Cela garantit la conformité sans modifier les applications internes legacy qui émettent les données brutes.
Routage contextuel
Wasm permet des décisions de routage bien au-delà des chemins URL et headers HTTP. Un module Wasm peut analyser l’arbre syntaxique abstrait d’une requête GraphQL, déterminer quels services en amont possèdent les champs demandés, et réécrire dynamiquement la sélection en amont. Pour une SaaS multi-locataires, un plugin peut exécuter une recherche localisée (via une connexion secondaire configurée dans le proxy) pour déterminer le routage par shard de base de données, assurant une isolation cohérente des locataires sans ajouter un service de routage séparé.
Web Application Firewalls sur mesure
Les WAF commerciaux ont du mal avec les attaques logicielles de niveau application. Wasm permet aux équipes de sécurité d’écrire des plugins qui implémentent une détection très spécifique et stateful : suivre la vélocité des paramètres sur plusieurs requêtes pour détecter des bots de scraping, appliquer des limites de débit algorithmiques ciblant des abus API précis, ou faire respecter des invariants de forme de requête qu’un WAF générique ne peut pas encoder.
État de l’écosystème en 2026
WebAssembly 3.0
Le 17 septembre 2025, le groupe communautaire WebAssembly du W3C et le groupe de travail ont annoncé la sortie de WebAssembly 3.0 comme nouvelle norme vivante. Cette mise à jour, plus importante que la 2.0, inclut plusieurs fonctionnalités en développement depuis six à huit ans. Les principales nouveautés :
- Espace d’adressage 64 bits (memory64) — mémoires et tables peuvent utiliser
i64comme type d’adresse, étendant l’espace d’adressage théorique de 4 Go à 16 Exa-octets. - WasmGC — support natif de la collecte de déchets dans le moteur hôte. Les langages comme Java, Kotlin, Scala, Dart peuvent compiler directement en Wasm sans inclure un runtime GC complet, réduisant la taille des modules.
- Gestion des exceptions — propagation structurée des exceptions standardisée.
- Appels tail — optimisation des appels tail récursifs.
- SIMD 128 bits — opérations vectorielles pour charges de travail intensives.
Pour le travail sur proxy et plugins en périphérie, les changements les plus immédiatement pertinents sont l’extension mémoire 64 bits (supprimant les contraintes de taille sur les plugins gourmands en mémoire) et le support amélioré des langages autres que Rust ou C++.
WASI 0.2 et le modèle de composants
WASI 0.2 (aussi appelé WASIp2 ou Preview 2) a été lancé par la Bytecode Alliance le 25 janvier 2024. Il introduit le Modèle de Composants WebAssembly et WIT (Types d’Interface WebAssembly), ajoutant la prise en charge du réseau via wasi:http et wasi:sockets par rapport à WASI 0.1, qui était POSIX-only. WASI 0.2 est la cible stable pour la production en 2026. Wasmtime a été le premier runtime majeur à supporter pleinement les modules du Modèle de Composants et les API WASI 0.2.
Le Modèle de Composants est directement pertinent pour les workloads proxy. Il définit un mécanisme permettant à plusieurs modules Wasm — potentiellement écrits dans différents langages — d’être liés et de communiquer via des interfaces WIT typées, sans marshaling mémoire manuel ni FFI. Dans un contexte gateway, cela signifie qu’un composant d’authentification JWT en Go, un limiteur de débit en Rust, et un transformateur de données en Python peuvent être composés dans le runtime Wasm du proxy sans surcharge réseau.
WASI 0.3 et l’async natif
WASI 0.3.0 a été publié en février 2026, avec un support en preview dans Wasmtime 37+. La fonctionnalité principale est l’I/O asynchrone natif intégrée directement dans le Modèle de Composants via les types explicites stream<T> et future<T> au niveau de l’ABI Canonical. Avant 0.3, WASI 0.2 nécessitait que les développeurs gèrent manuellement des handles pollable — création, poll(), attente, correspondance des indices, extraction des résultats — avec un seul tâche pouvant faire du polling à la fois. Cela compliquait l’écriture de workloads Wasm intensifs en I/O et limitait la concurrence.
Avec WASI 0.3, toute fonction au niveau du composant peut être implémentée et appelée de façon asynchrone en utilisant des patterns idiomatiques en Rust, JavaScript ou Python, sans machine à états manuelle. C’est la dernière grande lacune ergonomique entre Wasm et les runtimes serveur conventionnels pour les workloads I/O.
WASI 1.0 — la norme stable à long terme — est prévue pour 2026. La prise en charge du threading reste en suspens.
Plateformes edge en production
Les plugins Proxy-Wasm ne sont pas le seul modèle de déploiement. Les plateformes cloud qui exécutent Wasm nativement à la périphérie — Cloudflare Workers, Fastly Compute, Vercel Edge Functions, et Fermyon Spin — traitent des milliards de requêtes par jour. Cloudflare Workers fonctionne dans plus de 330 villes dans le monde, avec des isolats V8 offrant des démarrages à froid en millisecondes et une large prise en charge des langages Wasm via wasm32-wasip2. Fastly Compute exécute Wasm en natif avec des pénalités de démarrage à froid quasi nulles grâce à la pré-compilation ; son modèle de pré-compilation élimine les pauses de garbage collection et le jitter de planification des isolats V8, ce qui le rend adapté aux pipelines de livraison à latence critique. Fermyon a été acquis par Akamai pour exécuter des fonctions serverless Wasm dans plus de 4 000 emplacements mondiaux.
Pour le modèle de plugin côté serveur et en processus, l’écosystème d’outils et d’observabilité s’est également considérablement amélioré. Les développeurs peuvent désormais utiliser des simulateurs locaux de l’hôte Wasm pour déboguer leur code Rust ou Go avant déploiement. Les plugins Wasm peuvent émettre des métriques personnalisées, des spans de traçage distribué, et des logs structurés directement dans les flux de télémétrie d’Envoy — en faisant des citoyens de premier ordre dans les stacks d’observabilité modernes.
Vérités sur les compromis
Les proxies alimentés par Wasm ne sont pas sans contraintes, et il est important de les reconnaître.
Fragmentation de l’ABI entre hôtes. Bien que Proxy-Wasm v0.2.1 soit la norme de facto, la portabilité entre implémentations de proxy — Envoy, MOSN, API7 — nécessite de vérifier la prise en charge de l’ABI sur chaque hôte. La cible wasm32-wasip2 du Modèle de Composants et les interfaces WIT offrent une voie vers une portabilité plus robuste, mais l’adoption de l’ABI par l’écosystème proxy est encore en maturation.
Overhead mémoire à grande échelle. Chaque instance de VM Wasm nécessite sa propre mémoire allouée. À grande échelle, faire tourner des milliers d’instances isolées consomme plus de mémoire totale qu’une alternative à runtime partagé. Le coût par instance est faible comparé aux conteneurs, mais il n’est pas nul, et il s’accumule dans de grands parcs.
I/O bloquantes dans Proxy-Wasm. L’ABI Proxy-Wasm est synchrone. Les plugins qui doivent faire des appels externes (par ex., Redis ou autres services secondaires) doivent utiliser la primitive dispatch_http_call d’Envoy et implémenter le modèle de callback, ce qui ajoute de la complexité architecturale. L’async natif de WASI 0.3 est une amélioration au niveau plateforme, mais ne modifie pas directement le modèle d’exécution des filtres Proxy-Wasm.
Opacité du débogage. Malgré les améliorations, déboguer un plugin dans un Envoy en production nécessite d’activer la journalisation de débogage au niveau Wasm (istioctl proxy-config wasm ou via l’API admin d’Envoy /logging?wasm=debug) et de faire le lien avec la sortie structurée des logs. L’expérience est nettement meilleure qu’en 2021, mais reste plus complexe que le débogage de services natifs en Go ou Rust.
Conclusion
La transition vers des plugins proxy en WebAssembly représente un changement fondamental dans la façon dont la logique personnalisée est livrée à la frontière du réseau. En compilant l’authentification, la transformation, et le routage en Wasm et en l’injectant dans l’espace de processus du proxy, les organisations obtiennent une latence plus faible, une isolation des fautes renforcée, et une vélocité de développement accrue — sans forker le code du proxy ni déployer des microservices supplémentaires.
Les standards sous-jacents sont désormais véritablement stables. L’ABI Proxy-Wasm v0.2.1 est l’interface documentée et prête pour la production, supportée par tous les principaux proxies supportant les extensions Wasm. WebAssembly 3.0 a standardisé neuf fonctionnalités en septembre 2025. WASI 0.2 a introduit le Modèle de Composants et la composition typée entre modules. WASI 0.3.0, sortie en février 2026, a comblé le gap de l’I/O asynchrone pour les workloads serveur.
Le résultat pratique : compiler la logique de routage, d’authentification, et de transformation en WebAssembly n’est plus une expérience. Les toolchains sont matures, les runtimes sont stables, et l’observabilité a rattrapé son retard. Si votre trafic passe par un proxy en périphérie, la valeur de Wasm est désormais une décision d’ingénierie rationnelle — pas un projet de recherche.
Changelog
Les corrections et extensions factuelles suivantes ont été apportées au brouillon original :
| # | Affirmation originale | Correction / Ajout |
|---|---|---|
| 1 | “les composants principaux de la spécification Proxy-Wasm ont atteint un haut niveau de stabilité” (sans qualification) | Clarifié : la norme de facto est l’ABI v0.2.1, stable et largement implémentée. Cependant, la spécification manquait de documentation formelle jusqu’à un effort en 2023–2024 pour la documenter correctement. La version vNEXT de l’ABI n’a jamais été entièrement implémentée. Les erreurs de mismatch de version ABI restent un vrai problème opérationnel. Sources : proxy-wasm/spec GitHub issues #38, #41 ; docs Envoy. |
| 2 | Envoy utilise “V8, Wasmtime, ou WAMR” (impliquant une égalité de disponibilité) | Corrigé : V8 est le runtime par défaut et le seul compilé dans l’image officielle d’Envoy. WAMR et Wasmtime sont présents dans le code mais non inclus dans la build officielle. Sources : docs officiels Envoy ; issue GitHub #29827. |
| 3 | La cible de compilation décrite comme wasm32-wasi |
Corrigé : cette cible a été renommée wasm32-wasip1 dans le compilateur Rust en mars 2024. La cible du Modèle de Composants est wasm32-wasip2. Sources : documentation rustc. |
| 4 | Les plugins Go proxy-wasm utilisent le Go natif | Clarifié : le proxy-wasm-go-sdk utilise TinyGo, pas Go standard. Go standard a un support WASI incomplet pour cet usage. Sources : docs WasmEdge ; documentation wasm-nginx-module. |
| 5 | La transition de l’expérimental au production-grade est terminée pour Proxy-Wasm | Qualification : v0.2.1 est en production. Le dépôt de spécification est actif mais des issues ouvertes persistent (support timer, headers multi-value, clés KVS). La situation réelle est décrite avec précision. |
| 6 | WebAssembly 3.0 état | Ajouté : WebAssembly 3.0 est devenu la norme vivante du W3C le 17 septembre 2025, standardisant WasmGC, gestion des exceptions, tail calls, mémoire 64 bits, SIMD 128 bits, et autres fonctionnalités. Source : webassembly.org/news/2025-09-17-wasm-3.0/. |
| 7 | WASI et le modèle de composants décrits vaguement comme “l’avenir immédiat” | Étendu avec calendrier vérifié : WASI 0.2.0 sorti le 25 janvier 2024 (Modèle de Composants, WIT, réseau). WASI 0.3.0 sorti en février 2026 (async natif, stream<T> et future<T> types, disponible dans Wasmtime 37+). WASI 1.0 prévu pour 2026. Sources : wasi.dev/roadmap ; bytecodealliance ; devtoollab.com. |
| 8 | Contexte plateforme edge absent | Ajouté : déploiements sur Cloudflare Workers, Fastly Compute, Vercel Edge Functions, Fermyon Spin, traitant des milliards de requêtes. Détails sur leur fonctionnement et intégration. |
| 9 | Pas de discussion sur les compromis | Ajouté : fragmentation ABI, overhead mémoire, modèle synchrone Proxy-Wasm, complexité de débogage. |
| 10 | API CRD WasmPlugin d’Istio |
Vérifié : extensions.istio.io/v1alpha1. Ajout note sur ciblage via targetRefs dans Ambient Mesh. Sources : docs Istio. |
Related InstaTunnel pages
Continue from this article into the most relevant product guides and workflows.
Related Topics
Keep building with InstaTunnel
Read the docs for implementation details or compare plans before you ship.