Update README.md (#4399)

* Update README.md

* Update README.md

* Update README.md

* Update README.md
This commit is contained in:
Jon Udell
2024-09-27 14:20:52 -07:00
committed by Puskar Basu
parent fab990f28c
commit b2c6bca7a3

158
README.md
View File

@@ -1,108 +1,162 @@
[<picture><source media="(prefers-color-scheme: dark)" srcset="https://steampipe.io/images/steampipe-color-logo-and-wordmark-with-white-bubble.svg"><source media="(prefers-color-scheme: light)" srcset="https://steampipe.io/images/steampipe-color-logo-and-wordmark-with-white-bubble.svg"><img width="67%" alt="Steampipe Logo" src="https://steampipe.io/images/steampipe-color-logo-and-wordmark-with-white-bubble.svg"></picture>](https://steampipe.io?utm_id=gspreadme&utm_source=github&utm_medium=repo&utm_campaign=github&utm_content=readme)
[<picture><source media="(prefers-color-scheme: dark)" srcset="https://steampipe.io/images/steampipe-color-logo-and-wordmark-with-white-bubble.svg"><source media="(prefers-color-scheme: light)" srcset="https://steampipe.io/images/steampipe-color-logo-and-wordmark-with-white-bubble.svg"><img width="67%" alt="Steampipe Logo" src="https://steampipe.io/images/steampipe-color-logo-and-wordmark-with-white-bubble.svg"></picture>](https://steampipe.io)
[![plugins](https://img.shields.io/badge/apis_supported-145-blue)](https://hub.steampipe.io/) &nbsp;
[![slack](https://img.shields.io/badge/slack-2695-blue)](https://turbot.com/community/join?utm_id=gspreadme&utm_source=github&utm_medium=repo&utm_campaign=github&utm_content=readme) &nbsp;
[![maintained by](https://img.shields.io/badge/maintained%20by-Turbot-blue)](https://turbot.com?utm_id=gspreadme&utm_source=github&utm_medium=repo&utm_campaign=github&utm_content=readme)
Steampipe is the zero-ETL solution for getting data directly from APIs and services. We offer these Steampipe engines:
[Steampipe](https://steampipe.io) is **the zero-ETL way** to query APIs and services. Use it to expose data sources to SQL.
- Steampipe CLI. Use the Steampipe core engine to translate APIs to tables in the Postgres instance that's bundled with Steampipe.
**SQL**. It's been the data access standard for decades.
- Steampipe Postgres FDWs. Use [native Postgres Foreign Data Wrappers](https://steampipe.io/docs/steampipe_postgres/overview) to translate APIs to foreign tables.
**Live data**. Query APIs in real-time.
- Steampipe SQLite extensions. Use [SQLite extensions](https://steampipe.io/docs/steampipe_sqlite/overview) to translate APIS to SQLite virtual tables.
**Speed**. Query APIs faster than you ever thought possible.
- Steampipe export tools. Use [standalone binaries](https://steampipe.io/docs/steampipe_export/overview) that export data from APIs, no database required.
**Concurrency**. Query many data sources in parallel.
- Turbot Pipes. Use [Turbot Pipes](https://turbot.com/pipes) to run Steampipe in the cloud.
**Single binary**. Use it locally, deploy it in CI/CD pipelines.
## Steampipe API plugins
## Demo time!
The Steampipe community has grown a suite of [plugins](https://hub.steampipe.io/) that map APIs to database tables. They work with all Steampipe engines.
<img alt="steampipe demo" width=500 src="https://steampipe.io/images/steampipe-sql-demo.gif" >
## Install Steampipe
## Getting Started
The <a href="https://steampipe.io/downloads?utm_id=gspreadme&utm_source=github&utm_medium=repo&utm_campaign=github&utm_content=readme">downloads</a> page shows you how but tl;dr:
Linux or WSL
Install Steampipe from the [downloads](https://steampipe.io/downloads) page:
```sh
# MacOS
brew install turbot/tap/steampipe
# Linux or WSL2
sudo /bin/sh -c "$(curl -fsSL https://steampipe.io/install/steampipe.sh)"
```
MacOS
```sh
brew tap turbot/tap
brew install steampipe
```
## Install a plugin
Choose a plugin from the [hub](https://hub.steampipe.io/), for example: [Hacker News](https://hub.steampipe.io/plugins/turbot/hackernews).
Run the `steampipe plugin` command to install it.
Install a plugin for your favorite service (e.g. [AWS](https://hub.steampipe.io/plugins/turbot/aws), [Azure](https://hub.steampipe.io/plugins/turbot/azure), [GCP](https://hub.steampipe.io/plugins/turbot/gcp), [GitHub](https://hub.steampipe.io/plugins/turbot/github), [Kubernetes](https://hub.steampipe.io/plugins/turbot/kubernetes), [Hacker News](https://hub.steampipe.io/plugins/turbot/hackernews), etc):
```sh
steampipe plugin install hackernews
```
## Query with a plugin
Query!
Run a query using `psql` — or another Postgres client , or [Powerpipe](https://powerpipe.io) — to query a table provided by the installed plugin.
```
psql -h localhost -p 9193 -d steampipe -U steampipe
```sh
steampipe query
> select * from hackernews_new limit 10
```
```
steampipe=> select * from hackernews_new limit 10
```
## Documentation
See the [documentation](https://steampipe.io/docs) for:
- [Running queries](https://steampipe.io/docs/query/overview)
- [Managing Steampipe](https://steampipe.io/docs/managing/overview)
- [CLI commands](https://steampipe.io/docs/reference/cli/overview)
- [Integrations](https://steampipe.io/docs/integrations/overview)
- [Developing plugins](https://steampipe.io/docs/develop/overview)
## Steampipe plugins
The Steampipe community has grown a suite of [plugins](https://hub.powerpipe.io/plugins) that map APIs to database tables. Plugins are available for [AWS](https://hub.steampipe.io/plugins/turbot/aws), [Azure](https://hub.steampipe.io/plugins/turbot/azure), [GCP](https://hub.steampipe.io/plugins/turbot/gcp), [Kubernetes](https://hub.steampipe.io/plugins/turbot/kubernetes), [GitHub](https://hub.steampipe.io/plugins/turbot/github), [Microsoft 365](https://hub.steampipe.io/plugins/turbot/microsoft365), [Salesforce](https://hub.steampipe.io/plugins/turbot/salesforce), and many more.
There are more than 2000 tables in all, each clearly documented with copy/paste/run examples.
## Steampipe distributions
Plugins are available in these distributions.
**Steampipe CLI**. Run [queries](https://steampipe.io/docs/query/overview) that translate APIs to tables in the Postgres instance that's bundled with Steampipe.
**Steampipe Postgres FDWs**. Use [native Postgres Foreign Data Wrappers](https://steampipe.io/docs/steampipe_postgres/overview) to translate APIs to foreign tables.
**Steampipe SQLite extensions**. Use [SQLite extensions](https://steampipe.io/docs/steampipe_sqlite/overview) to translate APIS to SQLite virtual tables.
**Steampipe export tools**. Use [standalone binaries](https://steampipe.io/docs/steampipe_export/overview) that export data from APIs, no database required.
**Turbot Pipes**. Use [Turbot Pipes](https://turbot.com/pipes) to run Steampipe in the cloud.
## Developing
Prerequisites:
If you want to help develop the core Steampipe binary, these are the steps to build it.
- [Golang](https://golang.org/doc/install) Version 1.19 or higher.
Clone the repo.
<details>
<summary>Clone</summary>
```sh
git clone https://github.com/turbot/steampipe
git clone git@github.com:turbot/steampipe
```
</details>
<details>
<summary>Build</summary>
```
cd steampipe
```
Build, which automatically installs the new version to your `/usr/local/bin/steampipe` directory:
```
make
```
Check the version.
The Steampipe binary lands in `/usr/local/bin/steampipe` directory unless you specify an alternate `OUTPUT_DIR`.
</details>
<details>
<summary>Check the version</summary>
```
$ steampipe -v
steampipe version 0.21.1
$ steampipe --version
steampipe version 0.22.0
```
</details>
Install a plugin and run a query as per above.
<details>
<summary>Install a plugin</summary>
## Open source & contributing
```
$ steampipe plugin install steampipe
```
</details>
<details>
<summary>Run your first query</summary>
Try it!
```
steampipe query
> .inspect steampipe
+-----------------------------------+-----------------------------------+
| TABLE | DESCRIPTION |
+-----------------------------------+-----------------------------------+
| steampipe_registry_plugin | Steampipe Registry Plugins |
| steampipe_registry_plugin_version | Steampipe Registry Plugin Version |
+-----------------------------------+-----------------------------------+
> select * from steampipe_registry_plugin;
```
</details>
If you're interested in developing [Steampipe plugins](https://hub.steampipe.io), see our [documentation for plugin developers](https://steampipe.io/docs/develop/overview).
## Turbot Pipes
Bring your team to [Turbot Pipes](https://turbot.com/pipes) to use Steampipe together in the cloud.
## Open source and contributing
This repository is published under the [AGPL 3.0](https://www.gnu.org/licenses/agpl-3.0.html) license. Please see our [code of conduct](https://github.com/turbot/.github/blob/main/CODE_OF_CONDUCT.md). Contributors must sign our [Contributor License Agreement](https://turbot.com/open-source#cla) as part of their first pull request. We look forward to collaborating with you!
[Steampipe](https://steampipe.io) is a product produced from this open source software, exclusively by [Turbot HQ, Inc](https://turbot.com). 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](https://turbot.com/open-source).
## Turbot Pipes
## Get involved
**[Join #steampipe on Slack →](https://turbot.com/community/join)**
Want a hosted version of Steampipe? Bring your team to [Turbot Pipes](https://pipes.turbot.com?utm_id=gspreadme&utm_source=github&utm_medium=repo&utm_campaign=github&utm_content=readme).
## Get involved
**[Join #steampipe on Slack →](https://turbot.com/community/join)**
Want to help but don't know where to start? Pick up one of the `help wanted` issues:
* [Steampipe](https://github.com/turbot/steampipe/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
* [Steampipe](https://github.com/turbot/steampipe/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)