Announcing Spin v1.3
Melissa Klein
spin
wasm
wasi
rust
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...
Deploying...
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"
api_endpoint
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.