Wagi adalah cara termudah untuk memulai menulis layanan mikro dan aplikasi web WebAssembly.
Peringatan: Ini adalah kode eksperimental. Ini tidak dianggap tingkat produksi oleh pengembangnya, juga tidak ada perangkat lunak "didukung".
Deislab sedang bereksperimen dengan banyak teknologi WASM saat ini. Ini adalah salah satu dari banyak proyek (termasuk Krustlet) yang dirancang untuk menguji batas WebAssembly sebagai runtime berbasis cloud.
Wagi memungkinkan Anda untuk menjalankan binari WEBAssembly Wasi sebagai penangan HTTP. Tulis aplikasi "baris perintah" yang mencetak beberapa header, dan kompilinya ke WASM32-WASI . Tambahkan entri ke modules.toml URL pencocokan ke modul WASM. Itu saja.
Anda dapat menggunakan bahasa pemrograman apa pun yang dapat dikompilasi ke WASM32-WASI .
Inilah cara tercepat untuk mencoba Wagi. Untuk detailnya, periksa dokumentasi.
tar -zxf wagi-VERSION-OS.tar.gzwagi --help Jika Anda ingin mencoba beberapa konfigurasi sederhana, kami sarankan mengkloning repositori ini dan kemudian menggunakan direktori examples :
$ wagi -c examples/modules.toml
No log_dir specified, using temporary directory /var/folders/hk/l1mlxz1x01x9yl33ll9vh9980000gp/T/.tmpx55XkJ for logs Ini akan mulai mengibaskan di http://localhost:3000 . Gunakan browser atau alat seperti curl untuk menguji:
$ 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
Untuk menambahkan modul Anda sendiri, kompilasi kode Anda ke format wasm32-wasi dan tambahkannya ke file modules.toml . Lihatlah Proyek Yo-Wasm kami untuk cara cepat membangun modul WASM dalam berbagai bahasa.
Wagi adalah implementasi CGI untuk WebAssembly. Itu berarti bahwa menulis modul WAGI semudah mengirim konten yang diformat dengan benar ke output standar. Jika Anda ingin memahami detailnya, baca spesifikasi Common Gateway Interface 1.1.
Lihatlah Repositori Contoh Wagi untuk contoh dalam berbagai bahasa.
Untuk "nilai produksi" (apa pun artinya modul untuk proyek pra-rilis), checkout dari file file WAGI: file server yang ditulis dalam gandum, dikompilasi untuk Wasm, dan siap dijalankan di Wagi.
Ingin mengobrol? Kami nongkrong di saluran #Krustlet dari Kubernetes Slack.
Wagi bersifat eksperimental, dan kami menyambut kontribusi untuk meningkatkan proyek. Bahkan, kami senang Anda bahkan membaca bagian dokumen ini!
Untuk perbaikan bug:
Untuk refactor dan tes:
Untuk fitur:
Karena ini adalah repositori eksperimental, kita mungkin agak lambat untuk dijawab.
Proyek ini telah mengadopsi kode perilaku open source Microsoft.
Untuk informasi lebih lanjut, lihat FAQ Kode Perilaku atau hubungi [email protected] dengan pertanyaan atau komentar tambahan.