/capability-providers

wasmCloud official capability providers

Primary LanguageRust

Important

The providers in this repository are based off interfaces defined in Smithy and are used for RPC between actors over the stable ABI. For new providers and component actors, interfaces are defined using WIT, and codegen is accomplished via the wasmcloud-provider-wit-bindgen macro. Note that support for WIT is considered experimental at this time.

Capability Providers

This repository contains capability providers for wasmCloud. The providers in the root level of this repository are only compatible with version 0.50 and newer of wasmCloud. All of the pre-existing capability providers compatible with 0.18 (aka "pre-OTP") or earlier can be found in the pre-otp folder.

Finding the Latest Provider

You can query this list via script to ensure that you are pulling the most up-to-date wasmCloud provider:

curl https://wasmcloud-ocireferences.cosmonic.app/httpserver
{"schemaVersion":1,"label":"","message":"wasmcloud.azurecr.io/httpserver:0.19.1","color":"253746","namedLogo":"wasmcloud"}

If you want to return only the latest reference:

curl -s https://wasmcloud-ocireferences.cosmonic.app/httpserver | jq -r '.message'

First-Party Capability Providers

The following is a list of first-party supported capability providers developed by the wasmCloud team.

Provider Contract OCI Reference & Description
blobstore-fs wasmcloud:blobstore blobstore fs oci reference
Blobstore implementation where blobs are local files and containers are folders
blobstore-s3 wasmcloud:blobstore blobstore s3 oci reference
Blobstore implementation with AWS S3
httpserver wasmcloud:httpserver httpserver oci reference
HTTP web server built with Rust and warp/hyper
httpclient wasmcloud:httpclient httpclient oci reference
HTTP client built in Rust
redis wasmcloud:keyvalue kvredis oci reference
Redis-backed key-value implementation
vault wasmcloud:keyvalue kv-vault oci reference
Vault-backed key-value implementation for secrets
nats wasmcloud:messaging nats oci reference
NATS-based message broker
lattice-controller wasmcloud:latticecontroller lattice-controller oci reference
Lattice Controller interface
postgres wasmcloud:sqldb sqldb-postgres oci reference
Postgres-based SQL database capability provider

Built-in Capability Providers

The following capability providers are included automatically in every host runtime:

Provider Contract Description
N/A wasmcloud:builtin:numbergen Number generator, including random numbers and GUID strings
N/A wasmcloud:builtin:logging Basic level-categorized text logging capability

While neither of these providers requires a link definition, to use either of them your actors must be signed with their contract IDs.

Community Capability Providers

The following is a list of community supported capability providers developed by members of the wasmCloud community. Please see the CONTRIBUTING guide for information on how to submit your capability provider.

Provider Contract Description
mlinference wasmcloud:mlinference This repository provides a wasmCloud capability provider and actors to perform inference using machine learning models for ONNX and Tensorflow. Additional Documentation

Additional Examples

Additional capability provider examples and sample code can be found in the wasmCloud examples repository.