All resources are documented with full attribute details and examples on the HashiCorp Registry.
Sources
| Resource | Terraform Type | Registry Docs |
|---|
| PostgreSQL | streamkap_source_postgresql | View → |
| MySQL | streamkap_source_mysql | View → |
| MongoDB | streamkap_source_mongodb | View → |
| DynamoDB | streamkap_source_dynamodb | View → |
| SQL Server | streamkap_source_sqlserver | View → |
| Kafka Direct | streamkap_source_kafkadirect | View → |
| AlloyDB | streamkap_source_alloydb | View → |
| DB2 | streamkap_source_db2 | View → |
| DocumentDB | streamkap_source_documentdb | View → |
| Elasticsearch | streamkap_source_elasticsearch | View → |
| MariaDB | streamkap_source_mariadb | View → |
| MongoDB Hosted | streamkap_source_mongodbhosted | View → |
| Oracle | streamkap_source_oracle | View → |
| Oracle AWS | streamkap_source_oracleaws | View → |
| PlanetScale | streamkap_source_planetscale | View → |
| Redis | streamkap_source_redis | View → |
| S3 | streamkap_source_s3 | View → |
| Supabase | streamkap_source_supabase | View → |
| Vitess | streamkap_source_vitess | View → |
| Webhook | streamkap_source_webhook | View → |
Adding Tables to an Existing Source
To add tables to an existing CDC source via Terraform, use the table_include_list_user_defined attribute. This corresponds to the table.include.list.user.defined API parameter and lets you append tables without modifying the original table_include_list.
When you apply the updated configuration, Streamkap adds the specified tables to the source. If the pipeline has snapshot_new_tables = true, the new tables are automatically snapshotted.
resource "streamkap_source_postgresql" "example" {
name = "my-postgres-source"
database_hostname = var.hostname
database_port = 5432
database_user = var.username
database_password = var.password
database_dbname = "mydb"
database_sslmode = "require"
schema_include_list = "public"
table_include_list = "public.orders,public.customers"
# Add new tables to an existing source without modifying the original list
table_include_list_user_defined = "public.products,public.inventory"
signal_data_collection_schema_or_database = "streamkap"
slot_name = "streamkap_slot"
publication_name = "streamkap_pub"
}
The same approach works for MySQL, SQL Server, Oracle, and Db2 sources — use table_include_list_user_defined on the corresponding resource type. For Kafka Direct sources, use topic_include_list_user_defined instead.
Destinations
| Resource | Terraform Type | Registry Docs |
|---|
| Snowflake | streamkap_destination_snowflake | View → |
| Databricks | streamkap_destination_databricks | View → |
| ClickHouse | streamkap_destination_clickhouse | View → |
| PostgreSQL | streamkap_destination_postgresql | View → |
| S3 | streamkap_destination_s3 | View → |
| Iceberg | streamkap_destination_iceberg | View → |
| Kafka | streamkap_destination_kafka | View → |
| Azure Blob | streamkap_destination_azblob | View → |
| BigQuery | streamkap_destination_bigquery | View → |
| CockroachDB | streamkap_destination_cockroachdb | View → |
| DB2 | streamkap_destination_db2 | View → |
| GCS | streamkap_destination_gcs | View → |
| HTTP Sink | streamkap_destination_httpsink | View → |
| Kafka Direct | streamkap_destination_kafkadirect | View → |
| Motherduck | streamkap_destination_motherduck | View → |
| MySQL | streamkap_destination_mysql | View → |
| Oracle | streamkap_destination_oracle | View → |
| Pinecone | streamkap_destination_pinecone | View → |
| R2 | streamkap_destination_r2 | View → |
| Redis | streamkap_destination_redis | View → |
| Redshift | streamkap_destination_redshift | View → |
| SQL Server | streamkap_destination_sqlserver | View → |
| Starburst | streamkap_destination_starburst | View → |
| Weaviate | streamkap_destination_weaviate | View → |
| Resource | Terraform Type | Registry Docs |
|---|
| Map Filter | streamkap_transform_map_filter | View → |
| Enrich | streamkap_transform_enrich | View → |
| Enrich Async | streamkap_transform_enrich_async | View → |
| SQL Join | streamkap_transform_sql_join | View → |
| Rollup | streamkap_transform_rollup | View → |
| Fan Out | streamkap_transform_fan_out | View → |
Pipelines & Topics
| Resource | Terraform Type | Registry Docs |
|---|
| Pipeline | streamkap_pipeline | View → |
| Topic | streamkap_topic | View → |
| Tag | streamkap_tag | View → |
Data Sources
| Data Source | Terraform Type | Registry Docs |
|---|
| Tag | data.streamkap_tag | View → |
| Transform | data.streamkap_transform | View → |
| Topic | data.streamkap_topic | View → |
| Topics (list) | data.streamkap_topics | View → |
| Topic Metrics | data.streamkap_topic_metrics | View → |