https://github.com/wasmcloud/provider-sdk-go
SDK for writing wasmCloud providers in Go.
https://github.com/wasmcloud/provider-sdk-go
awesome golang wasmcloud
Last synced: 4 months ago
JSON representation
SDK for writing wasmCloud providers in Go.
- Host: GitHub
- URL: https://github.com/wasmcloud/provider-sdk-go
- Owner: wasmCloud
- License: apache-2.0
- Created: 2022-12-07T21:30:20.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-22T18:21:35.000Z (6 months ago)
- Last Synced: 2024-11-15T09:49:25.391Z (6 months ago)
- Topics: awesome, golang, wasmcloud
- Language: Go
- Homepage:
- Size: 270 KB
- Stars: 17
- Watchers: 1
- Forks: 11
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# wasmCloud Provider SDK
> [!IMPORTANT]
> We have consolidated all of the wasmCloud Go SDKs and tooling under [github.com/wasmCloud/go](https://github.com/wasmCloud/go) where the future work and improvements will be done.Providers are swappable [wasmCloud](https://wasmcloud.com) host plugins. They are executables (usually dedicated to longer-lived processes) that deliver common functionalities called capabilities. Providers are typically responsible for [capabilities](https://wasmcloud.com/docs/concepts/capabilities) that are not considered part of the core business logic of an application, such as...
- Sending notifications
- Fetching secret values
- Accessing databases
- Serving content over HTTPThis package is an SDK for creating capability providers in Golang. You can implement a capability that's already defined, or create a custom capability interface and use that in your wasmCloud application.
## Usage
An example can be found in [examples/keyvalue-inmemory](./examples/keyvalue-inmemory/) which implements the interface `wrpc:keyvalue/[email protected]`.
Refer to the [custom template](https://github.com/wasmCloud/wasmCloud/tree/main/examples/golang/providers/custom-template#custom-capability-provider) for a comprehensive example of a custom provider.