• Overview
    • Enforce Policy as Code
    • Infrastructure as Code
    • Inject Secrets into Terraform
    • Integrate with Existing Workflows
    • Manage Kubernetes
    • Manage Virtual Machine Images
    • Multi-Cloud Deployment
    • Network Infrastructure Automation
    • Terraform CLI
    • Terraform Cloud
    • Terraform Enterprise
  • Registry
  • Tutorials
    • About the Docs
    • Intro to Terraform
    • Configuration Language
    • Terraform CLI
    • Terraform Cloud
    • Terraform Enterprise
    • Provider Use
    • Plugin Development
    • Registry Publishing
    • Integration Program
    • Terraform Tools
    • CDK for Terraform
    • Glossary
  • Community
GitHubTerraform Cloud
Download

    Terraform Enterprise Admin

  • Overview
    • Credentials
    • Hardware
      • Supported OS
      • RedHat Linux
      • CentOS Linux
      • Operational Mode
      • PostgreSQL
      • Minio Setup Guide
      • External Vault
    • Network
    • Docker Engine
  • Operational Modes
    • Overview
    • AWS Reference Architecture
    • Azure Reference Architecture
    • GCP Reference Architecture
    • VMware Reference Architecture
    • Pre-Install Checklist
      • 1. Run Installer
      • 2. Configure in Browser
      • Automated Installation
      • Active/Active
      • Initial User Automation
      • Encryption Password
    • Uninstall
    • Configuration
    • Team Membership
    • Attributes
    • Login
      • Sample Auth Request
      • ADFS
      • Azure Active Directory
      • Okta
      • OneLogin
    • Troubleshooting
    • Overview
      • Automated Recovery
      • Upgrades
      • Log Forwarding
      • Monitoring
      • Backups and Restores
      • Admin CLI Commands
      • Terraform Cloud Agents on TFE
      • Demo to Mounted Disk Migration
    • Terraform Cloud Agents on TFE
      • Accessing the Admin Interface
      • General Settings
      • Customization
      • Integration Settings
      • Managing Accounts & Resources
      • Module Sharing
      • Admin API
      • Updating Terraform Enterprise License
    • Terraform Enterprise Logs
    • Overview
    • Architecture Summary
    • Reliability & Availability
    • Capacity & Performance
    • Security Model
    • Overview
      • Overview
      • v202206-1
      • v202205-1
      • v202204-2
      • v202204-1
      • v202203-1
      • v202202-1
      • v202201-2
      • v202201-1
      • Overview
      • v202112-2
      • v202112-1
      • v202111-1
      • v202110-1
      • v202109-2
      • v202109-1
      • v202108-1
      • v202107-1
      • v202106-1
      • v202105-1
      • v202104-1
      • v202103-3
      • v202103-2
      • v202103-1
      • v202102-2
      • v202102-1
      • v202101-1
      • Overview
      • Overview
      • Overview
  • Support
  • Application Usage

  • Overview
  • Plans and Features
  • Getting Started
    • API Docs template
    • Overview
    • Account
    • Agent Pools
    • Agent Tokens
    • Applies
    • Audit Trails
    • Comments
    • Configuration Versions
    • Cost Estimates
    • Feature Sets
    • Invoices
    • IP Ranges
    • Notification Configurations
    • OAuth Clients
    • OAuth Tokens
    • Organizations
    • Organization Memberships
    • Organization Tags
    • Organization Tokens
    • Plan Exports
    • Plans
    • Policies
    • Policy Checks
    • Policy Sets
    • Policy Set Parameters
      • Modules
      • Providers
      • Private Provider Versions and Platforms
      • GPG Keys
    • Runs
      • Run Tasks
      • Stages and Results
      • Custom Integration
    • Run Triggers
    • SSH Keys
    • State Versions
    • State Version Outputs
    • Subscriptions
    • Team Access
    • Team Membership
    • Team Tokens
    • Teams
    • User Tokens
    • Users
    • Variables
    • VCS Events
    • Workspaces
    • Workspace-Specific Variables
    • Workspace Resources
    • Variable Sets
      • Overview
      • Module Sharing
      • Organizations
      • Runs
      • Settings
      • Terraform Versions
      • Users
      • Workspaces
    • Changelog
    • Stability Policy
    • Overview
    • Creating Workspaces
    • Naming
    • Terraform Configurations
      • Overview
      • Managing Variables
      • Overview
      • VCS Connections
      • Access
      • Drift Detection
      • Notifications
      • SSH Keys for Modules
      • Run Triggers
      • Run Tasks
    • Terraform State
    • JSON Filtering
    • Remote Operations
    • Viewing and Managing Runs
    • Run States and Stages
    • Run Modes and Options
    • UI/VCS-driven Runs
    • API-driven Runs
    • CLI-driven Runs
    • The Run Environment
    • Installing Software
    • Users
    • Teams
    • Organizations
    • Permissions
    • Two-factor Authentication
    • API Tokens
      • Overview
      • Microsoft Azure AD
      • Okta
      • SAML
      • Linking a User Account
      • Testing
    • Overview
    • GitHub.com
    • GitHub.com (OAuth)
    • GitHub Enterprise
    • GitLab.com
    • GitLab EE and CE
    • Bitbucket Cloud
    • Bitbucket Server and Data Center
    • Azure DevOps Services
    • Azure DevOps Server
    • Troubleshooting
    • Overview
    • Adding Public Providers and Modules
    • Publishing Private Providers
    • Publishing Private Modules
    • Using Providers and Modules
    • Configuration Designer
  • Migrating to Terraform Cloud
    • Overview
    • Using Sentinel with Terraform 0.12
    • Manage Policies
    • Enforce and Override Policies
    • Mocking Terraform Sentinel Data
    • Working With JSON Result Data
      • Overview
      • tfconfig
      • tfconfig/v2
      • tfplan
      • tfplan/v2
      • tfstate
      • tfstate/v2
      • tfrun
    • Example Policies
    • Overview
    • AWS
    • GCP
    • Azure
      • Overview
      • Service Catalog
      • Admin Guide
      • Developer Reference
      • Example Customizations
      • V1 Setup Instructions
    • Splunk Integration
    • Kubernetes Integration
    • Run Tasks Integration
    • Overview
    • IP Ranges
    • Data Security
    • Security Model
    • Overview
    • Part 1: Overview of Our Recommended Workflow
    • Part 2: Evaluating Your Current Provisioning Practices
    • Part 3: How to Evolve Your Provisioning Practices
    • Part 3.1: From Manual Changes to Semi-Automation
    • Part 3.2: From Semi-Automation to Infrastructure as Code
    • Part 3.3: From Infrastructure as Code to Collaborative Infrastructure as Code
    • Part 3.4: Advanced Workflow Improvements

  • Terraform Cloud Agents

  • Other Docs

  • Intro to Terraform
  • Configuration Language
  • Terraform CLI
  • Terraform Cloud
  • Terraform Enterprise
  • Provider Use
  • Plugin Development
  • Registry Publishing
  • Integration Program
  • Terraform Tools
  • CDK for Terraform
  • Glossary
Type '/' to Search

»Terraform Enterprise Operational Modes

You must choose an operational mode before you install and deploy Terraform Enterprise. Each operational mode changes where Terraform Enterprise stores its data.

»Terraform Enterprise Data

Terraform Enterprise uses the following types of data.

  • PostgreSQL Database: - Stateful Terraform Enterprise application data. This includes workspace settings, organization settings, run information, and user information.

  • Object Storage: - Artifacts that Terraform Enterprise produces during operation. This includes state files, plan files, run logs, configuration versions, etc.

  • Vault: - Encryption keys that encrypt and decrypt objects within object storage.

  • Redis: - Application coordination and data caching.

  • Configuration: - Configuration settings. This includes the hostname, object storage credentials, database credentials, concurrency settings, etc.

»Operational Modes

The following table summarizes where each Terraform Enterprise operational mode stores each type of application data.

Operational ModePostgreSQL DatabaseObject StorageVaultRedisConfiguration
External ServicesExternal, user-managed PostgreSQL databaseExternal, user-managed object storage locationPostgreSQL Database unless using External VaultDocker volume on the instanceDocker volume on the instance
Active/ActiveExternal, user-managed PostgreSQL databaseExternal, user-managed object storage locationPostgreSQL Database unless using External VaultExternal, user-managed Redis instanceDocker volume on the instance
Mounted DiskDirectory on the instance backed by user-managed persistent storageDirectory on the instance backed by user-managed persisent storagePostgreSQL Database unless using External VaultDocker volume on the instanceDocker volume on the instance

