Make fluvio update
update plugins as well as CLI
#865
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #672
This updates the
fluvio update
command to behave as follows:fluvio update
with no parameters will update the CLI and any plugins that support being updated* to the latest stable versionfluvio update <pluginA> <pluginB>
will update any of the named plugins to the latest stable versionfluvio update
with a--develop
flag with update the targets to the latest prerelease (rather than stable)*Plugin Update Mechanism
In order to be compatible with auto-updating, each plugin must now provide a new field of metadata called
package
, which identifies the plugin on packages.fluvio.io. For example, thefluvio-cloud
plugin would provide a package field containingfluvio/fluvio-cloud
. This is delivered via the already-existing metadata mechanism, where any plugin executed with ametadata
argument is expected to return aFluvioExtensionMetadata
, e.g.In the JSON above, the
package
field is new, and allows the plugin to tell the CLI where to search for its updates. Older plugins that do not provide thepackage
field will not be auto-updated withfluvio update
(with no arguments), but updates will still work fine if the plugin to update is named, e.g.fluvio update fluvio-cloud
.Example: