Terraform Overview
In this guide, you will be adding a Terraform Module in Bunnyshell, then attach it to an Environment, thus adding the capability to create an AWS S3 bucket for each Environment.
Continuation of the Quickstart Guide
This section is the continuation of the Bunnyshell Quickstart Guide. This guide relies the existing Environment created in the Quickstart Guide.
No matter the Learning Path you took in the Quickstart Guide (Helm or Docker-compose), the Terraform Module guide is the same, as once an Environment is created in Bunnyshell, it is used the same, no matter the method through which it was created.
Terraform Modules in Bunnyshell & in Environments
In Bunnyshell, Terraform Modules can be created at a Project level, thus allowing you to abstract complexity and require minimum needed configuration when the module is used.
The use of a Bunnyshell Terraform Module in an Environment is called a Terraform Module Attachment in Bunnyshell. It usually has a few options to configure by the developers, so things are very simple during day-to-day use.
A module may be used / attached more than once in a single Environment.
See more
For in-depth information about Terraform, please see the dedicated Terraform documentation page.
The Deployment Flow & Terraform Modules
When an environment is deployed, in parallel with building the container images, Bunnyshell applies all the Terraform Modules for an Environment.

More details
For more details regarding the Deployment Flow, please visit the Deploy Workflow page.
Note
You can fork the repository demo-books we used for this tutorial.
The branch
terraform
contains the needed code for both the Terraform Module and the application.
Updated about 1 month ago