rudder-terraform-setup — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited rudder-terraform-setup (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Install Terraform (if missing), configure the RudderStack provider, and verify setup.
1. Check Terraform ──► terraform version
│
├── Found ──► Skip to Provider Setup
│
└── Not Found ──► Guide Installation
│
2. Configure Provider ◄─────────────┘
│
└── Add required_providers block
3. Initialize ──► terraform init
│
└── Downloads provider from registry
4. Configure Auth ──► Check RUDDERSTACK_ACCESS_TOKEN
│
└── Verify with terraform planterraform versionIf found: Shows version. Skip to Step 2.
If not found: Install Terraform.
#### macOS (Homebrew)
brew tap hashicorp/tap
brew install hashicorp/tap/terraform#### Linux (apt)
# Add HashiCorp GPG key
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
# Add repository
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
# Install
sudo apt update && sudo apt install terraform#### Alternative: tfenv (Version Manager)
# macOS
brew install tfenv
# Then install Terraform
tfenv install latest
tfenv use latest#### Verify Installation
terraform versionExpected: Terraform v1.x.x
In your Terraform project directory, create versions.tf:
terraform {
required_version = ">= 1.0"
required_providers {
rudderstack = {
source = "rudderlabs/rudderstack"
version = "~> 4.3.1"
}
}
}
provider "rudderstack" {
# access_token read from RUDDERSTACK_ACCESS_TOKEN env var
}Visit https://registry.terraform.io/providers/rudderlabs/rudderstack/latest for the current version.
terraform initExpected output:
Initializing provider plugins...
- Finding rudderlabs/rudderstack versions matching "~> 4.3.1"...
- Installing rudderlabs/rudderstack v4.3.1...
- Installed rudderlabs/rudderstack v4.3.1
Terraform has been successfully initialized!terraform providersShould show rudderlabs/rudderstack in the list.
Get your access token from RudderStack dashboard: Settings → Access Tokens
export RUDDERSTACK_ACCESS_TOKEN="your-token-here"For permanent setup, add to your shell profile (~/.zshrc or ~/.bashrc):
echo 'export RUDDERSTACK_ACCESS_TOKEN="your-token-here"' >> ~/.zshrc
source ~/.zshrcCreate a minimal main.tf to test:
# main.tf - minimal test configuration
data "rudderstack_source" "test" {
# This will fail if auth is wrong
}Then run:
terraform planIf authenticated: Shows "No changes" or data source info.
If not authenticated: Shows authentication error.
.tf filesRUDDERSTACK_ACCESS_TOKEN.env and *.tfvars containing secrets to .gitignoreprovider "rudderstack" {
# Token from env var (recommended)
# access_token = var.rudderstack_token # Alternative: use variable
# Optional: Override API URL (default: https://api.rudderstack.com/v2)
# api_url = "https://api.rudderstack.com/v2"
}| Issue | Solution |
|---|---|
provider not found | Run terraform init |
unauthorized | Check RUDDERSTACK_ACCESS_TOKEN is set correctly |
version constraints | Update version in required_providers block |
init fails | Check network; try with -upgrade flag |
After setup completes:
/rudder-environment-check to verify full environment/rudder-terraform-workflow for plan/apply cycles~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.