»External Services

The External Services operational mode stores the PostgreSQL Database and Object Storage data on an external PostgreSQL server and S3-compatible object storage. This allows you to backup, restore, and scale the PostgreSQL Database or Object Storage independently of the Terraform Enterprise instance.

You are responsible for providing and maintaining the external PostgreSQL server and S3-compatible object storage.

External Services stores configuration data on a Docker volume on the instance. Use replicatedctl app-config export to retrieve the configuration data.

»When to Use External Services

We recommend using External Services in the following use cases:

  • Your environment has an external PostgreSQL server and S3-compatible object storage.
  • You have experience managing a PostgreSQL server such as Amazon RDS for PostgreSQL, Google Cloud SQL for PostgreSQL, Azure Database for PostgreSQL, etc.
  • You have experience managing an S3-compatible object storage location such as AWS S3, Azure Blob Storage, Google Cloud Storage, MinIO, etc.
  • You want to use native backup and restore features provided by the external PostgreSQL server and S3-compatible object storage.

»Active/Active

The Active/Active operational mode stores the PostgreSQL Database and Object Storage data on an external PostgreSQL server and S3-compatible object storage. This allows you to backup, restore, and scale the PostgreSQL Database or Object Storage independently of the Terraform Enterprise instance. Additionally, Active/Active stores Redis data in an external Redis instance, allowing you to use multiple instances of Terraform Enterprise in an Active/Active architecture.

You are responsible for providing and maintaining the external PostgreSQL server, S3-compatible object storage, and Redis instance.

Active/Active stores configuration data on a Docker volume on the instance. Use replicatedctl app-config export to retrieve the configuration data.

»When to Use Active/Active

We recommend Active/Active for the following use cases:

  • Your environment has an external PostgreSQL server, S3-compatible object storage, and Redis instance.
  • You have experience managing a PostgreSQL server such as Amazon RDS for PostgreSQL, Google Cloud SQL for PostgreSQL, Azure Database for PostgreSQL, etc.
  • You have experience managing an S3-compatible object storage location such as AWS S3, Azure Blob Storage, Google Cloud Storage, MinIO, etc.
  • You have experience managing a Redis instance such as AWS ElastiCache for Redis, Azure Cache for Redis, Google Cloud Memorystore for Redis, etc.
  • You want to use native backup and restore features provided by the external PostgreSQL server and S3-compatible object storage.
  • You want to scale beyond a single instance of Terraform Enterprise to increase reliability and performance.

»Mounted Disk

The Mounted Disk operational mode stores the PostgreSQL Database and Object Storage data in a directory on the instance. It is expected that this directory is backed by persistent storage that you can mount to the instance. This allows you to backup and restore the PostgreSQL Database or Object Storage data independently of the Terraform Enterprise instance.

You are responsible for providing and maintaining the persistent storage.

Mounted Disk stores configuration data on a Docker volume on the instance. Use replicatedctl app-config export to retrieve the configuration data.

»When to Use Mounted Disk

We recommend Mounted Disk for the following use cases:

  • Your environment does not have an external PostgreSQL server or S3-compatible object storage.
  • You have experience managing persistent storage such as an AWS EBS volume, an Azure Managed Disk, a Google Cloud Persistent Disk, an iSCSI location, etc.
  • You are familiar with using tools like cp, scp, and rsync to backup and restore data.
  • Overview
  • Docs
  • Extend
  • Privacy
  • Security
  • Press Kit
  • Consent Manager