Terraprep is a command-line utility for configuring and deploying Terraform or Opentofu remote backends. It supports multiple cloud platforms, integrates with existing workflows, and provides predefined starter templates for infrastructure deployment.
Allows devops and infrastructure teams to deploy and configure remote backends for terraform on public cloud platforms.
Supports major cloud platforms including AWS, Google Cloud, and Azure, integrating with existing pipelines.
Handles remote backend storage creation with configurations, allowing teams to streamline their workflows.
Works with current Terraform workflows, enabling operations like init, plan, apply, and destroy.
Offers predefined, reusable terraform CDK and pipeline templates to quickly deploy infrastructure.
Generates templates and directory structures for enterprise landing zone deployments.
Terraprep lets you create multiple types of remote backends without manual intervention, managing creation before running Terraform.
Generates starter templates specific to remote backends for quick initiation and testing of Terraform configurations.
Terraprep can be integrated into new or existing pipelines by adding steps before running Terraform, complementing it as a command-line utility.
You can manually download Terraprep binaries from their Releases page based on your platform.
Instructions to download and install Terraprep using Homebrew. Commands for fetching and unzipping the files are provided.
Instructions to download and install Terraprep using apt-get. Commands for fetching and unzipping the files are provided.
Instructions to download and install Terraprep using Chocolatey or PowerShell. Specific commands for installation are provided.
Terraprep allows you to create remote backends without using a cloud platform console or portal. It involves configuring the backend using Terraprep commands, such as initializing Terraprep and creating the backend from configuration files.
Terraprep helps in rapidly testing existing Terraform templates with the created backend. You can create PostgreSQL or similar backends and use Terraform commands to integrate existing infrastructure templates.
Users can create remote backends via the command line without needing interactive prompts. This feature allows users to input values directly via command-line arguments, thus increasing efficiency in backend setup.
Provides support for managing resources using the Azure backend.
Facilitates resource management using the Google Cloud Platform backend.
Offers command functionalities for interacting with Postgres databases.
Manage the essential functionality of Terraprep. These are used to initialize, manage, view both core and backend configurations, and validate dependencies.
Manage and configure Terraprep using supported remote backends. They also generate Terraform templates with backend configurations compatible with Terraform.
Global commands/subcommands and flags are available for use with both core and backend commands. Users should refer to the specific sections for understanding command usage.
Initializes the terraprep configuration. It is recommended to run this command when using terraprep for the first time.
Runs validation steps against dependencies needed by terraprep to carry out tasks.
Allows management and viewing of current running configurations for terraprep. Includes the 'show' subcommand to display stored configurations.
Used with the config command to show the core configuration of terraprep.
Used with the config command to show the postgres backend configuration.
Used with the config command to show the gcp backend configuration.
Supports creation of GCS remote backend using the command 'gcp'. Provides a specific command to implement this backend.
Supports creation of Postgres remote backend using the command 'pg'. Provides a specific command to implement this backend.
Provides support for creating backends on Google Cloud Platform with complimentary Terraform templates.
Offers support for creating Postgres backends with complimentary Terraform templates.
Terraprep supports creation of GCS remote backends. Provides detailed documentation via the GCP backend command.
Terraprep supports creation of Postgres remote backends. Detailed instructions can be accessed using the PG backend command.
Terraprep supports creation of AzureRM remote backends. Further details available through the Azure backend command.
This feature provides support for creating backends using Azurerm, along with complimentary Terraform templates.
Use the '-v' or '--version' flag to see the version information of Terraprep.
Use the '-h' or '--help' flag to access more details about the available commands, subcommands, or flags for Terraprep.
Initializes the corresponding backend configuration for the selected backend. Usage: terraprep <supported-backend> init.
Creates the backend resources on the selected backend. Usage: terraprep <supported-backend> create.
Provides details of the selected backend. Usage: terraprep <supported-backend> create backend.
Generates the terraform templates based on the configurations. Usage: terraprep <supported-backend> create terraform.
The 'gcp' backend command leverages the Google Cloud SDK for authentication and supports the creation of new Google Cloud Platform storage buckets as a remote backend. Users need to have the gcloud CLI installed, configured, and authenticated against Google Cloud Platform to use this command.
Terraprep supports the creation of new Azure storage accounts with blob containers using the `terraprep postgres` command.
The command supports several environment variables for backend setup, including Pghost, Pgport, Pguser, Pgpassword, Pgsslmode, and Pgdatabase. If not set, terraprep prompts for values or suggests defaults.
Terraprep ensures that plaintext values of the $PGPASSWORD environment variable are not stored.
Leverages the Azure SDK for authentication. Requires the Azure CLI to be installed, configured, and authenticated against the Azure cloud platform. Supports the creation of new Google Cloud Platform storage buckets as a remote backend.