What Is New in Terraform 0.1
The initial release of Terraform 0.1 establishes the core workflow of infrastructure as code. It introduces the foundational concepts of writing, planning, and applying configurations to manage service lifecycle.
| Category | Description |
|---|---|
| Core Concepts | Introduction of configuration files, execution plans, resource graphs, and change application. |
| Providers | Initial support for AWS and basic local file management. |
| State Management | Local state file creation to track managed infrastructure. |
| CLI Workflow | Basic commands: terraform plan, terraform apply, terraform destroy. |
How does Terraform 0.1 handle infrastructure changes?
Terraform 0.1 uses a declarative model where you define the desired end state of your infrastructure. The core innovation is the execution plan, which shows what actions Terraform will take before making any changes.
This plan is generated by comparing your configuration files against the current state recorded in the terraform.tfstate file. You get a clear preview of creates, updates, or destroys, which prevents unexpected modifications to your live environment.
What providers were available at launch?
The initial release shipped with support for AWS, which was the primary cloud target. This let users provision EC2 instances, S3 buckets, and other fundamental AWS resources.
A basic local provider was also included for managing simple entities like files on disk. This was crucial for testing the core Terraform workflow without needing cloud credentials immediately.
Why is the state file so important in this version?
The state file acts as Terraform's source of truth for the real world. In 0.1, it's a simple JSON file stored locally that maps your configuration to the actual resources that exist.
This state is used to calculate diffs and create the execution plan. Without it, Terraform wouldn't know which resources it already manages, leading to potential duplication or orphaned infrastructure.
FAQ
Can I use Terraform 0.1 for production workloads?
No, this is a very early alpha release. It lacks critical features like remote state, state locking, and a robust provider ecosystem. It's purely for experimentation with the core concepts.
How do I manage secrets like AWS keys in this version?
You have to hardcode them directly into your configuration files or source them from environment variables. There is no dedicated secrets management system in 0.1.
What happens if I manually delete a resource managed by Terraform?
The state file will be out of sync. On the next run, Terraform will try to create a new resource because it believes the old one still exists. You would have to manually edit the state file to correct this.
Is module support available in Terraform 0.1?
No, the concept of modules to organize and reuse configuration came in a later version. All code is written in a single set of .tf files.
Can I use this to manage anything besides AWS and local files?
Not out of the box. The provider system exists, but the ecosystem of providers for other clouds like Azure or GCP had not yet been developed for this initial release.