Skip to main content

@swampadmin/data-pipeline

v2026.02.01.0

ETL data pipeline with source connectors, S3 sinks, and integrated secret management.

Note: Requires @swampadmin/vault-secrets for database credential rotation.

Supports incremental extraction, partitioned writes, and automatic compaction for cost-efficient storage.

Repository

https://github.com/swamp-club/data-pipeline

Labels

dataetlpipelineanalytics

Install

$ swamp extension pull @swampadmin/data-pipeline

Release Notes

First stable release.

  • Postgres source with CDC and batch modes
  • S3 sink with Parquet and JSON output
  • Daily sync workflow with extract → load → compact stages
  • Env-based vault for local development

@swampadmin/data-pipeline/postgres-sourcev1.0.0postgres-source.ts

Global Arguments

ArgumentTypeDescription
connection_stringstringDatabase connection URL
schema?stringDatabase schema name
connectconnect operation
ArgumentTypeDescription
connection_stringstringDatabase connection URL
pool_size?numberConnection pool size
queryquery operation
ArgumentTypeDescription
sqlstringSQL query to execute
params?arrayQuery parameters
streamstream operation
ArgumentTypeDescription
tablestringSource table name
batch_size?numberRows per batch

Resources

postgres-source.state(persistent)— Managed resource state
postgres-source.lock(ephemeral)— Concurrency lock
@swampadmin/data-pipeline/s3-sinkv1.0.0s3-sink.ts

Global Arguments

ArgumentTypeDescription
connection_stringstringDatabase connection URL
schema?stringDatabase schema name
writewrite operation
ArgumentTypeDescription
pathstringDestination path
format?enumOutput format (parquet, json, csv)
partitionpartition operation
ArgumentTypeDescription
namestringResource name
compactcompact operation
ArgumentTypeDescription
namestringResource name

Files

s3-sink.log(text/plain)— Operation audit log
s3-sink.json(application/json)— Structured output

Daily Data Syncdaily-sync

Daily Data Sync workflow

daily-sync-jobExecute Daily Data Sync
1.Extract@swampadmin/data-pipeline/postgres-source.stream— Extract step
2.Load@swampadmin/data-pipeline/s3-sink.write— Load step
3.Compact@swampadmin/data-pipeline/s3-sink.compact— Compact step

env-credentials
vault-providerenv-vault.ts

env-credentials secrets provider