10 releases

new 0.8.4 Feb 21, 2025
0.8.3 Feb 20, 2025
0.7.4 Feb 4, 2025
0.7.3 Jan 28, 2025

#458 in Web programming

Download history 94/week @ 2025-01-15 188/week @ 2025-01-22 175/week @ 2025-01-29 63/week @ 2025-02-05 319/week @ 2025-02-12

783 downloads per month
Used in edgee

Apache-2.0

29KB
132 lines

Edgee

Edgee

The full-stack edge platform for your edge-oriented applications.

Edgee Docker Edgee Docs Coverage Status

⚠️ Edgee Open Source Edition (v0.8.X) is in Development

Please consider this repository unstable as we continue to enhance and refine the platform. We're actively working towards a stable v1.0.0 release, which will be available in the coming weeks.

Feedback and contributions are welcome during this development phase: we appreciate your patience as we work hard to bring you robust tooling for a great development experience.

Useful resources

Getting started with the Edgee CLI

The Edgee CLI lets you create and build Wasm components locally with commands such as edgee components new and edgee components build. When your component is ready, the Edgee CLI lets you push it to the Edgee Component Registry as a public or private component under your organization’s account, with edgee components push. Under the hood, the CLI interacts with the Edgee API and its goal is to simplify the local development experience across all supported languages.

Install the Edgee CLI as follows: ​

$ curl https://install.edgee.cloud | sh

Or via homebrew:

$ brew tap edgee-cloud/edgee
$ brew install edgee

Edgee CLI commands

edgee login

This command lets you log in using your Edgee account's API token (you can create one here):

$ edgee login
Enter Edgee API token (press Ctrl+R to toggle input display): ****

edgee whoami

This command lets you verify that the API is working correctly:

$ edgee whoami
Logged in as:
  ID:    XYZ-XYZ-DYZ
  Name:  Your name
  Email: your@email.com

edgee help

This command lets you get help about existing commands, sub-commands, and their respective options:

$ edgee help
Usage: edgee <COMMAND>
Commands:
  login       Log in to the Edgee Console
  whoami      Print currently login informations
  components  Components management commands  [aliases: component]
  serve       Run the Edgee server [aliases: server]

edgee self-update

This command lets you update the CLI to latest, if a new version is available.

Note: this only works if you've installed the CLI via the installation script above.

edgee component[s]

This command includes a few sub-commands that let you create, build, test, and push components.

edgee components new

This command lets you create a component in a new directory (including sample code)

$ edgee components new
? Enter the name of the component: my-component
? Select the language of the component:
  C
  CSharp
  Go
  JavaScript
  Python
> Rust
  TypeScript
Downloading sample code for Rust...
Extracting code...
New project my-component setup, check README to install the correct dependencies.

You can also use command arguments to skip the prompts

$ edgee components new --name foo --language javascript
Downloading sample code for Javascript...
Extracting code...
New project foo setup, check README to install the correct dependencies.

edgee components build

This command lets you compile the component in the current folder into a WebAssembly binary file.

You can customize the behavior of the build command in the manifest file by changing the target file name and the default build script. If you've created a new component with edgee component new the default build script should be a great starting point. By default, the output of this command will be a new .wasm file in the current folder.

edgee components check

This command lets you validate the local .wasm file to make sure it's compliant with the WIT interface.

Note: this command runs automatically on push.

edgee components test

This command lets you run the local .wasm file with a sample event and provided settings. This helps ensure your component behaves as expected from the proxy's perspective, in addition to your unit tests.

$ edgee components test \
    --event-type page \
    --settings "setting1=value1,setting2=value2"

You can also run the actual HTTP request automatically:

$ edgee components test [options] --make-http-request

Or generate the corresponding cURL command:

$ edgee components test [options] --curl

edgee components push

This command lets you push the local .wasm file to the Edgee Component Registry.

$ edgee components push
? Component org/name does not exists, do you want to create it? Y/n
? Would you like to make this component public or private?
> private
  public
Component created successfully!
You can view and edit it at: https://edgee.cloud/~/registry/{organization}/{component}

edgee serve

Learn more about running the Edgee proxy locally.

Contributing

If you're interested in contributing to Edgee, read our contribution guidelines

Reporting Security Vulnerabilities

If you've found a vulnerability or potential vulnerability in our code, please let us know at edgee-security.

Versioning

Edgee releases and their associated binaries are available on the project's releases page.

The binaries are versioned following SemVer conventions.

Dependencies

~12–25MB
~378K SLoC