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

CommandDescription
initInitialize the current directory with a mod.fp file
installInstall one or more mods and their dependencies
listList currently installed mods
uninstallUninstall a mod and its dependencies
updateUpdate one or more mods and their dependencies

Flags

FlagDescription
--dry-runShow which mods would be installed/updated/uninstalled without modifying them (default false).
--forceInstall mods even if plugin/cli version requirements are not met (cannot be used with --dry-run).
--pruneRemove unused dependencies after installation is complete (default true).
--pull stringSpecify 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:

StrategyDescription
fullCheck branches and tags for both latest and accuracy
latestUpdate everything to latest, but only branches (not tags) are commit checked
developmentUpdate branches and broken constraints to latest, leave satisfied constraints unchanged
minimalOnly 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