[FastEdge] Rewrite manage-apps article after full portal testing#2197
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
…ct-documentation into update/fastedge-manage-apps
Rewrite CDN Application paragraph step by step instead of one long sentence. Add bridge sentence before deployment workflow list. Remove forbidden Get started link-dump section. Remove banned To-deploy-see-X link sentence pattern. Embed create-fastedge-apps link inline in deployment step 1. style-guide: add Get started to forbidden sections table.
…mplates article Expand create-apps.mdx from a stub into a full landing page covering Rust and JavaScript SDKs for HTTP applications and Proxy-Wasm for CDN applications. Rewrite create-manage-templates.mdx based on full Playwright testing: verified that env var names are copied as parameter definitions without values when creating a template from an existing app. Update FASTEDGE-UPDATE-PLAN.md to mark these articles as done.
…ct-documentation into update/fastedge-manage-apps
…skill New setup article for Modern Rust SDK (wstd, wasm32-wasip2) covering toolchain setup, Cargo.toml configuration, and verified build. Tested locally with cargo build, wstd v0.6.6 resolves successfully. Also adds create-page skill with executable checklist for new article authoring, and updates docs.json to convert getting-started into a group.
…ct-documentation into update/fastedge-manage-apps
Covers fastedge crate (wasm32-wasip1): add target, configure Cargo.toml, verify toolchain with a minimal handler. Code tested and compiled locally.
Covers fastedge-sdk-js: install, ESM configuration, minimal handler, and fastedge-build. Tested with Node.js v24, build verified locally.
| **Modern HTTP applications** receive and respond to HTTP requests directly. They implement the [WASI P2](https://wasi.dev/releases/wasi-p2) `wasi:http/proxy` interface — the current recommended standard for WebAssembly HTTP applications. Supported in Rust (via the `wstd` crate) and JavaScript. Use this type for new edge services: APIs, redirects, authentication proxies, and similar workloads. | ||
|
|
||
| For both modes, the general flow is: | ||
| **Legacy HTTP applications** also handle HTTP requests directly, but use Gcore's own `fastedge` crate rather than the WASI standard. They target [WASI P1](https://wasi.dev/releases/wasi-p1), the original WebAssembly system interface. Most existing FastEdge HTTP applications written in Rust use this approach. Use it when maintaining existing applications built on the `fastedge` crate. |
There was a problem hiding this comment.
Legacy HTTP apps:
In our documentation Rust Examples we refer to them as Basic - but yes they are an older concept
Most existing FastEdge HTTP applications written in Rust use this approach:
This is "Getting Started" - what existing apps? Where would I find these?
| 2. Gcore deploys the code on edge servers worldwide, and all traffic is automatically routed and load-balanced across edge nodes. | ||
| 3. When a request arrives, the runtime executes the code and returns an HTTP response. | ||
| 4. FastEdge nodes act as origins to terminate HTTP requests, or as proxies to modify them along the way. | ||
| **CDN applications** run inside a CDN resource's request pipeline. They implement the [Proxy-Wasm](https://github.com/proxy-wasm/spec) specification — an open standard for WebAssembly-based proxy extensions — and can intercept traffic at four stages: on request headers, on request body, on response headers, and on response body. Supported in Rust only. Use this type when extending an existing CDN-served site with edge logic. |
There was a problem hiding this comment.
Supported in Rust only. This is not accurate, we also support AssemblyScript
| - **Run code close to users.** FastEdge executes on the edge node closest to each request, reducing round-trip latency without relocating the origin. | ||
| - **Deploy without managing servers.** Gcore handles deployment, scaling, and routing across the global network. The application binary is the only artifact to maintain. | ||
| - **Isolated execution per application.** Each application runs in a WebAssembly sandbox, isolated from other applications on the same node. | ||
| - **Write in Rust or JavaScript.** Both languages have first-class SDK support. Rust covers all three application types; JavaScript supports Modern HTTP applications. |
There was a problem hiding this comment.
Rust covers all three application types;
We only have 2 application types: wasi-http (HTTP) and proxy-wasm (CDN) - I feel like referring to Basic/Wasi HTTP apps as different application types is misleading. They are the same application type (HTTP) just handled slightly differently in the code. i.e. built against different rust targets and implementing a different call structure with the host. Both compile and upload as app-type: wasi-http
|
|
||
| The FastEdge JavaScript SDK (`@gcoredev/fastedge-sdk-js`) compiles JavaScript applications to WebAssembly so they can run on Gcore's edge network. It is the recommended way to build FastEdge applications in JavaScript. | ||
|
|
||
| [Node.js](https://nodejs.org) v20 or higher is required. |
There was a problem hiding this comment.
v22 is the new minimum. v20 will still run, but it reached EOL March 2026 - we should be encouraging keeping up to date.
|
|
||
| ## Install the SDK | ||
|
|
||
| The steps below set up a minimal project manually. To scaffold one from a template instead, run `npx fastedge-init` after installation — it walks through project type and structure interactively. |
There was a problem hiding this comment.
To scaffold one from a template instead, run npx fastedge-init after installation:
This is not accurate.. Building an application from a template requires: npm create fastedge-app this is the interactive templating engine.. it does the folder creation, installation and setup of a working folder structure. Provided by this repo
This also means it is not run post installation as it does it for you.
npx fastedge-init is a cli tool provided by FastEdge-sdk-js and helps with build config for repeatable builds. See docs
| | Tool | Purpose | | ||
| |------|---------| | ||
| | `fastedge-build` | Compiles JavaScript to a WebAssembly binary | | ||
| | `fastedge-init` | Scaffolds a new project from a template | |
There was a problem hiding this comment.
Creates build config for repeatable builds
There was a problem hiding this comment.
this is now broken? Just getting placeholder text
|
|
||
| | Resource | Link | | ||
| | -------- | ---- | | ||
| | FastEdge examples | [github.com/G-Core/FastEdge-examples](https://github.com/G-Core/FastEdge-examples) | |
There was a problem hiding this comment.
This has been deprecated - all examples live in the repo they belong to:
https://github.com/G-Core/FastEdge-sdk-rust/examples
https://github.com/G-Core/FastEdge-sdk-js/examples
https://github.com/G-Core/proxy-wasm-sdk-as/examples
You may want to search FastEdge Examples.. I can see a link to it too in https://gcore-update-fastedge-manage-apps.mintlify.app/fastedge/getting-started/integrate-cdn-with-fastedge#deploy-custom-binary "Custom Binary"
| | JavaScript reference | [g-core.github.io/FastEdge-sdk-js](https://g-core.github.io/FastEdge-sdk-js/) | | ||
| | AssemblyScript SDK (CDN apps) | [github.com/G-Core/proxy-wasm-sdk-as](https://github.com/G-Core/proxy-wasm-sdk-as) | | ||
| | MCP server | [github.com/G-Core/FastEdge-mcp-server](https://github.com/G-Core/FastEdge-mcp-server) | | ||
| | VSCode extension | [github.com/G-Core/FastEdge-vscode](https://github.com/G-Core/FastEdge-vscode) | |
There was a problem hiding this comment.
We should be adding our test runner to this list.
| FastEdge Test | https://github.com/G-Core/FastEdge-test |
21a83ca to
791fd6d
Compare
e7066fb to
21a83ca
Compare
# Conflicts: # fastedge/getting-started/create-fastedge-apps.mdx # fastedge/llms.txt # llms-full.txt
- getting-started.mdx: change three application types to two (HTTP and CDN); remove Most existing...written in Rust use this approach; add AssemblyScript support to CDN applications; update Rust SDK bullet to both HTTP and CDN application types - setup-javascript.mdx: update Node.js minimum from v20 to v22; correct scaffolding command from npx fastedge-init to npm create fastedge-app; fix fastedge-init table description - create-fastedge-apps.mdx: replace missing upload-binary-dialog.png with http-apps-upload-binary.png - troubleshooting.mdx: replace deprecated FastEdge-examples with SDK-specific example links; add FastEdge Test to related resources - integrate-cdn-with-fastedge.mdx (fastedge + cdn): replace deprecated FastEdge-examples link with SDK example repos
…ct-documentation into update/fastedge-manage-apps
Add all 16 screenshots for integrate-cdn-with-fastedge with clean resource names (my-first-app, my-website.example.com). Add new screenshots for create-fastedge-apps and refresh manage-apps images.
…t confirm dialog screenshot
No description provided.