select * from cloud;
Dynamically query APIs, code and more with SQL.
Zero-ETL from 140 data sources.
Zero-ETL from 140 data sources.
Download CLI
Open source. No DB required.
Turbot Pipes →
Cloud. Free for developers!
Fall in love with our huge plugin library, and stay for our incredible community!
Features
Query like it's 1992
Stop hacking around with scripts; get real work done with
the data access standard that's been rocking it for 4 decades.
> select runtime, count(*) as functionsfrom aws_lambda_functiongroup by runtime; +------------+-----------+ | runtime | functions | +------------+-----------+ | nodejs12.x | 1 | | python3.7 | 1 | | python3.8 | 2 | +------------+-----------+
Why SQL?
SQL has been the data access standard for decades. It levels the playing field for your team, easily integrates with other systems and accelerates delivery.
> select aws.name as aws_user_name, slack.id as slack_user_id, slack.display_name as slack_namefrom aws_iam_user as aws, slack_user as slackwhere aws.name = slack.email;+--------------------------+---------------+------------+| aws_user_name | slack_user_id | slack_name |+--------------------------+---------------+------------+| dwight@dundermifflin.com | U2EMB8HLP | dwight || jim@dundermifflin.com | U02HE4Z7E | jim |+--------------------------+---------------+------------+
Explore, connect and join data
Painlessly join live cloud configuration data with internal or external data sets to create new insights.
> select domain, expiration_date from whois_domain where domain in ('apple.com','steampipe.io');+--------------+---------------------+| domain | expiration_date |+--------------+---------------------+| apple.com | 2021-02-20 05:00:00 || steampipe.io | 2021-10-13 19:28:29 |+--------------+---------------------+
What is Zero-ETL?
Your cloud is a live database that changes fast. Don't wait on ETL to sync, or rely on old data. Crunch it where it's born, fueling new use cases and swift decisions.
Use Cases
You've got questions,
Steampipe has answers.
Which users have MFA enabled right now?
Complianceselect id, display_name, real_name, has_2fafrom slack_user;
What security groups are open to the world?
Securityselect group_name, group_idfrom aws_vpc_security_group_rulewhere type = 'ingress' and cidr_ip = '0.0.0.0/0';
Which resources aren't tagged correctly?
Operationsselect id, namefrom azure_compute_imagewhere tags -> 'owner' is null or tags -> 'app_id' is null;
What storage volumes are not in use?
Costselect volume_id, volume_typefrom aws_ebs_volumewhere attachments is null;
How It Works
Get Zero-ETL superpowers in < 60 seconds
Install your first plugin
Steampipe relies on plugins to implement the specific interfaces to cloud services, files, and other resources. Without a plugin, there is nothing to query!
$ steampipe plugin install aws⠇ Installing plugin aws...Installed plugin: aws
Browse available tables
Use one of Steampipe's 500+ data sources or roll your own. Explore metadata and documentation for our community plugins on the Steampipe Hub.
> .tables+----------------------+-------------------------+| Table | Description |+----------------------+-------------------------+| aws_ebs_snapshot | AWS EBS Snapshots || aws_ebs_volume | AWS EBS Volumes || aws_iam_user | AWS IAM Users || aws_iam_role | AWS IAM Roles | ... ...| aws_vpc_route_table | AWS VPC Route Tables || aws_vpc_subnet | AWS VPC Subnets |+----------------------+-------------------------+
Explore some metadata
Steampipe organizes your cloud metadata into tables and fields that are easily discoverable and readable by humans!
> .inspect aws.aws_iam_role+---------------------------+--------------------------+-----------------------------------------------------------------+| column | type | description |+---------------------------+--------------------------+-----------------------------------------------------------------+| name | text | The friendly name that identifies the role. || role_id | text | The stable and unique string identifying the role. || path | text | The path to the role. || arn | text | The Amazon Resource Name (ARN) specifying the role. || create_date | timestamp with time zone | The date and time when the role was created. | ... ... ...| assume_role_policy | jsonb | The policy that grants an entity permission to assume the role. || tags_src | jsonb | A list of tags that are attached to the role. |+---------------------------+--------------------------+-----------------------------------------------------------------+
Write your first query
Every journey begins with the first step. Let us know what your first query was@steampipeio and we will send you a steampipe sticker.
> select create_date, arn from aws_iam_role;+---------------------------+--------------------------------------------------------------------------+| create_date | arn |+---------------------------+--------------------------------------------------------------------------+| 2018-03-19T04:19:30+05:30 | arn:aws:iam::123456789012:role/OrganizationAccountAccessRole || 2018-07-18T22:13:28+05:30 | arn:aws:iam::123456789012:role/EMR_EC2_DefaultRole || 2018-07-18T22:13:28+05:30 | arn:aws:iam::123456789012:role/EMR_DefaultRole || 2019-03-14T20:12:09+05:30 | arn:aws:iam::123456789012:role/service-role/AmazonAppStreamServiceAccess |+---------------------------+--------------------------------------------------------------------------+
Run from your own DB
Install Steampipe as a PostgreSQL FDW or SQLite extension and instantly query your infrastructure and other cloud APIs Zero-ETL.
> sqlite3
SQLite version 3.39.2 2022-07-21 15:24:47
sqlite> .load steampipe_plugin_steampipesqlite> .mode columnsqlite> select name, update_time from steampipe_registry_plugin limit 5;
select * from cloud;
Instantly query your cloud, code, logs & more with SQL. Build on thousands of open-source benchmarks & dashboards for security & insights.
Download CLI
Open source. No DB required.
Turbot Pipes →
Cloud. Free for developers!