powerpipe mod

Powerpipe mod management.

Mods provide an easy way to share Powerpipe pipelines. Find mods using the public registry at hub.powerpipe.io.

Usage

Sub-Commands

CommandDescription
initInitialize the current directory with a mod.pp file
installInstall one or more mods and their dependencies
listList mods from the current mod and its direct dependents.
showShow details of a mod from the current mod or its direct dependents.
uninstallUninstall a mod and its dependencies
updateUpdate one or more mods and their dependencies

powerpipe mod init

Initialize the current directory with a mod.pp file.

Examples

Initialize a mod (create a mod.pp) in the current directory:

Initialize a mod (create a mod.pp) in another directory:


powerpipe mod install

Install one or more mods and their dependencies. In addition to downloading the mod, Powerpipe will add the mod dependency to the mod.pp file.

Powerpipe uses git to install and update mods. When you run powerpipe mod install or powerpipe mod update, Powerpipe 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. Alternatively, you can authenticate with a GitHUb personal access token or application token. Set the POWERPIPE_GIT_TOKEN environment variable to your token and Powerpipe will use the token when installing and updating mods.

When you install a mod, the latest version is installed by default:

When installing a mod, you may specify a semver constraint. The latest version that meets the constraint will be installed, and the constraint will be added to the mod.pp and honored by subsequent steampipe mod update operations.

To install from a tagged commit, append the mod repo with @ and the tag:

Note that the syntax is the same as for semver constraints, and if the tag value is a valid semver string, Powerpipe will interpret it as a semver constraint and not a literal tag name.

To install from a branch, append the mod repo with # and the branch name:

When developing mods, it can be useful to work from a local copy. To install a mod from a local filesystem path, just pass the path to the install command:

Arguments

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 is latest if there is a target, minimal if no target is given).

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

Examples

Install the latest version of a mod:

Install an exact version of a mod:

Install a version of a mod using a semver constraint:

Install a mod from a GitHub tag:

Install a mod from a GitHub branch:

Install a mod from a local directory:

Install all mods specified in the mod.pp and their dependencies:

Preview what powerpipe mod install will do, without actually installing anything:

Install all missing mods specified in the mod.pp and update all their dependencies:


powerpipe mod list

List mods from the current mod and its direct dependents.

Examples

List mods:

List all mods in JSON format:

List mods using settings from a workspace:


powerpipe mod show

Show details of a mod from the current mod or its direct dependents.

Examples

Show details of a single mod in the current mod:

Show details of a mod in JSON format:

Show details of a mod using settings from a workspace:


powerpipe mod uninstall

Uninstall a mod and its dependencies.

Arguments

FlagDescription
--dry-runShow which mods would be uninstalled without modifying them (default false).
--pruneRemove unused dependencies after uninstallation is complete (default true).

Examples

Uninstall a mod:

Preview uninstalling a mod, but don't uninstall it:


powerpipe mod update

Update one or more mods and their dependencies.

Arguments

FlagDescription
--dry-runShow which mods would be updated without modifying them (default false).
--forceUpdate mods even if plugin/cli version requirements are not met (cannot be used with --dry-run).
--pruneRemove unused dependencies after update is complete (default true).
--pull stringSpecify an update strategy: full, latest, development, minimal (default latest)

Examples

Update a mod to the latest version allowed by its current constraint:

Update all mods specified in the mod.pp and their dependencies to the latest versions that meet their constraints, and install any that are missing:

Update all mods specified in the mod.pp and their dependencies to the latest versions that meet their constraints, and install any that are missing. Check branches and tags for both latest and accuracy: