{"id":24178193,"url":"https://github.com/duffney/wasi-sample","last_synced_at":"2025-10-12T08:39:06.460Z","repository":{"id":270756064,"uuid":"911340605","full_name":"duffney/wasi-sample","owner":"duffney","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-17T09:59:46.000Z","size":68,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T09:46:32.415Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/duffney.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-02T19:36:38.000Z","updated_at":"2025-01-09T15:33:28.000Z","dependencies_parsed_at":"2025-01-02T22:19:39.029Z","dependency_job_id":"858335f1-554d-4a73-a744-6a0d03c464b7","html_url":"https://github.com/duffney/wasi-sample","commit_stats":null,"previous_names":["duffney/wasi-sample"],"tags_count":4,"template":false,"template_full_name":"bytecodealliance/sample-wasi-http-rust","purl":"pkg:github/duffney/wasi-sample","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duffney%2Fwasi-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duffney%2Fwasi-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duffney%2Fwasi-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duffney%2Fwasi-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/duffney","download_url":"https://codeload.github.com/duffney/wasi-sample/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duffney%2Fwasi-sample/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010790,"owners_count":26084807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-13T04:58:14.988Z","updated_at":"2025-10-12T08:39:06.432Z","avatar_url":"https://github.com/duffney.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WASI Rust Sample\n\n[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/yoshuawuyts/rust-wasi-hello)\n\nAn example project showing how to build an HTTP server for WASI 0.2 built in\nRust.\n\n## Installation\n\nThe easiest way to try this project is by opening it in a GitHub Codespace. This\nwill create a VS Code instance with all dependencies installed. If instead you\nwould prefer to run this locally, you can run the following commands:\n\n```bash\n$ curl https://wasmtime.dev/install.sh -sSf | bash # install wasm runtime\n$ cargo install cargo-component                    # install build tooling\n$ cargo install wkg                                # install wasm OCI tooling\n```\n\n## Local Development\n\nThe HTTP server uses the `wasi:http/proxy` world. You can run it locally in a\n`wasmtime` instance by using the following [cargo-component] command:\n\n```rust\n$ cargo component serve\n```\n\n## Working with deployment artifacts\n\nThis project automatically published compiled Wasm Components as OCI to GitHub\nArtifacts. You can pull the artifact with any OCI-compliant tooling and run it\nin any Wasm runtime that supports the `wasi:http/proxy` world. To fetch the\nlatest published version from GitHub releases and run it in a local `wasmtime`\ninstance you can run the following command:\n\n```bash\n$ wkg pull ghcr.io/yoshuawuyts/rust-wasi-hello:latest\n$ wasmtime serve rust-wasi-hello.wasm\n```\n\nFor production workloads however, you may want to use other runtimes or\nintegrations which provide their own OCI integrations. Deployment will vary\ndepending on you providers, though at their core they will tend to be variations\non the pull + serve pattern we've shown here.\n\n## Roadmap\n\n- [x] Get a base version compiling\n- [x] Create a GitHub Actions Workflow\n- [x] Add routes to the HTTP handler\n- [ ] Create a wasm OCI publish action\n- [ ] Setup a GitHub Codespace with all tools pre-installed\n- [ ] Demo unit tests in CI\n- [ ] Automatically publish a package on GitHub Release\n- [ ] Add a load-testing example\n- [ ] Upstream and integrate `scripts/` into their respective packages\n- [ ] Add deploy remote artifact\n- [ ] Show wkg pull and run locally\n\n## See Also\n\n**Hosts**\n- [sample-wasi-http-aks-wasmcloud](https://github.com/yoshuawuyts/sample-wasi-http-aks-wasmcloud) - A `wasi:http` example host environment running on AKS using the WasmCloud runtime\n\n## License\n\nApache-2.0 with LLVM Exception\n\n[cargo-component]: https://github.com/bytecodealliance/cargo-component\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduffney%2Fwasi-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fduffney%2Fwasi-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduffney%2Fwasi-sample/lists"}