If you’ve ever felt overwhelmed by infrastructure management using Terraform, let me introduce you to Terraformize. This powerful tool provides a straightforward REST API to apply, destroy, and plan Terraform modules — all without requiring you to dive deep into the Terraform code. However, recent changes in Hashicorp’s licensing have led to a pause in its development. Regardless, this blog will guide you through setting up Terraformize for your own projects, ensuring you can harness its potential while it’s still viable.
What You Need to Know About Terraformize
Before we begin, let’s break down how Terraformize operates, much like a concierge service at a luxury hotel. Just as a concierge takes your requests for room service, reservations, or transportation and manages all the backend systems to fulfill them, Terraformize takes your infrastructure requests and communicates smoothly with Terraform to apply or destroy your specified modules.
Getting Started with Terraformize
To run Terraformize, you’ll need to follow these steps:
- Run a Docker container with the Terraformize image
- Set up your Terraform modules correctly
- Utilize the provided REST API to interact with your infrastructure
1. Run Terraformize in a Docker Container
Executing Terraformize is as simple as launching a Docker container. Use the following command:
docker run -d -p 80:80 -v /path/to/my/terraform/module/dir:/www/terraform_modules naorlivneterraformize
2. Prepare Your Terraform Module
Create a folder, named terraformize_test, to house your Terraform configurations. Make sure you keep it simple for starters.
mkdir terraformize_test
Now, within this folder, create a basic Terraform configuration file, ensuring it functions properly when executed directly through Terraform:
resource null_resource test {
count = 1
variable test_var {
description = "an example variable"
default = "my_variable_default_value"
}
output test {
value = var.test_var
}
}
3. Interact with Terraformize
Once your modules are ready, you can invoke them through Terraformize’s API. Here’s how to make a request to run a Terraform apply:
curl -X POST http://127.0.0.1/v1/terraformize_test/my_workspace \
-H "Content-Type: application/json" \
-d '{"test_var": "hello-world"}'
To delete resources, simply replace POST with DELETE in the above command.
Troubleshooting Common Issues
While Terraformize simplifies infrastructure management, you may encounter issues. Here are some troubleshooting tips:
- Check the Docker container logs to troubleshoot errors during execution.
- Ensure your Terraform modules are properly configured and validated against Terraform itself.
- If the API does not respond, verify the service health by accessing the health endpoint:
GET /v1/health.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Final Thoughts
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

