J-Fall 2023: Introducing Steampipe – select * from cloud – Lucas Jellema
Retrieving the current status of cloud resources, checking validity of infrastructure as code definitions, comparing configuration of platform resources in different environments: all of this can be a hassle. With CLIs, REST APIs, configuration files, probably throwing in some spreadsheets. It is not that straightforward to quickly learn the actual situation in a usable format. Or is it? Enter Steampipe. This tool allows us to write plain SQL queries to retrieve AWS EC2 instance settings, Azure Functions configurations, Google Storage Bucket details as well as data from over 150 other platforms, servers, tools and file formats. Multiple assets can be inspected in a single query, with data filtered (WHERE), aggregated (GROUP BY), and combined (JOIN, UNION, MINUS) with regular SQL syntax. Steampipe leverages PostgreSQL and its foreign data wrapper mechanism to turn these SQL queries into the appropriate API calls. This session shows you how to get started with Steampipe, how to use it in CLI and batch mode, how to combine it with regular SQL tables. It introduces the mods for quality checks and dashboards for overviews on top of the Steampipe plugins. Finally you will see a glimpse of how easy it is to write your own Steampipe plugin – to add select * from “your favorite type of resource”. Pitch: Steampipe is a simple and lightweight tool that makes it dead easy to inspect hundreds of different types of resources using plain SQL. These resources can be VMs, databases, storage units or any other type in all public clouds, as well as folders in a mail server, repositories on GitHub, Profiles on LinkedIn, Toots on Mastodon or Pods on Kubernetes. With Steampipe, you can forget about CLIs, REST APIs and a zillion different configuration file formats.