lagonapp / lagon

Deploy Serverless Functions at the Edge. Current status: Alpha
https://lagon.app
GNU Affero General Public License v3.0
1.33k stars 62 forks source link
edge functions serverless typescript

Lagon logo

Deploy Serverless Functions at the Edge


![Dashboard](./assets/dashboard.png) ## About Lagon is an open-source runtime and platform that allows developers to run TypeScript and JavaScript Serverless Functions close to users. > **Note**: Lagon is in Alpha. Get access to Lagon Cloud via the [waitlist](https://tally.so/r/n9q1Rp) Current status: - Dev: In heavy development, features are being added and APIs have breaking changes - **Alpha**: Missing features and bugs to fix, progressive access to Lagon Cloud ([waitlist](https://tally.so/r/n9q1Rp)) - ~Beta~: Stable APIs, last features are being added, Lagon Cloud available without a waitlist - ~General Availability~: Cloud and self-hosted versions available for production usage ## Packages - **[cli](./crates/cli)** CLI to manage Functions - **[dashboard](./packages/dashboard)** Dashboard and API - **[docs](./packages/docs)** Documentation website - **[js-runtime](./packages/js-runtime)** JavaScript code for the Runtime, containing the Web APIs - **[runtime](./crates/runtime)** Rust JavaScript Runtime, using V8 Isolates - **[serverless](./crates/serverless)** HTTP entrypoint for Functions, using the Runtime and exporting metrics - **[ui](./packages/ui)** Design system - **[wpt-runner](./crates/wpt-runner)** Run web-platform-tests on Lagon - **[www](./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 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](https://github.com/orgs/lagonapp/projects/1) ## Contributing [See the contributing guide](https://docs.lagon.app/contributing) ## 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](https://nodejs.org/), [Electron](https://www.electronjs.org/), [Deno](https://deno.land/) (and [Deno Deploy](https://deno.com/deploy)), [Cloudflare Workers](https://workers.cloudflare.com/) 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. ## Sponsors ❤️ Thanks a lot to every current and past sponsor! ![Sponsors list](./assets/sponsors.png) ## License [GNU AGPLv3](./LICENSE)