flowpipe mod
Flowpipe mod management.
Mods provide an easy way to share Flowpipe pipelines. Find mods using the public registry at hub.flowpipe.io.
Usage
flowpipe mod [command]
Sub-Commands
Command | Description |
---|---|
init | Initialize the current directory with a mod.fp file |
install | Install one or more mods and their dependencies |
list | List currently installed mods |
uninstall | Uninstall a mod and its dependencies |
update | Update one or more mods and their dependencies |
Flags
Flag | Description |
---|---|
--dry-run | Show which mods would be installed/updated/uninstalled without modifying them (default false ). |
--force | Install mods even if plugin/cli version requirements are not met (cannot be used with --dry-run ). |
--prune | Remove unused dependencies after installation is complete (default true ). |
--pull string | Specify an update strategy: full , latest , development , minimal (default latest ) |
Update Strategy
It is also possible to have more granular control of the update behavior - e.g. when to check for new commits. The --pull
argument can be used to specify the update strategy when running powerpipe update
or powerpipe install
:
Strategy | Description |
---|---|
full | Check branches and tags for both latest and accuracy |
latest | Update everything to latest, but only branches (not tags) are commit checked |
development | Update branches and broken constraints to latest, leave satisfied constraints unchanged |
minimal | Only update broken constraints. Do not check branches for new commits |
Git URLs & Private Repos
Flowpipe uses git
to install and update mods. When you run flowpipe mod install
or flowpipe mod update
, Flowpipe will first try using https
and if that does not work it will try ssh
. If your SSH keys are configured properly for git
, you should be able to pull from private repos that you have access to, as well as public ones.
When publishing mods, you should usually only depend on public mods (hosted in public repos) so that users of your mod don't encounter permissions issues.
Examples
List installed mods:
flowpipe mod list
Install a mod and add the require
statement to your mod.fp
:
flowpipe mod install github.com/turbot/flowpipe-mod-aws
Install an exact version of a mod and update the require
statement to your mod.fp
. This may upgrade or downgrade the mod if it is already installed:
flowpipe mod install github.com/turbot/flowpipe-mod-aws@0.1.0
Install a version of a mod using a semver constraint and update the require
statement to your mod.fp
. This may upgrade or downgrade the mod if it is already installed:
flowpipe mod install github.com/turbot/flowpipe-mod-aws@'^1'
Install a mod from a GitHub tag:
flowpipe mod install github.com/turbot/flowpipe-mod-aws@my-tag
Install a mod from a GitHub branch:
flowpipe mod install github.com/turbot/flowpipe-mod-aws#main
Install a mod from a local directory:
flowpipe mod install ../flowpipe-mod-aws
Install all mods specified in the mod.fp
and their dependencies:
flowpipe mod install
Preview what flowpipe mod install
will do, without actually installing anything:
flowpipe mod install --dry-run
Update a mod to the latest version allowed by its current constraint:
flowpipe mod update github.com/turbot/flowpipe-mod-aws
Update all mods specified in the mod.fp
and their dependencies to the latest versions that meet their constraints, and install any that are missing:
flowpipe mod update
Uninstall a mod:
flowpipe mod uninstall github.com/turbot/flowpipe-mod-azure
Preview uninstalling a mod, but don't uninstall it:
flowpipe mod uninstall github.com/turbot/flowpipe-mod-gcp --dry-run