Announcing Spin v1.3
Today, we are happy to announce Spin 1.3 which includes several enhancements to Spin:
cloud loginsubcommands 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
- Variables can now be set in the Fermyon Cloud via the cloud plugin
- Experimental features
spin doctorand 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
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)
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.
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!
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 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.