Skip to content

[FWF Docs]: Fix typos, grammar, and snippets & fix broken links in all developer.fermyon.com #1529

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/cloud/data-postgres.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ url = "https://github.com/fermyon/developer/blob/main/content/cloud/data-postgre

## PostgreSQL

[PostgreSQL](https://www.postgresql.org/), is a powerful, open-source object-relational database system that has earned a strong reputation for reliability, robustness and performance. This tutorial will implement a persistent storage solution for Fermyon Cloud, using PostgreSQL. In this tutorial, we will be using [ElephantSQL](https://www.elephantsql.com/plans.html)'s free PostgreSQL service.
[PostgreSQL](https://www.postgresql.org/), is a powerful, open-source object-relational database system that has earned a strong reputation for reliability, robustness and performance. This tutorial will implement a persistent storage solution for Fermyon Cloud, using PostgreSQL. In this tutorial, we will be using ElephantSQL's free PostgreSQL service.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ElephantSQL is discontinued, and we shouldn't refer to it. (I thought I had addressed this somewhere but I can't find a PR so... I guess I didn't.) I realise this turns the edit into a rather bigger research and conversion exercise, though, so feel free to raise a separate issue and punt on it.


## Spin and Fermyon Cloud

Expand Down
2 changes: 1 addition & 1 deletion content/cloud/data-redis.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ To create your free database go to [app.redislabs.com](https://app.redislabs.com

> Note: Programmatic access to the Redis cloud console (Redis Rest API) requires a Redislabs paid plan, so we will just be using the free tier for this tutorial.

Once you have logged in to Redislabs click on the `Data Access Control` and `Databases` menus (in the left sidebar) to create roles/users and a new Redis database. Be sure to acknowledge the usernames, passwords and database URLs (provided during setup) as we will be using these to configure our Spin application. Please see the [Redis docs](https://developer.redis.com/howtos/quick-start/?s=redis%20cloud) for additional information.
Once you have logged in to Redislabs click on the `Data Access Control` and `Databases` menus (in the left sidebar) to create roles/users and a new Redis database. Be sure to acknowledge the usernames, passwords and database URLs (provided during setup) as we will be using these to configure our Spin application. Please see the [Redis docs](https://redis.io/learn/howtos/quick-start) for additional information.

## Configuration

Expand Down
3 changes: 2 additions & 1 deletion content/cloud/fermyon-cloud.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ url = "https://github.com/fermyon/developer/blob/main/content/cloud/fermyon-clou
- [Service Resolution](#service-resolution)
- [Traffic Routing](#traffic-routing)
- [Application Packaging and Distribution](#application-packaging-and-distribution)
- [Database Storage](#database-storage)
- [Web UI, API and CLI](#web-ui-api-and-cli)

## The Fermyon Cloud Explained
Expand Down Expand Up @@ -52,7 +53,7 @@ To package and distribute applications to and within the cloud, we rely on an OC

### Database Storage

Fermyon Cloud uses [Turso Database](https://docs.turso.tech/) to power its [SQLite Database using SQLite](/cloud/noops-sql-db.md). Turso's low-latency performance characteristics and use of [libSQL](https://libsql.org/), an open-source fork of [SQLite](https://sqlite.org/), made it a natural fit for Fermyon Cloud's managed base offering.
Fermyon Cloud uses [Turso Database](https://docs.turso.tech/introduction) to power its [SQLite Database using SQLite](/cloud/noops-sql-db.md). Turso's low-latency performance characteristics and use of [libSQL](https://libsql.org/), an open-source fork of [SQLite](https://sqlite.org/), made it a natural fit for Fermyon Cloud's managed base offering.

### Web UI, API and CLI

Expand Down
3 changes: 1 addition & 2 deletions content/wasm-functions/delete.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ date = "2025-01-16T00:22:56Z"
enable_shortcodes = true

---
- [Sign in to Fermyon Wasm Functions](#sign-in-to-fermyon-wasm-functions)
- [Find the Application You Want to Delete](#find-the-application-you-want-to-delete)
- [Delete Your Application](#delete-your-application)
- [Next Steps](#next-steps)
Expand Down Expand Up @@ -36,7 +35,7 @@ Use the `spin aka apps delete` command to delete a particular Spin application f
<!-- @selectiveCpy -->

```console
$ spin aka apps delete --app validate-jwt-tokens
$ spin aka apps delete --name validate-jwt-tokens
```

The `spin aka apps` command, will ask you to confirm deleting the application of choice. Once confirmed, the application will be removed from your _Fermyon Wasm Functions_ account.
Expand Down
4 changes: 2 additions & 2 deletions content/wasm-functions/deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ enable_shortcodes = true
- [Prerequisites](#prerequisites)
- [Install the Spin CLI](#install-the-spin-cli)
- [Install the `aka` Plugin](#install-the-aka-plugin)
- [Log in to the Fermyon Wasm Functions](#log-in-to-the-fermyon-wasm-functions)
- [Log in to Fermyon Wasm Functions](#log-in-to-fermyon-wasm-functions)
- [Deploy Your Application](#deploy-your-application)
- [Specifying Variables](#specifying-variables)
- [Next Steps](#next-steps)
Expand Down Expand Up @@ -123,7 +123,7 @@ View application: https://c8769081-7ae5-4041-a10f-61d344a67da2.aka.fermyon.tec

---

Take a look at the [Quickstart](quickstart), it guides you through the process of creating a new Spin application (either using JavaScript, TypeScript, or Rust) and deploying it to _Fermyon Wasm Functions_.
Take a look at the [Quickstart](quickstart), it guides you through the process of creating a new Spin application (either using JavaScript, TypeScript, Rust, or TinyGo) and deploying it to _Fermyon Wasm Functions_.

{{ details "Additional info" "`spin aka deploy` can point to a `spin.toml` file by using the `--file` option." }}

Expand Down
10 changes: 5 additions & 5 deletions content/wasm-functions/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,17 @@ url = "https://github.com/fermyon/a3000-docs/blob/main/content/wasm-functions/in

---

Fermyon Wasm Functions is a globally distributed PaaS (Platform-as-a-Service) running edge native applications with [Spin](https://spinframework.dev) on top of Akamai's Connected Cloud. It offers fast and resilient hosting for Spin applications. This means that Fermyon Wasm Functions is tailored towards hosting applications, which need fast execution, and availability in multiple regions across the World.
Fermyon Wasm Functions is a globally distributed PaaS (Platform-as-a-Service) running edge native applications with [Spin](https://spinframework.dev) on top of Akamai's Connected Cloud. It offers fast and resilient hosting for Spin applications. This means that Fermyon Wasm Functions is tailored towards hosting applications, which need fast execution, and availability in multiple regions across the world.

Fermyon Wasm Functions does not require any operational effort on infrastructure from you as a user of the platform. Upon deploying a Spin application to the platform, the application is automatically distributed and made available in multiple regions within the service. A URL is provided for the application, which will persist across deployments.

![Architecture](/static/image/fwf-marketechture-sm.png)

In this documentation you can find resources that will help you [get started](./quickstart), showcase different types of applications and features you can take advantage of, explain core concepts, and provide help. If you are looking for information about building your first Spin application, start with the [Spin documentation](https://spinframework.dev).
In this documentation, you can find resources that will help you [get started](./quickstart), showcase different types of applications and features you can take advantage of, explain core concepts, and provide help. If you are looking for information about building your first Spin application, start with the [Spin documentation](https://spinframework.dev).

- [Application Deployment](#application-deployment)
- [Traffic Routing](#traffic-routing)
- [Integration With Other Akamai Services](#integrations-with-other-akamai-services)
- [Integration With Other Akamai Services](#integration-with-other-akamai-services)

In this article we describe the core concepts of Fermyon Wasm Functions.

Expand All @@ -27,13 +27,13 @@ You can deploy Spin applications to Fermyon Wasm Functions with a single command

## Traffic Routing

Fermyon Wasm Functions uses Akamai's Connected Cloud infrastructure and services to ensure requests from a client is always forwarded to the fastest responding region, where your application is available.
Fermyon Wasm Functions uses Akamai's Connected Cloud infrastructure and services to ensure requests from a client are always forwarded to the fastest responding region, where your application is available.

## Integration With Other Akamai Services

Any of Akamai's CDN, Security and Cloud services can easily be used with your Fermyon Wasm Functions Spin applications. Whether you want to use Akamai's API Acceleration to secure and cache requests and responses to and from your application, secure your application with App & API Protector, or integrate with Akamai's managed databases, this is all possible, and fast, as your Fermyon Wasm Functions runs within Akamai's Connected Cloud.

If you are in need of a self-hosted, isolated environment for executing Spin applications, talk to your Akamai sales team about [Fermyon Platform for Kubernetes](https://www.fermyon.com/platform). This platform runs atop Kubernetes inside of the Akamai Connected Cloud, and puts you in control of the environment.
If you are in need of a self-hosted, isolated environment for executing Spin applications, talk to your Akamai sales team about [Fermyon Platform for Kubernetes](https://www.fermyon.com/platform). This platform runs atop Kubernetes inside of Akamai Connected Cloud, and puts you in control of the environment.


<nav class="pagination is-clearfix mt-4" role="navigation" aria-label="pagination" style="display: block; width: 100%;">
Expand Down
15 changes: 10 additions & 5 deletions content/wasm-functions/list-and-inspect.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ To list all Spin applications deployed to your _Fermyon Wasm Functions_ account,
$ spin aka apps list
```

Depending on which apps you have deployed to your _Fermyon Wasm Functions_ account, the actual output will differ from the output shown here.
Depending on which apps you have deployed to your _Fermyon Wasm Functions_ account, the actual output will differ from the output shown here:

<!-- @nocpy -->

Expand Down Expand Up @@ -50,7 +50,7 @@ This time, you'll receive the list of Spin applications as `JSON` array:
]
```

You can also use the `--verbose` flag to learn more about your apps. Below, you'll see the spin app names alongside their respective app ids.
You can also use the `--verbose` flag to learn more about your apps. Below, you'll see the Spin app names alongside their respective app identifiers:

```console
$ spin aka apps list --verbose
Expand All @@ -61,7 +61,7 @@ query-external-database(b6cc1427-392c-4f96-859d-bb4d0adc216c)

## Inspecting an Application

Use the `spin aka apps info` command, to gather fundamental information about a Spin application deployed to your _Fermyon Wasm Functions_ account. The command requires the name of the desired application to be passed as an argument to the `--app` flag:
Use the `spin aka apps info` command, to gather fundamental information about a Spin application deployed to your _Fermyon Wasm Functions_ account. The command requires the name of the desired application to be passed as an argument to the `--name` flag:

<!-- @selectiveCpy -->

Expand All @@ -72,8 +72,10 @@ $ spin aka apps info --name hello-fermyon-wasm-functions
<!-- @nocpy -->

```console
Name: hello-fermyon-wasm-functions
Name: hello-fermyon-wasm-functions (25a5fd1e-d476-40fd-bc54-6cee0e846540)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No action for now, but I've raised an issue for ID to be a separate field like it is in the JSON

URL: https://25a5fd1e-d476-40fd-bc54-6cee0e846540.aka.fermyon.tech/
Created at: 2025-04-15 17:22:55 UTC
Invocations: 29 in the past 7 days
```

As you can see, you'll also receive the public origin, which could be used to access the Spin application. Similar to the `spin aka apps list` command, you could add the `--format json` flag to make the command return fundamental information about a particular application as `JSON` object:
Expand All @@ -87,8 +89,11 @@ $ spin aka apps info --name hello-fermyon-wasm-functions --format json

```json
{
"id": "25a5fd1e-d476-40fd-bc54-6cee0e846540",
"name": "hello-fermyon-wasm-functions",
"url": "https://25a5fd1e-d476-40fd-bc54-6cee0e846540.aka.fermyon.tech/"
"url": "https://25a5fd1e-d476-40fd-bc54-6cee0e846540.aka.fermyon.tech/",
"created_at": "2025-04-15 17:22:55 UTC",
"invocations": "29 in the past 7 days"
}
```

Expand Down
10 changes: 8 additions & 2 deletions content/wasm-functions/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ $ spin plugin install aka

## Install Language Specific Tooling

With Spin you can build applications using a wide variety of different programming languages. This quickstart, contains instructions and samples for JavaScript, TypeScript and Rust.
With Spin you can build applications using a wide variety of different programming languages. This quickstart, contains instructions and samples for JavaScript, TypeScript, Rust and TinyGo.

Language specific tooling must be installed on your machine, follow these installation instructions:

Expand Down Expand Up @@ -428,6 +428,11 @@ Finished building all Spin components

```bash
$ spin build
```

<!-- @nocpy -->

```console
Executing the build command for component hello-spin: tinygo build -target=wasi -gc=leaking -no-debug -o main.wasm main.go
go: downloading github.com/spinframework/spin/sdk/go v0.10.0
Finished building all Spin components
Expand All @@ -437,8 +442,9 @@ If the build fails, check:

* Are you in the `hello-spin` directory?
* Did you successfully [install TinyGo](#install-language-specific-tooling)?
* Are your versions of Go and TinyGo up to date? The Spin SDK needs TinyGo 0.27 or above.
* Are your versions of Go and TinyGo up to date? The Spin SDK needs TinyGo 0.27 or above.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@adamreese Is this version requirement still correct? Spin docs says TinyGo 0.35 and Go 1.22. https://spinframework.dev/v3/quickstart#build-your-application

* Set Environment Variable `CGO_ENABLED=1`. (Since the Go SDK is built using CGO, it requires the CGO_ENABLED=1 environment variable to be set.)
* Are your Spin templates up-to-date? Use `spin templates upgrade` to upgrade them

If you would like to know what build command Spin runs for a component, you can find it in the manifest, in the `component.(id).build` section:

Expand Down
2 changes: 1 addition & 1 deletion content/wasm-languages/objective-c.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ However, we haven't tracked down any examples or implementations.

Apple is hinting that not only do they have such a tool, but they use it in their apps.

According to [this tweet](https://twitter.com/lrz/status/1250453967957561344?s=20):
According to [this tweet](https://x.com/lrz/status/1250453967957561344?s=20):

> What have I been working on lately? Just a few days ago, iWork 10.0 shipped with iCloud apps that now include features extracted from the native codebase (C++/ObjC), using WebAssembly!

Expand Down
Loading