WAGI - самый простой способ начать писать микросервисы и веб -приложения Webassembly.
Предупреждение: это экспериментальный код. Его разработчики не считаются производственными, и не «поддерживается» программное обеспечение.
Deislabs сейчас экспериментирует со многими технологиями WASM. Это один из множества проектов (включая Krustlet), предназначенные для проверки пределов Webassembly в качестве облачной среды выполнения.
WAGI позволяет вам запускать бинарные карты Webassembly Wasi в качестве обработчиков HTTP. Напишите приложение «Командной строки», которое печатает несколько заголовков, и составьте его с WASM32-WASI . Добавьте запись в modules.toml . Вот и все.
Вы можете использовать любой язык программирования, который может компилировать WASM32-WASI .
Вот самый быстрый способ попробовать Ваги. Для получения подробной информации проверьте документацию.
tar -zxf wagi-VERSION-OS.tar.gzwagi --help Если вы хотите попробовать несколько простых конфигураций, мы рекомендуем клонировать этот репозиторий, а затем использовать каталог examples :
$ wagi -c examples/modules.toml
No log_dir specified, using temporary directory /var/folders/hk/l1mlxz1x01x9yl33ll9vh9980000gp/T/.tmpx55XkJ for logs Это начнет WAGI на http://localhost:3000 . Используйте браузер или инструмент, такой как curl для проверки:
$ 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
Чтобы добавить свои собственные модули, составьте свой код в формат wasm32-wasi и добавьте их в файл modules.toml . Проверьте наш проект Yo-Wasm для быстрого способа создания модулей WASM на различных языках.
WAGI - это реализация CGI для webassembly. Это означает, что написание модуля WAGI так же просто, как и отправка правильно отформатированного контента на стандартный вывод. Если вы хотите понять детали, прочитайте спецификацию общего интерфейса шлюза 1.1.
Посмотрите на репозиторий примеров WAGI для примеров на различных языках.
Для модуля «Производственная оценка» (что бы это ни значило для предварительного релиза), выберите WAGI FileServer: FileServer, написанный в зерне, скомпилированный для WASM и готовый к запуску в Ваги.
Хотите пообщаться? Мы болтаемся в канале #Krustlet в Kubernetes Slack.
Ваги экспериментален, и мы приветствуем вклад в улучшение проекта. На самом деле, мы рады, что вы даже читаете этот раздел документов!
Для исправлений ошибок:
Для рефакторов и тестов:
Для функций:
Поскольку это экспериментальный репозиторий, мы можем быть немного медленными.
Этот проект принял код поведения с открытым исходным кодом Microsoft.
Для получения дополнительной информации см. Кодекс поведения FAQ или свяжитесь с [email protected] с любыми дополнительными вопросами или комментариями.