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.