Skip to content

Config File

Skippr is configured via skippr.yaml in the working directory.

Format

yaml
project: mssql_migration

warehouse:
  kind: snowflake
  database: ANALYTICS
  schema: RAW
  warehouse: COMPUTE_WH
  role: ACCOUNTADMIN

source:
  kind: mssql
  connection_string: ${MSSQL_CONNECTION_STRING}

dbt:
  target_schema: custom_name
  silver_suffix: silver
  gold_suffix: gold

Fields

project (required)

The project identifier. Used as:

  • The pipeline name for extract-and-load
  • The default dbt schema prefix (e.g. mssql_migration_silver, mssql_migration_gold)

warehouse (required)

The destination warehouse connection. Set kind to the warehouse type, then add the fields that warehouse requires. Authentication is always via environment variables, never the config file.

Example (Snowflake):

yaml
warehouse:
  kind: snowflake
  database: ANALYTICS
  schema: RAW
  warehouse: COMPUTE_WH
  role: ACCOUNTADMIN

Every warehouse follows the same pattern — set kind and the warehouse-specific fields. For the full list of supported warehouses and their configuration options, see Destination Connectors:

Warehousekind valueConnector docs
SnowflakesnowflakeSnowflake
BigQuerybigqueryBigQuery
PostgreSQLpostgresPostgreSQL
RedshiftredshiftRedshift
ClickHouseclickhouseClickHouse
MotherDuckmotherduckMotherDuck
AthenaathenaAthena
DatabricksdatabricksDatabricks
SynapsesynapseSynapse

source (optional)

The data source for extraction. When absent, the pipeline skips extraction and starts at the modeling phase. Set kind to the source type, then add the source-specific fields.

Example (MSSQL):

yaml
source:
  kind: mssql
  connection_string: ${MSSQL_CONNECTION_STRING}

For the full list of supported sources and their configuration options, see Source Connectors.

schema_sink (optional)

Register table metadata in an external catalog (e.g. AWS Glue for Athena).

yaml
schema_sink:
  kind: glue
  glue_database_name: my_glue_database
FieldDescription
kindglue
glue_database_nameGlue catalog database name

dbt (optional)

Override dbt naming conventions.

FieldDefaultDescription
target_schemaSame as projectBase schema name for dbt materialisation
silver_suffixsilverSuffix for silver/staging tier
gold_suffixgoldSuffix for gold/mart tier

With project: analytics, dbt materialises to:

  • analytics_silver (staging models)
  • analytics_gold (mart models)

Environment variable substitution

Use ${ENV_VAR} syntax anywhere in skippr.yaml for interpolation. For security best practices, we strongly advise against storing the secure value in skippr.yaml. Use environment variable interpolation instead: replace the field value with your own ${ENV_VAR} reference.

yaml
source:
  kind: mssql
  connection_string: ${MSSQL_CONNECTION_STRING}

Set the env var before running skippr:

macOS / Linux

bash
export MSSQL_CONNECTION_STRING="server=tcp:127.0.0.1,1433;database=testdb;user id=sa;password=YourPass;TrustServerCertificate=true"

Windows PowerShell

powershell
$env:MSSQL_CONNECTION_STRING = "server=tcp:127.0.0.1,1433;database=testdb;user id=sa;password=YourPass;TrustServerCertificate=true"

Windows Command Prompt

cmd
set MSSQL_CONNECTION_STRING=server=tcp:127.0.0.1,1433;database=testdb;user id=sa;password=YourPass;TrustServerCertificate=true