# Turbot Powerpipe Quick 'n' easy dashboards for DevOps. 1. [TL;DR](#tldr) 1. [Further readings](#further-readings) 1. [Sources](#sources) ## TL;DR Powerpipe **requires** a database to run its queries from.
By default it uses [Steampipe]'s, but it [can be specified][selecting a database]. _Controls_ allow to draw specific conclusion (e.g. 'OK', 'Alarm') about each row in queries.
_Benchmarks_ group controls and other benchmarks into hierarchies of any depth. Default files directory (called _installation directory_ by Powerpipe) is `$HOME/.powerpipe`.
Setup ```sh brew install 'turbot/tap/powerpipe' ``` ```sh # Initialize the current directory. # Creates a 'mod.pp' file. powerpipe mod init # Disable telemetry. export POWERPIPE_TELEMETRY='none' # Configuration. # Most can be set through switch. # These are set to their defaults. export \ POWERPIPE_INSTALL_DIR="${HOME}/.powerpipe" \ POWERPIPE_LISTEN='network' \ POWERPIPE_MAX_PARALLEL=10 \ POWERPIPE_MOD_LOCATION="$PWD" \ POWERPIPE_PORT=9033 \ POWERPIPE_UPDATE_CHECK=true ```
Usage ```sh # Install mods with their dependencies. # If none is given, install all those specified in the 'mod.pp' configuration file. powerpipe mod install powerpipe mod install 'github.com/turbot/steampipe-mod-aws-insights' 'github.com/turbot/steampipe-mod-aws-tags@v0.13' powerpipe mod install --dry-run 'github.com/turbot/steampipe-mod-aws-compliance@^0.92' # List installed mods. powerpipe mod list # Update mods. powerpipe mod update powerpipe mod update 'github.com/turbot/steampipe-mod-aws-compliance' # Uninstall mods. powerpipe mod uninstall 'github.com/turbot/steampipe-mod-aws-compliance' # List available queries. powerpipe query list # Show queries' information. powerpipe query show 'aws_insights.query.vpc_vpcs_for_vpc_subnet' # Run named queries. powerpipe query run 'aws_insights.query.vpc_vpcs_for_vpc_subnet' # List available controls. powerpipe control list # Execute controls. # Only one at a time. powerpipe control run 'aws_compliance.control.cis_v150_3_3' # List available benchmarks. powerpipe benchmark list # Execute benchmarks. powerpipe benchmark run 'aws_compliance.benchmark.soc_2' powerpipe benchmark run 'aws_compliance.benchmark.cis_v300' 'aws_compliance.benchmark.gdpr' powerpipe benchmark run … --where "severity in ('critical', 'high')" --tag 'cis_level=1' --tag 'cis=true' powerpipe benchmark run … --output 'brief' --export 'output.csv' --export 'output.json' --export 'md' --export 'nunit3' powerpipe benchmark run … --database 'postgres://myUser:myPassword@myDbFqdn:9193/steampipe' # Run *all* benchmarks in mods. # This will *not* run benchmarks in the mods' dependencies. powerpipe benchmark run all # Start the dashboard. # Wait for server initialization before connecting. powerpipe server powerpipe server --listen 'network' --port '8080' ```
Mods of interest: | Mod | Summary | | --------------------------------------------------------------------- | ------------------------------------ | | [AWS Compliance](https://hub.powerpipe.io/mods/turbot/aws_compliance) | AWS compliance and security controls | | [AWS Thrifty](https://hub.powerpipe.io/mods/turbot/aws_thrifty) | AWS cost optimization | ## Further readings - [Website] - [Github] - [Flowpipe] - [Steampipe] - [Powerpipe Hub][hub] ### Sources - [Turbot pipes] [flowpipe]: flowpipe.md [steampipe]: steampipe.md [turbot pipes]: README.md [github]: https://github.com/turbot/powerpipe [hub]: https://hub.powerpipe.io/ [selecting a database]: https://powerpipe.io/docs/run#selecting-a-database [website]: https://powerpipe.io/