steampipe

command module
v0.23.0-alpha.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 11, 2024 License: AGPL-3.0 Imports: 14 Imported by: 0

README

Steampipe Logo

plugins   slack   maintained by

Steampipe is the zero-ETL solution for getting data directly from APIs and services. We offer these Steampipe engines:

  • Steampipe CLI. Use the Steampipe core engine to translate APIs to tables in the Postgres instance that's bundled with Steampipe.

  • Steampipe Postgres FDWs. Use native Postgres Foreign Data Wrappers to translate APIs to foreign tables.

  • Steampipe SQLite extensions. Use SQLite extensions to translate APIS to SQLite virtual tables.

  • Steampipe export tools. Use standalone binaries that export data from APIs, no database required.

  • Turbot Pipes. Use Turbot Pipes to run Steampipe in the cloud.

Steampipe API plugins

The Steampipe community has grown a suite of plugins that map APIs to database tables. They work with all Steampipe engines.

Install Steampipe

The downloads page shows you how but tl;dr:

Linux or WSL

sudo /bin/sh -c "$(curl -fsSL https://steampipe.io/install/steampipe.sh)"

MacOS

brew tap turbot/tap
brew install steampipe

Install a plugin

Choose a plugin from the hub, for example: Hacker News.

Run the steampipe plugin command to install it.

steampipe plugin install hackernews

Query with a plugin

Run a query using psql — or another Postgres client , or Powerpipe — to query a table provided by the installed plugin.

psql -h localhost -p 9193 -d steampipe -U steampipe
steampipe=> select * from hackernews_new limit 10

Developing

Prerequisites:

  • Golang Version 1.19 or higher.

Clone the repo.

git clone https://github.com/turbot/steampipe
cd steampipe

Build, which automatically installs the new version to your /usr/local/bin/steampipe directory:

make

Check the version.

$ steampipe -v
steampipe version 0.21.1

Install a plugin and run a query as per above.

Open source & contributing

This repository is published under the AGPL 3.0 license. Please see our code of conduct. Contributors must sign our Contributor License Agreement as part of their first pull request. We look forward to collaborating with you!

Steampipe is a product produced from this open source software, exclusively by Turbot HQ, Inc. It is distributed under our commercial terms. Others are allowed to make their own distribution of the software, but cannot use any of the Turbot trademarks, cloud services, etc. You can learn more in our Open Source FAQ.

Turbot Pipes

Want a hosted version of Steampipe? Bring your team to Turbot Pipes.

Get involved

Join #steampipe on Slack →

Want to help but don't know where to start? Pick up one of the help wanted issues:

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package cmd contains Cobra command definitions for all Steampipe commands
Package cmd contains Cobra command definitions for all Steampipe commands
pkg
cloud
Package cloud contains logic to support connecting to a Turbot Pipes database
Package cloud contains logic to support connecting to a Turbot Pipes database
cmdconfig
Package cmd_config contains helper functions to support constructing Cobra commands, validating arguments and populating Viper config management
Package cmd_config contains helper functions to support constructing Cobra commands, validating arguments and populating Viper config management
constants
Package constants contains constant values that are used throughout Steampipe
Package constants contains constant values that are used throughout Steampipe
pluginmanager_service/grpc/shared
Package shared contains shared data between the host and plugins.
Package shared contains shared data between the host and plugins.
version
Package version :: The version package provides a location to set the release versions for all packages to consume, without creating import cycles.
Package version :: The version package provides a location to set the release versions for all packages to consume, without creating import cycles.
ui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL