Wagi ist der einfachste Weg, um mit dem Schreiben von Webassembly -Microservices und Web -Apps zu beginnen.
WARNUNG: Dies ist experimenteller Code. Es wird von seinen Entwicklern nicht als Produktionsqualität angesehen, und es wird auch nicht "unterstützt" Software.
DEIRSIlBS experimentiert derzeit mit vielen WASM -Technologien. Dies ist eine Vielzahl von Projekten (einschließlich Krustlet), die die Grenzen der WebAssembly als Cloud-basierte Laufzeit testen sollen.
Mit Wagi können Sie WebAssembly -WASI -Binärdateien als HTTP -Handler ausführen. Schreiben Sie eine "Befehlszeile" -Anwendung, die ein paar Header druckt, und kompilieren Sie sie mit WASM32-WASI . Fügen Sie den modules.toml -Matching -URL zum WASM -Modul hinzu. Das war's.
Sie können jede Programmiersprache verwenden, die mit WASM32-WASI kompilieren kann.
Hier ist der schnellste Weg, um Wagi auszuprobieren. Weitere Informationen finden Sie in der Dokumentation.
tar -zxf wagi-VERSION-OS.tar.gz auswagi --help aus Wenn Sie einige einfache Konfigurationen ausprobieren möchten, empfehlen wir, dieses Repository zu klonen und dann das examples zu verwenden:
$ wagi -c examples/modules.toml
No log_dir specified, using temporary directory /var/folders/hk/l1mlxz1x01x9yl33ll9vh9980000gp/T/.tmpx55XkJ for logs Dies beginnt Wagi unter http://localhost:3000 . Verwenden Sie einen Browser oder ein Tool wie curl , um zu testen:
$ 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
Um Ihre eigenen Module hinzuzufügen, kompilieren Sie Ihren Code in das wasm32-wasi Format und fügen Sie sie der Datei modules.toml hinzu. Schauen Sie sich unser YO-WASM-Projekt an, um eine kurze Möglichkeit zu erhalten, WASM-Module in einer Vielzahl von Sprachen zu erstellen.
Wagi ist eine Implementierung von CGI für WebAssembly. Das bedeutet, dass das Schreiben eines WAGI -Moduls so einfach ist wie das Senden ordnungsgemäß formatierter Inhalte an die Standardausgabe. Wenn Sie die Details verstehen möchten, lesen Sie die Common Gateway Interface 1.1 -Spezifikation.
Schauen Sie sich das WAGI -Beispiele -Repository für Beispiele in verschiedenen Sprachen an.
Für eine "Produktionsnote" (was auch immer das für ein Pre-Veröffentlichungsprojekt bedeutet) modul, finden Sie den Wagi FileServer: Ein in Getreide geschriebenes Dateiserver, der mit WASM zusammengestellt und bereit für den Ausführen in Wagi.
Willst du chatten? Wir hängen im #Krustlet -Kanal des Kubernetes Slack ab.
Wagi ist experimentell und wir begrüßen Beiträge zur Verbesserung des Projekts. Wir freuen uns, dass Sie diesen Abschnitt der Dokumente sogar lesen!
Für Fehlerbehebungen:
Für Refaktoren und Tests:
Für Funktionen:
Da dies ein experimentelles Repository ist, können wir etwas langsam antworten.
Dieses Projekt hat den Microsoft Open Source -Verhaltenscode übernommen.
Weitere Informationen finden Sie im FAQ oder wenden Sie sich an [email protected] mit zusätzlichen Fragen oder Kommentaren.