Terrateam ships in two editions: the Open Source Edition (MPL-2.0, free) and the Enterprise Edition (commercial, included with Hosted SaaS or available via a self-hosted Enterprise license). This page is the canonical reference for which features live in each edition.
The Open Source Edition includes the full core Terrateam workflow engine — the same engine that the Enterprise Edition (and Hosted SaaS) is built on, minus the Enterprise-only governance features listed below. It is licensed under MPL-2.0, the source is on GitHub, and you can self-host it on Docker, Kubernetes, or AWS ECS.
Included:
The complete pull-request automation engine: triggers, dirspaces, plan and apply, pre- and post-merge runs, automerge, rollbacks
The full configuration system (.terrateam/config.yml) including hooks, custom workflows, parallel runs, batch runs, layered runs, stacks, tag queries, and the config builder
All IaC tool integrations (Terraform, OpenTofu, Terragrunt, Pulumi, CDKTF) and all cloud provider integrations
The Enterprise Edition includes everything in the Open Source Edition, plus the governance features below. It is included automatically with all Hosted SaaS plans, and is available for self-hosted deployments via an Enterprise license.
Access Control / RBAC
Fine-grained policies that control who can plan, apply, apply-force, apply-autoapprove, unlock, and update CI or Terrateam config — by user, GitHub team, or repo role (admin, maintain, write, triage, read). Rules can be scoped with tag queries and combined with super-approval. See RBAC and the access_control reference.
CODEOWNERS Enforcement
The require_completed_reviews apply requirement enforces that all CODEOWNERS-required reviewers have approved a pull request before any apply can run. See the CODEOWNERS guide.
Gatekeeper
Manual approval gates inside workflow steps. When a gated step (security scan, policy check, custom validation) fails, the workflow pauses and posts an approval request — authorized users approve via a terrateam gate approve <token> PR comment to let the workflow continue. See Gatekeeper.
Centralized Configuration
Maintain global defaults, global overrides, per-repo defaults, per-repo overrides, and forced configurations in a single terrateam repository, layered onto each repo’s local .terrateam/config.yml. See Centralized Config.
Multiple Drift Schedules
Configure more than one drift schedule per repository (for example, an hourly tag-scoped schedule for production plus a daily schedule for staging). The Open Source Edition supports a single schedule per repo. See Drift Detection.
API Access Tokens
Programmatic API access via POST /api/v1/{vcs}/access-token. Create, list, refresh, and delete scoped tokens for KV-store reads/writes and other operations. See Access Tokens API.
What happens if I enable an Enterprise feature in Open Source?
Terrateam validates every repo configuration when it loads. If your .terrateam/config.yml enables an Enterprise-only setting on an Open Source server, Terrateam rejects the config and posts a comment on the pull request explaining which feature requires Enterprise. The feature does not silently no-op.
The configurations that are rejected on Open Source are:
access_control.enabled: true
More than one entry under drift.schedules
Any apply_requirements.checks[].approved.require_completed_reviews: true
Calling terrateam gate approve <token> (or any workflow gate with a token)
Centralized Configuration and the API access-token endpoints are simply not present on Open Source — the Open Source server only reads each repo’s local .terrateam/config.yml, and the access-token routes are not registered.