Skip to content

fourlexboehm/faasta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Faasta

Faasta is a Function-as-a-Service platform for Rust functions compiled as WASI HTTP components.

Key Features

  • Build Rust handlers as WASIp3-facing wasi:http/service components
  • Use one application dependency: faasta
  • Return JSON or HTML with faasta::http::{Json, Html}
  • Inject SQL, KV, and blob storage with Sql, Kv, and Blobs
  • Run components in-process with Wasmtime
  • Self-host with Postgres, Garage/S3, and Valkey for distributed storage

Example

use faasta::http::Html;

#[faasta::handler]
async fn handle() -> faasta::Result<Html<String>> {
    Ok(Html("<h1>Hello from Faasta</h1>".to_string()))
}

Workflow

cargo faasta new my-function
cd my-function
cargo faasta build
cargo faasta deploy

cargo faasta build wraps the WASIp3 component build so application projects do not need to know the Rust target or artifact layout.

For self-hosting and storage configuration, see server/README.md and server/infra/capabilities.md.

About

A faster FaaS platform

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors