All Projects → embly → Embly

embly / Embly

A serverless web application framework for collaboration and scale.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Embly

Faasm
High-performance stateful serverless runtime based on WebAssembly
Stars: ✭ 403 (+347.78%)
Mutual labels:  serverless, webassembly
Wasm3
🚀 The fastest WebAssembly interpreter, and the most universal runtime
Stars: ✭ 4,375 (+4761.11%)
Mutual labels:  serverless, webassembly
Beyond.ts
Stars: ✭ 84 (-6.67%)
Mutual labels:  serverless
Lambcycle
🐑🛵 A declarative lambda middleware with life cycle hooks 🐑🛵
Stars: ✭ 88 (-2.22%)
Mutual labels:  serverless
Web Dsp
A client-side signal processing library utilizing the power of WebAssembly (.wasm)
Stars: ✭ 1,278 (+1320%)
Mutual labels:  webassembly
Historical
A serverless, event-driven AWS configuration collection service with configuration versioning.
Stars: ✭ 85 (-5.56%)
Mutual labels:  serverless
Serverless Stack
💥 Serverless Stack (SST) is a framework that makes it easy to build serverless apps.
Stars: ✭ 1,252 (+1291.11%)
Mutual labels:  serverless
Testsuite
Mirror of the spec testsuite
Stars: ✭ 83 (-7.78%)
Mutual labels:  webassembly
Plotters
A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely 🦀 📈🚀
Stars: ✭ 1,287 (+1330%)
Mutual labels:  webassembly
Draw App
In browser drawing app built in rust / wasm
Stars: ✭ 87 (-3.33%)
Mutual labels:  webassembly
Sheets Url Shortener
A simple short URL redirect service built on top of Google Sheets, and runs for cheap on Google Cloud Run serverless.
Stars: ✭ 89 (-1.11%)
Mutual labels:  serverless
Aws Multi Account Viewer
Serverless app designed for any customer with two or more accounts to view resources across accounts/regions in simple single pane of glass website
Stars: ✭ 87 (-3.33%)
Mutual labels:  serverless
Mu
Framework to Run General-Purpose Parallel Computations on AWS Lambda
Stars: ✭ 85 (-5.56%)
Mutual labels:  serverless
Azurefunctionsintroduction
Sample Code for Azure Functions
Stars: ✭ 88 (-2.22%)
Mutual labels:  serverless
Serverless Scriptable Plugin
Adding script support to Serverless 1.x which enables you to customize Serverless behavior without writing a plugin.
Stars: ✭ 84 (-6.67%)
Mutual labels:  serverless
Sax Wasm
The first streamable, fixed memory XML, HTML, and JSX parser for WebAssembly.
Stars: ✭ 89 (-1.11%)
Mutual labels:  webassembly
Wasm To Oci
Use OCI registries to distribute WASM modules
Stars: ✭ 83 (-7.78%)
Mutual labels:  webassembly
This Or That
This or that - Real-time atomic voting app built with AWS Amplify
Stars: ✭ 87 (-3.33%)
Mutual labels:  serverless
Serverless Openfaas
An OpenFaaS plugin for the Serverless Inc framework (work in progress)
Stars: ✭ 87 (-3.33%)
Mutual labels:  serverless
Next Starter
Next.js Starter using GraphQL, MobX (Next.js, TypeScript, Babel, Express.js, Apollo Client, React Apollo, React Apollo Hooks, GraphQL Codegen, MobX, mobx-state-tree, styled-components, next-optimized-images, Serverless Framework, AWS Lambda, Dotenv)
Stars: ✭ 90 (+0%)
Mutual labels:  serverless

embly

A serverless web application framework for collaboration and scale.

For more background and details about what embly is read here or here

Hello World

Create a new folder and add the following files and directory structure:

├── embly.hcl
└── hello
    ├── Cargo.toml
    └── src
        └── main.rs

Now add the following file contents:

embly.hcl:

function "hello" {
  runtime = "rust"
  path    = "./hello"
}

gateway {
  type = "http"
  port = 8765
  route "/" {
    function = "${function.hello}"
  }
}

hello/Cargo.toml:

[package]
name = "hello"
version = "0.0.1"
edition = "2018"

[dependencies]
embly = "0.0.5"

hello/src/main.rs:

extern crate embly;
use embly::{
  http::{run_catch_error, Body, Request, ResponseWriter},
  prelude::*,
  Error,
};

async fn execute(_req: Request<Body>, mut w: ResponseWriter) -> Result<(), Error> {
  w.write_all(b"Hello World")?; // writing our hello response bytes
  Ok(()) // if an error is returned the server will respond with an HTTP error
}

// this function is run first
fn main() {
  run_catch_error(execute); // this is the embly::http::run function that is specific to http responses
}

You can now run your project for local development with embly dev, although the fastest way to get started is with docker:

docker run -v /var/run/docker.sock:/var/run/docker.sock  -v $(pwd):/app -p 8765:8765 -it embly/embly embly dev

More on how to run embly in the installation section.

The embly Command

$ embly
Usage: embly [--version] [--help] <command> [<args>]

Available commands are:
    build     Build an embly project
    bundle    Create a bundled project file
    db        Run various database maintenace tasks. 
    dev       Develop a local embly project
    run       Run a local embly project

Installation

embly uses docker to download and run build images. It's recommended that you run embly from within a docker container and give it access to the docker socket. If you are in the root of an embly project you can start the dev server like so:

docker run -v /var/run/docker.sock:/var/run/docker.sock  -v $(pwd):/app -p 8765:8765 -it embly/embly embly dev

If you would like to run embly locally you'll need to have cargo and go installed. The following sequence of commands should work:

go get github.com/embly/embly/cmd/embly
cargo install embly-wrapper
cargo install lucetc

Links


embly used to be wasabi, which was more focused on providing full operating system functionality within a webassembly runtime. That code is available here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].