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:

| name | region | url |
| caresteouvert-map | osc-fr1 | |
| caresteouvert-api | osc-secnum-fr1 | |


Get started


Download and install the latest Scalingo plugin:

steampipe plugin install francois2metz/scalingo


CredentialsScalingo requires a token.
PermissionsTokens have the same permissions as the user who creates them.
RadiusEach connection represents a single Scalingo account.
Resolution1. Credentials explicitly set in a steampipe config file (~/.steampipe/config/scalingo.spc)
2. Credentials specified in environment variables, e.g., SCALINGO_TOKEN.


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:
# This can also be set via the `SCALINGO_TOKEN` environment variable.
# 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"]

Credentials from Environment Variables

The Scalingo plugin will use the following environment variables to obtain credentials only if other argument (token) is not specified in the connection:

export SCALINGO_TOKEN=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_*"]