Wagi é a maneira mais fácil de começar a escrever microsserviços e aplicativos da Web Web.
Aviso: este é um código experimental. Não é considerado grau de produção por seus desenvolvedores, nem o software "suportado".
Deislabs está experimentando muitas tecnologias de WASM no momento. Este é um de vários projetos (incluindo Krustlet) projetado para testar os limites da WebAssembly como um tempo de execução baseado em nuvem.
Wagi permite que você execute binários de WebAssembly Wasi como manipuladores HTTP. Escreva um aplicativo "Linha de comando" que imprime alguns cabeçalhos e compile-o com WASM32-WASI . Adicione uma entrada no módulo modules.toml correspondente ao módulo WASM. É isso.
Você pode usar qualquer linguagem de programação que possa compilar ao WASM32-WASI .
Aqui está a maneira mais rápida de experimentar Wagi. Para detalhes, consulte a documentação.
tar -zxf wagi-VERSION-OS.tar.gzwagi --help Se você deseja experimentar algumas configurações simples, recomendamos clonar este repositório e depois usar o diretório examples :
$ wagi -c examples/modules.toml
No log_dir specified, using temporary directory /var/folders/hk/l1mlxz1x01x9yl33ll9vh9980000gp/T/.tmpx55XkJ for logs Isso começará a Wagi em http://localhost:3000 . Use um navegador ou uma ferramenta como curl para testar:
$ 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 adicionar seus próprios módulos, compila seu código ao formato wasm32-wasi e adicione-os ao arquivo modules.toml . Confira nosso projeto Yo-wasm para uma maneira rápida de criar módulos WASM em vários idiomas.
Wagi é uma implementação do CGI para o WebAssembly. Isso significa que escrever um módulo wagi é tão fácil quanto enviar conteúdo formatado corretamente para a saída padrão. Se você quiser entender os detalhes, leia a especificação Common Gateway Interface 1.1.
Dê uma olhada no repositório de exemplos de Wagi para exemplos em vários idiomas.
Para um módulo de "grau de produção" (o que quer que isso signifique para um projeto de pré-lançamento), consulte o Wagi FileServer: um servidor de arquivos escrito em grãos, compilado ao WASM e pronto para ser executado em Wagi.
Quer conversar? Ficamos no canal #krustlet da folga de Kubernetes.
Wagi é experimental e recebemos contribuições para melhorar o projeto. Na verdade, estamos encantados por você estar lendo esta seção dos documentos!
Para correções de bug:
Para refatores e testes:
Para recursos:
Como este é um repositório experimental, podemos ser um pouco lentos para responder.
Este projeto adotou o Código de Conduta Open Microsoft.
Para obter mais informações, consulte o Código de Conduta Perguntas frequentes ou entre em contato com [email protected] com quaisquer perguntas ou comentários adicionais.