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.

5333

📘

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.