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 are represented as Terraform Components, which are essentially some runners which will run scripts to apply the Terraform module and handle the state.

πŸ“˜

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, Bunnyshell applies the Terraform modules in sequence with other kinds of Components (Helm, KubernetesManifest, GenericComponent), in the order in which they appear in bunnyshell.yaml.

πŸ“˜

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.