Terraform
- Use
IaC
to provision and manage any cloud, infrastructure or service Declarative
configuration files- Create a
reproducible
infrastructure Terraform Cloud
is an alternative to the cli. It's a UI tool that allows CI/CD automation with .tf files
Terraform files
.terraform/
: folder with provider binaries.terraform.lock.hcl
: lock version of providers.terraform.tfstate
: state file (not necessarily in sync with the real/current state).terraform.tfstate.backup
: last local state*.tf
: desired state
Providers
- Major Providers: AWS, Azure, GCP, Openstack
- Utilities: e.g., random name generator
-
Search for providers on
terraform registry
: https://registry.terraform.io/browse/providers
Modules
- Modules allows managing complex resources in a simpler manner. E.g., EKS clusters that have several dependencies
- EKS: https://github.com/terraform-aws-modules/terraform-aws-eks