Take full control of your infrastructure automation
Terrateam's flexible and expressive workflows let you customize every step with no brittle scripts and no limits. Just reliable GitOps orchestration.
The Terrateam way
Layered Runs
Dependency-aware execution
Run networking before databases, databases before apps. Terrateam handles the ordering automatically.
Parallel execution where possible
Independent components run in parallel, cutting deployment time by 50-80% for complex stacks.
Dependency-Aware Execution
Apply Requirements
Granular approval controls
Different rules for dev vs. prod, networking vs. apps. Use your existing GitHub teams for permissions.
Multi-approver workflows
Require sign-off from multiple teams for critical changes. Security, platform, and app teams can all have a say.
Approval Workflow
Gatekeeper
Policy with override capability
Block changes that violate policy, but allow authorized overrides with proper approvals and audit trail.
Real-world compliance
Enforce security without blocking legitimate work. Perfect for SOC 2, ISO 27001, and other compliance frameworks.
Gatekeeper Override Flow
Tag-Based Routing
Flexible targeting
Route changes to the right teams and environments using tags, directories, or branch patterns.
Multi-team orchestration
Segment infrastructure by team, environment, or service. Perfect for complex organizations with many stakeholders.
Tag-Based Workflow Routing
Drift Detection
Catch unauthorized changes
Automatically detect when infrastructure drifts from the desired state, whether from manual changes or external factors.
Proactive remediation
Create issues or trigger workflows to fix drift automatically. Keep your infrastructure in the desired state.
Drift Detection Workflow
Unlimited Parallelism
Scale without limits
Run hundreds of applies in parallel. Skip the queuing and scale without compromise.
Efficient resource usage
Optimize your CI/CD pipeline with parallel execution that respects dependencies.
Parallel Execution
Flexible Configuration
Centralized or distributed
Use `.terrateam/config.yml` or centralize behavior across repos. Supports dynamic config builders for complex workflows.
Adaptable to your structure
Works with any repo organization, from monorepos to microservices, without forcing a specific pattern.
Configuration Options
.terrateam/config.yml
config_url: "https://..."
config_builder: "./build.sh"
template: "standard-app"
Built-in Cost Estimation
Prevent cost surprises
See cost impact before you apply. Integrates cleanly into every PR workflow.
Budget enforcement
Set cost thresholds and automatically block changes that would exceed your budget.
Cost Estimation Example
How Terrateam orchestrates infrastructure
1. Pull Request
Infrastructure changes proposed
2. Plan
Terraform plan generated
3. Policy Check
Security & compliance validation
4. Approval
Team-based review
5. Apply
Changes deployed
git commit
git push
PR created
terraform init
terraform plan
plan.out
opa eval
conftest
policy.rego
RBAC check
team approval
gatekeeper
terraform apply
plan.out
state updated
Terrateam orchestrates the complete GitOps workflow for infrastructure changes
Your workflow, not ours
Terrateam doesn't force a new model. It wraps around your repo structure, branching model, team approvals, and tagging strategy. No vendor lock-in, no opinionated rewrites.
Terrateam adapts to your workflow
Terrateam integrates with your existing tools and processes without disruption
Still wrestling with custom Terraform scripts?
See how Terrateam replaces brittle CI with GitOps-native automation in a 30-minute demo. No sales pitch, just practical solutions for real infrastructure teams.
Terrateam is built for real orchestration, not just execution
We handle targeting, approval, security, and drift. All through a flexible Git-native configuration that integrates with your existing tools and processes.
No platform migration, no workflow redesign, no learning curve. Terrateam enhances your pull request workflow with the enterprise controls you need, without disrupting how your team works.
GitOps Orchestration
Terrateam lives where your code lives. Pull requests trigger plans, comments show results, and merges trigger applies. All with proper locking, targeted workflows, and security.
Declarative Configuration
Define your entire workflow in a simple YAML file. No custom scripts, no complex CI pipelines, just clear, version-controlled configuration.
Dependency-Aware Execution
Run independent components in parallel while respecting dependencies. Define execution layers and dependencies to ensure proper ordering.
Terrateam Configuration
# .terrateam/config.yml # Auto-apply Terraform changes after merge to main branch when_modified: autoapply: true # Enable automatic dependency detection indexer: enabled: true # Define directory dependencies to control apply order dirs: environments/production/database: when_modified: depends_on: 'dir:environments/production/network' environments/production/application: when_modified: depends_on: 'dir:environments/production/database' # Apply approvals to enforce team-based gatekeeping apply_requirements: checks: - tag_query: "dir:environments/production/**" approved: enabled: true any_of: ["team:platform"] - tag_query: "iam in dir" approved: enabled: true all_of: ["team:security"] # Custom workflow with policy enforcement during plan workflows: - tag_query: "dir:environments/production/**" plan: - type: init - type: plan - type: conftest gate: token: denied-resources any_of: ["team:platform"]
Control and speed shouldn't be at odds
Most tools promise 'Terraform automation' but leave the hard parts like approval logic, dependency ordering, targeting, and RBAC up to you. That leads to brittle CI logic and risky deploys.
Common infrastructure workflow challenges
Traditional infrastructure workflows create bottlenecks and security risks at each stage
When workflows lack expressiveness, teams pile on the technical debt
Engineers copy scripts across repos. Drift bypasses CI. Module updates accidentally apply to prod.
You shouldn't rebuild workflows or switch platforms for proper orchestration. Terrateam adds security and control to your existing GitHub processes.
The Real-World Pain
Wasted Engineering Time
"We spent 3 months building custom CI pipelines just to handle our Terraform workflow needs."
Security Gaps
"Our approval process is a GitHub comment that says 'LGTM'. There's no actual enforcement."
Merge Conflicts
"We have no way to know if one PR will conflict with another until it's too late."
The Brittle CI Approach
# Typical CI script that tries to handle orchestration name: Terraform on: pull_request: paths: - 'terraform/**' jobs: terraform: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Check if prod directory id: check_prod run: | if [[ "${{ github.event.pull_request.base.ref }}" == "main" && "${{ contains(github.event.pull_request.files.*.filename, 'prod/') }}" == "true" ]]; then echo "::set-output name=is_prod::true" else echo "::set-output name=is_prod::false" fi - name: Check approvals if: steps.check_prod.outputs.is_prod == 'true' run: | # Brittle approval check that breaks easily APPROVALS=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews" | jq '[.[] | select(.state == "APPROVED")] | length') if [[ $APPROVALS -lt 2 ]]; then echo "Error: Production changes require at least 2 approvals" exit 1 fi # More brittle logic...

"We now have more confidence in our deployments, better security with our service accounts, and an overall improved workflow that our entire team appreciates."
Marko Kuljanski, Engineering at Patients Know Best
The most expressive infrastructure orchestration engine
Stop compromising on your infrastructure workflows. Configure any deployment pattern, integrate with any tool, deploy anywhere. All through simple pull requests.