Giter Club home page Giter Club logo
wasmcloud photo

wasmcloud Goto Github PK

repos: 54.0 gists: 0.0

Name: wasmcloud

Type: Organization

Bio: Bringing joy to the act of building distributed applications with low boilerplate, secure by default WebAssembly components. CNCF sandbox application runtime.

Twitter: wasmcloud

Blog: https://wasmcloud.com

Documentation CNCF sandbox project Stars Powered by WebAssembly
OpenSSF Best Practices OpenSSF Scorecard Artifact Hub CLOMonitor FOSSA Status twitter youtube subscribers youtube views

wasmCloud logo

wasmCloud is a universal application platform that helps you build and run globally distributed WebAssembly applications on any cloud or edge. Our goal is to make development more joyful and efficient by giving developers the tools to write only the code that mattersโ€”and making it easy to run that code anywhere.

wasmCloud leverages WebAssembly's security, portability, and performance to compose applications from tiny, independent building blocks.These building blocks are managed declaratively and reconfigurable at runtime. You shouldn't need to recompile your whole app to upgrade a database client or patch a vulnerability and you shouldn't need to recompile anything to move your app from development to production.

wasmCloud is designed around the following core tenets:

  • Distributed from day one
  • Run anywhere and everywhere
  • Secure by default
  • Faster iteration and lower maintenance

Move from concept to production without changing your design, architecture, or your programming environment.

Getting Started

Installation

Install the wasmCloud Shell (wash) using the installation guide.

Walkthrough

If you're new to the wasmCloud ecosystem, a great place to start is the getting started walkthrough.

Quickstart

The following commands launch wasmCloud in a local development environment and deploy a simple "hello world" WebAssembly component, written in Rust, Go, TypeScript, or Python.

wash up -d
wash new component helloworld
wash build -p ./helloworld
wash app deploy ./helloworld/wadm.yaml
curl localhost:8080

Features

  1. Declarative WebAssembly Orchestration
  2. Seamless Distributed Networking
  3. Vendorless Application Components
  4. Completely OTEL Observable
  5. Defense-In-Depth Security By Default

Examples

๐Ÿ‘Ÿ Runnable examples

wasmCloud is based on and implements WASI 0.2 (aka the Component Model). WebAssembly Components that run on wasmCloud consume interfaces defined in WIT.

Want to get something running quickly? Check out the examples directory of this repository. Examples are organized by programming language so you can easily find samples in your language of choice.

๐Ÿ’ฅ Awesome wasmCloud

For even more examples, check out awesome projects using wasmCloud from our community members!

๐Ÿ—บ๏ธ Roadmap and Vision

We have plenty of ideas and things going on in the wasmCloud project. Please check out the Roadmap doc for more information, and the wasmCloud Roadmap project to see the status of new features.

Releases

The latest release and changelog can be found on the releases page.

๐Ÿง‘โ€๐Ÿ’ป Contributing

Want to get involved? For more information on how to contribute and our contributor guidelines, check out the contributing readme.


๐ŸŒ‡ Community Resources

Community Meetings

We host weekly community meetings at 1pm EST on Wednesdays. These community meetings are livestreamed to our Twitter account and to YouTube. You can find the agenda and notes for each meeting in the community secton of our webste. If you're interested in joining in on the call to demo or take part in the discussion, we have a Zoom link on our community calendar.

Slack

We host our own community slack for all community members to join and talk about WebAssembly, wasmCloud, or just general cloud native technology. For those of you who are already on the CNCF Slack, we also have our own channel at #wasmcloud.


๐Ÿ“š Reference Documentation

wasmCloud uses some terminology you might not be familiar with. Check out the concepts section of our docs for a deeper dive.


RPC Framework

wasmCloud uses an RPC API to enable seamless communication among the host runtime, components, and providers.


Declarative Deployments

The wasmCloud Application Deployment Manager wadm uses the Open Application Model to define and deploy application specifications.


Host Runtimes

๐Ÿฆ€ Rust Runtime

wasmCloud's standard runtime is built in Rust for its zero-cost abstractions, safety, security, and WebAssembly support.

๐Ÿ•ธ JavaScript Runtime (Experimental)

For running a wasmCloud host in a browser or embedding in a JavaScript V8 host, use the JavaScript Runtime


SDKs and libraries

Rust Provider SDK

wasmCloud provides an SDK for building capability providers in Rust.

Provider Archive

provider-archive is a crate used to create Provider Archive (PAR) files. PARs are used to store, retrieve, and sign capability providers. Today, capability providers are distributed as binary files and run as system processes. In the future, wasmCloud aims to build capability providers as WebAssembly Components, which will remove the need for Provider Archives.

wasmcloud_actor (Experimental)

wasmcloud_actor is a wasmCloud actor library written in Rust which facilitates building of wasmCloud components.

The API of the crate matches closely what wit-bindgen would generate, meaning that one can switch from using plain wit-bindgen-generated bindings to wasmcloud_actor (and back) with minimal or no code changes.

wascap

wascap is a low-level library used to insert and retrieve claims on components and providers. Claims are part of wasmCloud's zero-trust security model.


We are a Cloud Native Computing Foundation sandbox project.

wasmcloud's Projects

adr icon adr

Journal of Architectural Decision Records made for the project

community-meetings icon community-meetings

Notes for community calls are now handled in https://github.com/wasmcloud/wasmcloud.com-dev

cross icon cross

โ€œZero setupโ€ cross compilation and โ€œcross testingโ€ of Rust crates

examples icon examples

Example actors, capability providers, and other demonstrations

interfaces icon interfaces

wasmCloud API interfaces: smithy IDLs and shared libraries

kasmcloud icon kasmcloud

Running and managing Wasm(actors) and capability providers in Kubernetes

lattice-observer icon lattice-observer

A reusable Elixir library for monitoring a lattice and deriving observed state

messaging icon messaging

Home for the messaging wit definition for wasmCloud

nkeys icon nkeys

Rust implementation of the NATS nkeys library

provider-archive icon provider-archive

Library for PAR files - compressable TARs for managing OS/CPU-native capability provider plugins and signed claims

stack-trader icon stack-trader

[DEPRECATED] - Very outdated technology demo in the form of a game illustrating the use of waSCC and a cloud-based ECS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.