Configuration
Set up the Streamkap Terraform provider with API client credentials, write your first main.tf file, and run terraform init, plan, and apply.
This guide walks you through configuring the Streamkap Terraform Provider and creating your first infrastructure-as-code configuration.
Prerequisites
Before you begin, ensure you have:
- Terraform installed (version 1.0 or later)
- A Streamkap account with access to a Project
- API credentials (Client ID and Secret) from Streamkap
Step 1: Create API Credentials
Navigate to API Tokens
Log in to your Streamkap account and navigate to your project’s Project Settings.
Open API Tokens
Click on the API tab to access API Tokens.
Create a new token
Click Create API Token, enter a description (e.g., “Terraform automation”), select the appropriate role(s), and click Create Token.
Save credentials securely
Copy the Client ID and Token immediately. The token is only shown once.
Step 2: Configure Credentials
Set your credentials as environment variables. This is the recommended approach for security.
export STREAMKAP_CLIENT_ID="your-client-id"
export STREAMKAP_SECRET="your-token-secret"To persist these across terminal sessions, add them to your ~/.bashrc, ~/.zshrc, or equivalent shell configuration file.
$env:STREAMKAP_CLIENT_ID = "your-client-id"
$env:STREAMKAP_SECRET = "your-token-secret"For persistent environment variables, set them via System Properties or your PowerShell profile.
set STREAMKAP_CLIENT_ID=your-client-id
set STREAMKAP_SECRET=your-token-secretStep 3: Create Your Terraform Configuration
Create a new directory for your Terraform project and add the following main.tf file.
v3 is the stable release line and supports every connector, transform, and data source. See the Resource Reference for the full list.
terraform {
required_providers {
streamkap = {
source = "streamkap-com/streamkap"
version = "3.0.0"
}
}
}
provider "streamkap" {
# Credentials are loaded from environment variables:
# STREAMKAP_CLIENT_ID and STREAMKAP_SECRET
}
Step 4: Initialize and Apply
Run the following commands in your project directory:
# Initialize Terraform (downloads the provider)
terraform init
# Preview what will be created
terraform plan
# Apply the configuration (when you have resources defined)
terraform apply
Provider Configuration Reference
The Streamkap provider supports the following configuration options:
| Parameter | Environment Variable | Default | Description |
|---|---|---|---|
client_id |
STREAMKAP_CLIENT_ID |
- | Your Streamkap API client ID |
secret |
STREAMKAP_SECRET |
- | Your Streamkap API token/secret |
host |
STREAMKAP_HOST |
https://api.streamkap.com |
API endpoint URL |
Project Structure Recommendation
For larger projects, organize your Terraform files like this:
streamkap-terraform/
├── main.tf # Provider configuration
├── variables.tf # Variable definitions
├── sources.tf # Source connector resources
├── destinations.tf # Destination connector resources
├── pipelines.tf # Pipeline resources
├── outputs.tf # Output values
├── terraform.tfvars # Variable values (add to .gitignore!)
└── .gitignore # Exclude sensitive files
Here is an example .gitignore file you can use to exclude sensitive files:
# Terraform state files (contain sensitive data)
*.tfstate
*.tfstate.*
# Terraform variable files with secrets
terraform.tfvars
*.auto.tfvars
# Terraform cache
.terraform/
# Crash logs
crash.log
crash.*.log
Next Steps
- Browse the Resource Reference for all available Streamkap resources
- Browse the Streamkap Terraform Provider on the HashiCorp Registry for full attribute documentation
- Learn about Terraform state management for team workflows
- See API Tokens for more details on managing Streamkap credentials