June 13, 2023

Announcing Spin v1.3

Melissa Klein Melissa Klein

spin wasm wasi rust

Announcing Spin v1.3

Today, we are happy to announce Spin 1.3 which includes several enhancements to Spin:

  • The cloud deploy and cloud login subcommands were moved to the new cloud plugin
  • Application variables ([variables]) are now configurable for Fermyon Cloud applications and can be updated with the cloud plugin cloud variables subcommand.
  • Variables can now be set in the Fermyon Cloud via the cloud plugin
  • Experimental features spin doctor and SQLite host component are available for testing

Let’s have a look at a few of the highlights of the release!

Cloud Commands as a Separate Plugin

The Cloud commands login and deploy are now implemented via a Spin plugin. This enables the cloud plugin to be released on its own schedule, allowing the cloud commands to be updated to support new features in Fermyon Cloud. But don’t worry! When you need to run spin cloud deploy in Spin 1.3, Spin will look for the cloud plugin, and if it is not installed, it will install it for you.

Configurable Application Variables in Fermyon Cloud

Spin supports dynamic application variables. Instead of being static, their values can be updated without modifying the application, creating a simpler experience for rotating secrets, updating API endpoints, and more. These variables are defined in a Spin application manifest (in the [variables] section) and are provided by a configuration provider. When using Spin locally, the configuration provider can be Vault for secrets or host environment variables. Refer to the dynamic configuration documentation to learn how to configure one of these providers.

Now, when your application is deployed to Fermyon Cloud you can set and update its variables using the spin cloud variables command. For example, to set or update a variable called api_endpoint to be https://official-joke-api.appspot.com/random_joke, run the following.

$ spin cloud variables set api_endpoint="https://official-joke-api.appspot.com/random_joke" --app "free-laughs"

You can also set the variables when you initally deploy the application using spin cloud deploy --variables.

$ spin deploy --variable api_endpoint="https://official-joke-api.appspot.com/random_joke"
Uploading free-laughs version 0.1.0+r7123456...
Waiting for application to become ready........... ready
Available Routes:
  free-laughs: https://free-laughs-abcdefg.fermyon.app (wildcard)

The spin cloud variables command can also be used to list variables that have been set for an application.

$ spin cloud variables list --app "free-laughs"

For a full explanation on how to configure secrets in Spin applications, try out the variables tutorial.

Experimental Features

In this release, there are also some experimental features - spin doctor and the SQLite host component. These features are in early development and have been added to the release so users can test them out and provide feedback. The spin doctor command helps you diagnose problems with your Spin installation. The SQLite host component gives you access to an SQLite database embedded in the Spin binary, similar to the local key-value store experience. You can read more about the SQLite host component in the SIP. Try them out and let us know what you think!

Thank you!

We would like to thank the almost 60 contributors to the Spin project and in particular our new contributor @harshil1973. Hope to see you again in the commit history soon!

A special mention goes out to the maintainers of the Bytecode Alliance projects, particularly the Wasmtime project, as well as the developers working on WASI and the WebAssembly component model. Their work is instrumental in supporting Spin.

Stay in Touch

If you are interested in Spin, Fermyon Cloud, or other Fermyon projects, join the chat in the Fermyon Discord server and follow us on Twitter @fermyontech and @spinframework!

If you would like to get involved in the Spin project, join us at our Spin Community Developers Meeting which is held on the fourth Monday of every month.

Announcing Spin 1.3




🔥 Recommended Posts

Quickstart Your Serveless Apps with Spin

Get Started