You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/content/sips/006-spin-plugins.md
+16-15Lines changed: 16 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -26,15 +26,15 @@ A [`spin-plugins` repository](#centralized-plugin-manifest-repository) will act
26
26
The `spin plugin` command will have three sub-commands.
27
27
28
28
```bash
29
-
Commands for working with Spin plugins
29
+
Commands for working with Spin plugins.
30
30
31
31
USAGE:
32
32
spin plugin <SUBCOMMAND>
33
33
34
34
SUBCOMMANDS:
35
-
install Install plugin as described by a remote or local plugin manifest
36
-
uninstall Uninstall a plugin
37
-
updateUpdate one or all plugins to the latest or specified version
35
+
install Install plugin as described by a remote or local plugin manifest.
36
+
uninstall Uninstall a plugin.
37
+
updateUpdate one or all plugins to the latest or specified version.
38
38
```
39
39
40
40
**`spin plugin install`**
@@ -44,16 +44,16 @@ The `spin plugin install` subcommand installs a plugin named `$name`. By default
44
44
```bash
45
45
Install a Spin plugin using a plugin manifest file.
46
46
By default, looks for the plugin manifest named <name>.json
47
-
in the Spin plugins repository https://github.com/fermyon/spin-plugins
47
+
in the Spin plugins repository https://github.com/fermyon/spin-plugins.
48
48
49
49
USAGE:
50
50
spin plugin install <name>
51
51
52
52
OPTIONS:
53
-
-f, --file Path to local plugin manifest
54
-
-u, --url Address of remote plugin manifest
55
-
-v, --version Desired version to update plugin to. Defaults to latest.
56
-
-s, --skip-version-compat-check Instructs Spin to install the plugin even
53
+
-f, --file Path to local plugin manifest.
54
+
-u, --url Address of remote plugin manifest.
55
+
-v, --version Version of plugin to be installed. Defaults to latest.
56
+
-s, --skip-version-compat-check Instructs Spin to install the plugin even
57
57
if its manifest specifies that it is
58
58
incompatible with the current version of Spin
59
59
```
@@ -63,10 +63,10 @@ If the manifest is found, Spin will check that the plugin is compatible with the
63
63
```bash
64
64
Installing plugin deploy with license Apache 2.0 from https://github.com/fermyon/spin-plugin-deploy/releases/download/v0.1.0/spin-plugin-deploy-v0.1.0-macos-aarch64.tar.gz
65
65
For more information, reference the plugin metadata at `https://github.com/fermyon/spin-plugins/plugin-manifests/deploy.json`.
66
-
Are you sure you want to proceed? ('yes'/'no') (default: no)
66
+
Are you sure you want to proceed? (y/N)
67
67
```
68
68
69
-
The plugin will only be installed if a user enters `yes`. Otherwise, the command exits.
69
+
The plugin will only be installed if a user enters `y` or `yes` (ignoring capitalization). Otherwise, the command exits.
70
70
71
71
Spin will reference the plugin manifest in order to fetch the plugin binary and install it into the user’s local data directory under a Spin-managed `plugins` subdirectory. The plugin manifest will be stored within a `manifests` subdirectory.
72
72
@@ -96,11 +96,11 @@ USAGE:
96
96
spin plugin update [OPTIONS]
97
97
98
98
OPTIONS:
99
-
-a, --all Update all installed plugins (cannot be used with any other option)
100
-
-p, --plugin Name of plugin
99
+
-a, --all Update all installed plugins (cannot be used with any other option).
100
+
-p, --plugin Name of plugin to update.
101
101
-v, --version Desired version to update the plugin to. Defaults to latest.
102
-
-f, --file Path to local manifest (mutex with `-u`)
103
-
-u, --url Address of remote manifest (mutex with `-f`)
102
+
-f, --file Path to local manifest (mutex with `-u`).
103
+
-u, --url Address of remote manifest (mutex with `-f`).
104
104
-d, --downgrade Enables downgrading a plugin to an older specified version.
105
105
-s, --skip-version-compat-check Instructs Spin to install the plugin even
106
106
if its manifest specifies that it is
@@ -224,6 +224,7 @@ Spin will use the [`semver`](https://docs.rs/semver/1.0.13/semver/struct.Version
224
224
225
225
The concept of Spin plugins is to allow both new subcommands and functionality to be added to Spin. This SIP focuses on the former, enabling users to both install and execute subcommands from the Spin CLI; however, there are cases where it may be useful to install a new Spin feature that is executed by Spin rather than the user. An example of this is Spin triggers. A user may wish to [extend Spin to support a timer trigger](https://spin.fermyon.dev/extending-and-embedding/) that executes components at a configured time interval. Instead of having to understand, modify, and grow the spin codebase, a user could package the trigger as a plugin. After installing the trigger via `spin plugin install`. Spin could invoke it when a Spin manifest references the trigger.
226
226
227
+
### WebAssembly Plugin Support
227
228
While fornow plugins are assumed to be executables,in the future, support forpluggingin WebAssembly modules may be desirable.
228
229
229
230
### Clean versioning and Spin plugin compatibility
0 commit comments