francois2metz/scalingo

GitHub
steampipe plugin install francois2metz/scalingosteampipe plugin install francois2metz/scalingo

Scalingo + Steampipe

Scalingo provides on-demand cloud computing platforms and APIs to authenticated customers on a metered pay-as-you-go basis.

Steampipe is an open source CLI to instantly query cloud APIs using SQL.

For example:

select
name,
region,
url
from
scalingo_app
+--------------------+----------------+------------------------------------------------------+
| name | region | url |
+--------------------+----------------+------------------------------------------------------+
| caresteouvert-map | osc-fr1 | https://caresteouvert.fr |
| caresteouvert-api | osc-secnum-fr1 | https://caresteouvert-api.osc-secnum-fr1.scalingo.io |
+--------------------+----------------+------------------------------------------------------+

Documentation

Get started

Install

Download and install the latest Scalingo plugin:

steampipe plugin install francois2metz/scalingo

Configuration

Installing the latest scalingo plugin will create a config file (~/.steampipe/config/scalingo.spc) with a single connection named scalingo:

connection "scalingo" {
plugin = "francois2metz/scalingo"
# API token for your scalingo instance (required).
# Get it on: https://dashboard.scalingo.com/account/tokens
# token = "tk-us-0000-0000-000000000-000000000000000"
# Regions
# By default the scalingo plugin will only use the osc-fr1 region
# regions = ["osc-fr1", "osc-secnum-fr1"]
}

You can also use environment variables:

  • SCALINGO_TOKEN for the API token (ex: tk-us-00000-0000-000)

Get Involved

Multi-Account Connections

You may create multiple scalingo connections:

connection "scalingo_osc" {
plugin = "francois2metz/scalingo"
regions = ["osc-fr1"]
token = "tk-us-00000-0000-000"
}
connection "scalingo_secnum" {
plugin = "francois2metz/scalingo"
regions = ["osc-secnum-fr1"]
token = "tk-us-00000-0000-000"
}

Each connection is implemented as a distinct Postgres schema. As such, you can use qualified table names to query a specific connection:

select * from scalingo_osc.scalingo_app

You can multi-account connections by using an aggregator connection. Aggregators allow you to query data from multiple connections for a plugin as if they are a single connection:

connection "scalingo_all" {
plugin = "francois2metz/scalingo"
type = "aggregator"
connections = ["scalingo_osc", "scalingo_secnum"]
}

Querying tables from this connection will return results from the scalingo_osc, and scalingo_secnum connections:

select * from scalingo_all.scalingo_app

Steampipe supports the * wildcard in the connection names. For example, to aggregate all the Scalingo plugin connections whose names begin with scalingo_:

connection "scalingo_all" {
type = "aggregator"
plugin = "francois2metz/scalingo"
connections = ["scalingo_*"]
}