Wagi es la forma más fácil de comenzar a escribir microservicios websembly y aplicaciones web.
ADVERTENCIA: Este es un código experimental. No es considerado el grado de producción por sus desarrolladores, tampoco es un software "compatible".
Deislabs está experimentando con muchas tecnologías WASM en este momento. Este es uno de la multitud de proyectos (incluido Krustlet) diseñado para probar los límites de WebAssembly como un tiempo de ejecución basado en la nube.
Wagi le permite ejecutar WebSembly Wasi binarios como manejadores HTTP. Escriba una aplicación de "línea de comandos" que imprima algunos encabezados y la compile a WASM32-WASI . Agregue una entrada al modules.toml . Eso es todo.
Puede usar cualquier lenguaje de programación que pueda compilar a WASM32-WASI .
Aquí está la forma más rápida de probar Wagi. Para obtener más detalles, consulte la documentación.
tar -zxf wagi-VERSION-OS.tar.gzwagi --help Si desea probar algunas configuraciones simples, le recomendamos clonar este repositorio y luego usar el directorio examples :
$ wagi -c examples/modules.toml
No log_dir specified, using temporary directory /var/folders/hk/l1mlxz1x01x9yl33ll9vh9980000gp/T/.tmpx55XkJ for logs Esto comenzará Wagi en http://localhost:3000 . Use un navegador o una herramienta como curl para probar:
$ curl -v http://localhost:3000/hello/world
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 3000 (#0)
> GET /hello/world HTTP/1.1
> Host: localhost:3000
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 200 OK
< content-type: text/html; charset=UTF-8
< content-length: 12
< date: Wed, 14 Oct 2020 22:00:59 GMT
<
hello world
* Connection #0 to host localhost left intact
* Closing connection 0
Para agregar sus propios módulos, compile su código al formato wasm32-wasi y agréguelos al archivo modules.toml . Consulte nuestro proyecto Yo-Wasm para obtener una forma rápida de construir módulos WASM en una variedad de idiomas.
Wagi es una implementación de CGI para WebAssembly. Eso significa que escribir un módulo WAGI es tan fácil como enviar contenido formateado correctamente a la salida estándar. Si desea comprender los detalles, lea la especificación Common Gateway Interface 1.1.
Eche un vistazo al repositorio de ejemplos WAGI para ver ejemplos en varios idiomas.
Para un módulo "Grado de producción" (lo que sea que eso signifique para un proyecto de prelanzamiento), consulte el servidor de archivos WAGI: un servidor de archivos escrito en grano, compilado a WASM y listo para ejecutarse en Wagi.
¿Quieres chatear? Pasamos el rato en el canal #Krustlet de la holgura de Kubernetes.
Wagi es experimental, y agradecemos contribuciones para mejorar el proyecto. De hecho, ¡estamos encantados de que incluso estés leyendo esta sección de los documentos!
Para correcciones de errores:
Para refactores y pruebas:
Para las características:
Dado que este es un repositorio experimental, podríamos ser un poco lentos para responder.
Este proyecto ha adoptado el Código de Conducta Open Open Microsoft.
Para obtener más información, consulte el Código de Conducta Preguntas frecuentes o comuníquese con [email protected] con cualquier pregunta o comentario adicional.