Coder Social home page Coder Social logo

gmh5225 / steampipe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from turbot/steampipe

0.0 1.0 0.0 21.99 MB

Zero-ETL, infinite possibilities. Live query APIs, code & more with SQL. No DB required.

Home Page: https://steampipe.io

License: GNU Affero General Public License v3.0

Shell 5.96% JavaScript 2.24% Scheme 0.19% Go 57.55% Puppet 0.41% TypeScript 18.56% CSS 0.32% Pascal 0.01% Makefile 0.02% HTML 0.45% PLSQL 0.25% HCL 13.92% Dockerfile 0.12%

steampipe's Introduction

Steampipe Logo

plugins   benchmarks   dashboards   slack   maintained by

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

  • Steampipe CLI. Query APIs, check compliance, visualize on dashboards.

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

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

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

  • Turbot Pipes. Query, check, and visualize with your team using the only intelligence, automation & security platform built specifically for DevOps.

A common suite of API plugins

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

Cloud AWS, Alibaba, Azure, GCP, IBM, Oracle
SaaS Airtable, Jira, GitHub, Google Workspace, Microsoft 365, Salesforce, Slack, Stripe, Zoom
Security CrowdStrike, GitGuardian, Have I Been Pwned, PAN-OS, Shodan, Trivy, VirusTotal
Identity Azure AD, Duo, Keycloak, Google Directory, LDAP
DevOps Docker, Grafana, Kubernetes, Prometheus
Net Baleen, Cloudflare, crt.sh, Gandi, IMAP, ipstack, Tailscale, updown.io, WHOIS
IaC CloudFormation, Terraform
Logs Algolia, AWS CloudWatch, Datadog, Splunk
Social HackerNews, Twitter, Reddit, RSS
Your API Build your own custom plugins

Steampipe CLI

With Steampipe CLI you can:

The interactive query shell is one way you can query those tables.

You can also use psql, pgcli, Metabase, Tableau, or any client that can connect to Postgres.

Get started with the CLI

Install Steampipe

The downloads page shows you how but tl;dr:

Linux or WSL

sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/turbot/steampipe/main/install.sh)"

MacOS

brew tap turbot/tap
brew install steampipe
Add a plugin

Choose a plugin from the hub, for example: Net.

Run the steampipe plugin command to install it.

steampipe plugin install net
Run steampipe query
Launch the interactive shell.
steampipe query

Run your first query!

select
  *
from
  net_certificate
where
  domain = 'google.com';
Learn more about the CLI
Build and develop the CLI

Prerequisites:

  • Golang Version 1.19 or higher.

Clone:

git clone [email protected]:turbot/steampipe
cd steampipe

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

make

Check the verison

$ steampipe -v
steampipe version 0.18.1

Install a plugin

$ steampipe plugin install steampipe

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;

Steampipe Mods: Dashboards and benchmarks

The Steampipe community has also grown a suite of mods which are sets of dashboards that visualize your resources and benchmarks that check your cloud resources for compliance.

Compliance Check AWS, Azure, GCP, etc for compliance with HIPAA, PCI, etc
Cost Review what AWS, Azure, GCP, and other clouds are costing you
Insights Visualize cloud resources with charts, tables, and interactive widgets
Security Use CIS, NIST, FedRAMP etc to assess the security of AWS, Azure, GCP, etc
Tags Verify the consistency of tags applied to AWS, Azure, and GCP resources
Your mod Build your own benchmarks and dashboards

Running dashboards and benchmarks

benchmarks-and-dashboards

Dashboards and benchmarks use SQL to gather data and HCL to flow the data into dashboard widgets and benchmark controls. You can use the existing suites of benchmarks and dashboards, or build derivative versions, or create your own.

Get started with dashboards and benchmarks

Install the Net Insights mod
The Net Insights mod works with the Net plugin shown above. To run it, first clone its repo and change to that directory.
git clone https://github.com/turbot/steampipe-mod-net-insights
cd steampipe-mod-net-insights

Run benchmarks in the CLI

All the benchmarks:

steampipe check all

A single benchmark:

steampipe check benchmark.dns_best_practices

A single control:

steampipe check control.dns_ns_name_valid

Available formats include JSON, CSV, HTML, and ASFF. You can use custom output templates to create new output formats.

Run benchmarks as dashboards
Launch the dashboard server: `steampipe dashboard`, then open `http://localhost:9194` in your browser.

The home page lists available dashboards. Click DNS Best Practices to view that dashboard.

Note that the default domains are microsoft.com and github.com. You can change those defaults to check other domains.

Use dashboards to explore your resources
Dashboards use charts, tables, and interactive widgets to help you explore and visualize your resources.

The AWS Insights mod, for example, provides dozens of dashboards that exercise the full set of widgets. To use these dashboards, first install the AWS plugin and authenticate. Then clone AWS Insights, change to its directory, launch steampipe dashboard, and open localhost:9194.

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.

Get Involved

Join #steampipe on Slack →

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

Turbot Pipes

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

License

Steampipe is distributed under AGPL-3.0.

steampipe's People

Contributors

kaidaguerre avatar michaelburgess avatar binaek avatar dependabot[bot] avatar pskrbasu avatar e-gineer avatar gliptak avatar mr-destructive avatar bob-bot avatar judell avatar rupeshpatil20 avatar francois2metz avatar pdecat avatar cbruno10 avatar dboeke avatar chandru89new avatar testwill avatar misraved avatar saumyabhushan avatar peterdavehello avatar mafrosis avatar juneezee avatar ajmaradiaga avatar abhiturbot avatar cjsrkd3321 avatar ppapishe avatar michizhou avatar kaiba42 avatar jreyesr avatar jackdelab avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.