Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/supabase/edge-runtime
A server based on Deno runtime, capable of running JavaScript, TypeScript, and WASM services.
https://github.com/supabase/edge-runtime
deno edge-computing edge-functions rust web-server
Last synced: 4 days ago
JSON representation
A server based on Deno runtime, capable of running JavaScript, TypeScript, and WASM services.
- Host: GitHub
- URL: https://github.com/supabase/edge-runtime
- Owner: supabase
- License: mit
- Created: 2023-01-09T04:06:57.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-17T02:11:54.000Z (3 months ago)
- Last Synced: 2024-10-29T14:39:12.727Z (3 months ago)
- Topics: deno, edge-computing, edge-functions, rust, web-server
- Language: Rust
- Homepage:
- Size: 58.9 MB
- Stars: 673
- Watchers: 24
- Forks: 62
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Supabase Edge Runtime
A web server based on [Deno](https://deno.land) runtime, capable of running JavaScript, TypeScript, and WASM services.
Edge Runtime is built and maintained by the [Supabase team](https://supabase.io). For more details, read the [intro blog post](https://supabase.com/blog/edge-runtime-self-hosted-deno-functions).You can use it to:
* Locally test and self-host Supabase's Edge Functions (or any Deno Function)
* As a programmable HTTP Proxy: You can intercept / route HTTP requests**WARNING: Beta Software. There will be breaking changes to APIs / Configuration Options**
## Architecture
![Sequence diagram of Edge Runtime request flow](assets/edge-runtime-diagram.svg?raw=true)
The edge runtime can be divided into two runtimes with different purposes.
- Main runtime:
- An instance for the _main runtime_ is responsible for proxying the transactions to the _user runtime_.
- The main runtime is meant to be an entry point before running user functions, where you can authentication, etc. before calling the user function.
- Has no user-facing limits
- Has access to all environment variables.
- User runtime:
- An instance for the _user runtime_ is responsible for executing users' code.
- Limits are required to be set such as: Memory and Timeouts.
- Has access to environment variables explictly allowed by the main runtime.## Developers
To learn how to build / test Edge Runtime, visit [DEVELOPERS.md](DEVELOPERS.md)## Contributions
We welcome contributions to Supabase Edge Runtime!
To get started either open an issue on [GitHub](https://github.com/supabase/edge-runtime/issues) or drop us a message on [Discord](https://discord.com/invite/R7bSpeBSJE)
Edge Runtime follows Supabase's [Code of Conduct](https://github.com/supabase/.github/blob/main/CODE_OF_CONDUCT.md).