A WASM component services lifecycle.
The components are built with the componentized build, synced into build/, which installs the tools it needs.
A dev container is available that contains the necessary tools and configuration out of the box.
Prereqs:
- a rust toolchain, with the targets in
rust-toolchain.toml makeandjqcargo binstall, optional, to install prebuilt tools
makebuilds the interface and each component into target/components, and runs the tests. Most components are built for wasm32-unknown-unknown, the filesystem components, the valkey lifecycle and the test cli for wasm32-wasip2, named in their Cargo.toml. Components prefixed with test- are for the tests, dep- are pulled from other repositories, and internal- are composed into other components, none of them are published.
Prereqs:
make test-integrationruns the services cli, test-cli, through the lifecycle of a filesystem service with make test-filesystem, and of a valkey service with make test-valkey, against a Valkey server in a container.
The Componentized project follow the Contributor Covenant Code of Conduct. In short, be kind and treat others with respect.
General discussion and questions about the project can occur in the project's GitHub discussions.
The Componentized project team welcomes contributions from the community. A contributor license agreement (CLA) is not required. You own full rights to your contribution and agree to license the work to the community under the Apache License v2.0, via a Developer Certificate of Origin (DCO). For more detailed information, refer to CONTRIBUTING.md.
This project was conceived in discussion between Mark Fisher and Scott Andrews.
Apache License v2.0: see LICENSE for details.
