ming535 / lagon

Deploy Serverless Functions at the Edge. Current status: Dev

Home Page:https://lagon.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lagon logo

Deploy Serverless Functions at the Edge



Open Source • TypeScript • Web APIs
Cron triggers • Instant deployments
Interactive Playground


Dashboard

About

Lagon is an open-source runtime and platform that allows developers to run TypeScript and JavaScript Functions at the Edge, using V8 Isolates. It's also self-hostable.

Warning: Lagon is still in heavy development. Do not use for production usages.

Current status:

  • Dev: In heavy development, features are being added and APIs have breaking changes
  • Alpha: Missing features and bugs to fix, not ready for production usage
  • Beta: Stable APIs, last bugs are being fixed and last features are being added
  • General Availability: Cloud and self-hosted versions available for production usage

Packages

  • cli CLI to manage Functions
  • dashboard Dashboard and API
  • docs Documentation website
  • js-runtime JavaScript code for the Runtime, containing the Web APIs
  • runtime Rust JavaScript Runtime, using V8 Isolates
  • serverless HTTP entrypoint for Functions, using the Runtime and exporting metrics
  • ui Design system
  • wpt-runner Run web-platform-tests on Lagon
  • www Public website

Features

  • JavaScript Runtime written in Rust using V8 Isolates
  • Native Web APIs like Request, Response...
  • 100% open-source
  • Deploy APIs, SSR(ed) websites, Webhooks endpoints, Cron jobs...
  • CLI to manage Functions and develop locally
  • Deploy at the Edge using the Cloud version, or self-host it

Roadmap

Lagon is a fairly recent project. It is still in heavy development, so expect breaking changes and buggy features.

See the roadmap on GitHub

Contributing

The roadmap is accessible to anyone on GitHub. Feel free to open an issue to discuss new features that you would like to see implemented.

See the roadmap on GitHub

How it works

Lagon uses V8 Isolates, which are sandboxed environments used to run plain JavaScript. That means each Function's memory is isolated from each others, and you can run a lot of them at the same time with very few resources. Node.js, Electron, Deno (and Deno Deploy), Cloudflare Workers are also using V8 Isolates to execute JavaScript.

Starting an Isolate is a lot faster than starting a whole Node.js process, which allows for almost free cold starts.

License

GNU AGPLv3

About

Deploy Serverless Functions at the Edge. Current status: Dev

https://lagon.app

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 54.8%Language:Rust 42.9%Language:JavaScript 1.3%Language:HTML 0.4%Language:CSS 0.2%Language:Shell 0.2%Language:Dockerfile 0.2%